树,森林和二叉树的遍历的区分简记

树和二叉树的遍历区分

树的遍历

1.先根遍历(若树非空)

先访问根结点,再依次访问根结点的每棵子树。遍历的时候也需要遵循先根后子树的规则。相当于二叉树的先序遍历。

2.后根遍历(若树非空)

先依次访问根结点的每棵子树,再访问根结点。遍历的时候也需要遵循先子树后根的规则。相当于二叉树的后序遍历。

 

举个例子watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aS05Y-R6IyC5a-G55qE5bCP6IKW,size_20,color_FFFFFF,t_70,g_se,x_16

       经常有小伙伴搞不清为什么树的遍历和二叉树遍历的区别。其实总体上,二叉树是树的一种特例。所以二叉树也满足树的两种遍历方式,只不过因为二叉树分左右两子树,所以有了一种新的遍历方式—中序遍历。

      我们记忆这两种的时候,只需要先搞清楚树的两种遍历,再另外记住二叉树的中序遍历方式就行了。

 

森林

1.先序访问森林(森林非空)对应树的先根遍历

先访问森林中第一棵树的根结点。

先序遍历第一棵树中根结点的子树森林。

先序遍历除去第一棵树之后剩余的树构成的森林。

 

2.中序访问森林(森林非空)对应树的后根遍历

中序遍历第一棵树中根结点的子树森林。

访问森林中第一棵树的根结点。

中序遍历除去第一棵树之后剩余的树构成的森林。

 

举个例子

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aS05Y-R6IyC5a-G55qE5bCP6IKW,size_20,color_FFFFFF,t_70,g_se,x_16

 森林就像树的遍历一样,只不过如果遍历的森林里不止一棵树,那就得遍历多棵树。

森林也可以先转化成二叉树,再进行遍历

(下图的二叉树是由上图转化而来)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aS05Y-R6IyC5a-G55qE5bCP6IKW,size_20,color_FFFFFF,t_70,g_se,x_16

 

最后

部分教材会把森林的中序遍历或后根遍历。其实这两者是等同的。中序遍历这种说法是相对于二叉树而言(将森林转化成二叉树后的后根遍历相当于二叉树的中序遍历)。而后根遍历是相对于其本身而言的,在后根遍历中根确实是最后才被访问的。

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值