二叉树的创建

发布网友

我来回答

2个回答

热心网友

如输入ABCD#
是不能建立一个完整的二叉树的,
代码中以字符'#'判断是否是空结点,有N个结点就会有N+1个空结点。
从代码中可以看出是先序历遍(根-左-右),进行输入的。
如果想得到二叉树:
A
/ \
B C
/ \
D E

就要输入:ABD##E##C##

就是:
A
/ \
B C
/ \ / \
D E # #
/ \ / \
# # # #

热心网友

输入ABCD#,在这个二叉树算法中,B是A左子树,C是B的左子树,D是C的左子树,输入#后,表示D没有左子树,于是程序跳到CreateBitTree(&((*T)->rchile)) ; 这一步,开始创建每个结点的右子树,顺序以创建结点时的相反顺序,即DCBA。这是一个递归地创建二叉树。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com