线索树的构造思路
(1)首先构造出一棵二叉树
(2)然后将二叉树线索化(1.中序2.先序3.后序)
关于二叉树的建立(方法之一)
(1)用一个字符串来表示二叉树上的元素,其中’#’代表无效结点,然后可以根据自己的需求来调整字符串顺序
char *str = “ABC##DE##F##G#H##”;
希望构建中序遍历是
C B E D F A G H
先序遍历
A B C D E F GH 的二叉树
二叉树建立函数
BinaryNode * CreateTree(char *& str)
{
BinaryNode* s = NULL;
if (*str != '#')
{
s = (BinaryNode*)malloc(sizeof(BinaryNode));
s->data = *str;
s->left = 0;
s->right = 0;
s->leftNode = CreateTree(++str);
s->rightNode = CreateTree(++str);
}
return s;
}
二叉树成功建立了以后是线索化
中序线索化