[软考]之树与二叉树的遍历

来源:互联网 发布:零式战斗机 知乎 编辑:程序博客网 时间:2024/05/10 12:54

  上一篇博客我们讲解了树与二叉树的组成等规则,这篇博客我们来说一下树和二叉树的遍历问题。


  什么是树,二叉树?


    对于这个还不清楚的可以去看我的上一篇博客:[软考]之树和二叉树下面咱们直接来看一张树和二叉树的图。二叉树只是树的一种特殊形式,即每个根只有至多两个子树,当然如果愿意,你也可以自己定义三叉树,四叉树。。。。。




    树的遍历


首先应该知道,树的遍历有三种:先序遍历、后序遍历、层次遍历。二叉树的遍历与树的遍历相同,但是多了一种中序遍历(相当于广度优先遍历),下面咱们以上图为例来讲解如何进行树和二叉树的遍历。


      先序遍历


先序遍历的顺序是根、左、右,对于任一子树,都按照根、左、右的顺序来遍历,下面来遍历咱们的图:

树:A B E F C D G I H

二叉树:A B D H I E C F G


      后序遍历


后序遍历的顺序是左、右、根,对于任一子树,都按照左、右、根的顺序来遍历,下面看咱们图的遍历:

树:E F B C I G H D A

二叉树:H I D E B F G C A


      层次遍历


层次遍历的顺序是按照顺序,一层一层的进行遍历,这个比较简单,直接上结果:

树:A B C D E F G H I

二叉树:A B C D E F G H I


最后这个中序遍历对于二叉树才有意义,树的遍历用不到这个,因为树的子树可能不止两个,可能有很多个,大家注意一下。


      中序遍历


中序遍历的顺序是左、根、右,对于任一子树,都按照左、根、右的顺序来遍历,下面看看咱们的遍历:

树:无

二叉树:H D I B E A F C G


以上就是树和二叉树的遍历,对于前三种,其实树和二叉树的遍历是一样的,只有中序遍历是二叉树有而树所没有的。对于二叉树地先中后遍历来说,其实都是指根的位置,比如先:根左右,中:左根右,后:左右根,是不是超级简单了!

0 0
原创粉丝点击