二叉树总结就由引入该图开始。
一般来说,关于二叉树算法都是由定义的结构体开始的。
结构体定义分为三个结构,一个数据域,一个左孩子指针和一个右孩子指针,借助于结构体,就可以对二叉树进行各种操作。
————————————————————————————————————————————————————————
首先,根据这个二叉树,我们可以知道根节点A,将其地址设为根节点T。那么,T的类型就可以写为:BiNode *T或BiTree T。根节点的数据即T->data。左孩子节点B的数据即T-lchild,节点C的数据是T->lchile->lchile。
————————————————————————————————————————————————————————
二叉树的建立:
①先序遍历建立二叉树
建立二叉树,我们可以想到一棵树,我们只有从根部开始,沿着根部找啊找,找到其他子树。
所以二叉树也是如此,我们找到根节点T,从根节点开始往下找这棵树的左右子树。
由这个思路,我们即想到了递归算法。
例如:现在我们已经知道图示的二叉树,按先序序列读入字符的顺序为:ABC@@DE@G@@F@@@(@表示空树)
递归体: 要注意,最后要返回根节点。
②根据先(后)序和中序建立二叉树
现以 先序序列:abdegcf
中序序列:dbgeafc