二叉树怎么看

论坛 期权论坛 期权     
__叁月兔   2018-4-28 02:15   6827   4
前序遍历的话 顺序为根-左-右 我觉得应该是FCAEGP 但这样的话 就漏掉了DBH如图一如果按给出的答案推的话 CE应该是父结点 可是书上没有提到父结点 那难道CEDG全是根节点吗?根节点不是只有一个吗?  谢谢,详细有追赏



分享到 :
0 人收藏

4 个回复

倒序浏览
2#
sorthoth  3级会员 | 2018-4-30 01:12:58 发帖IP地址来自
整棵树的根节点只有一个
但每棵子树都有自己的根节点,从这个意义上说FCEDG全是根节点,只是相对不同子树而已
前序遍历是说:根节点-递归遍历左子树-递归遍历右子树
每个子树,同样:它自己的根节点-递归遍历它的左子树-递归遍历它的右子树
关键是,根-左-右,只是说的一次递归而已,并不是整棵树
每次遍历,不是像你标识的那样,F作为根时,左看到C、A,右看到E、G、P
看到F作为根时,左只有C,右只有E
然后看C作为根,左只有A,右只有D
3#
热心网友  15级至尊 | 2018-4-30 01:12:59 发帖IP地址来自
前序遍历的话 顺序为根-左-右 应该是FCADBEHGP
二叉树是一种递归结构,我们可以以根来命名一颗二叉树,前序遍历的话 顺序为根-左-右的这个说法是,先访问根,然后再分别前序遍历左右子树。
所以,对于你的图中的树(F为根,称为树F)来说,先根,那么先输出F(1,这个表示输出这个节点所在的序号);
然后先序遍历其左子树(树C)。那么对树C,又要先序遍历其根,也就是要输出C(2);
接下来是C的左子树(树A),这个左子树只有一个根节点A,则输出A(3);
再接下来是C的右子树(树D),仍然先根,则输出D(4)
       下来就是D的左子树(树B),先根则输出B(5);下来就是D的右子树,D的右子树空; 则至此,D的右子树已遍历完,也就是说C的右子树也遍历完成;
在后面就是F的右子树E了,同上面的过程,可以得到EHGP
4#
limmea  2级吧友 | 2018-4-30 01:13:00 发帖IP地址来自
根节点只有一个就是F 因为她的定义是“没有双亲节点的节点” CE显然不满足 而从整体看 F有两颗子树 其中左子树是以E为根节点的子树 明白了么 二叉树的定义就是递归掉用得来的 要明确范围 先序是根节点 然后左子树 左子树也是一棵树 同样从根节点开始数 F的左子树都数完后 才能进行右子树
5#
Steven8犟  4级常客 | 2018-4-30 01:13:01 发帖IP地址来自
既然是遍历,肯定要访问所有节点,先访问根节点然后是它的左子树,再是它的右子树。把子树当成一颗完整的树,访问子树也需要先访问它的根节点,再访问子树的左子树,再访问子树的右子树,如此反复下去直到访问完这颗二叉树。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP