zoukankan      html  css  js  c++  java
  • [软考]之树与二叉树的遍历 2015-10-04 16:07 898人阅读 评论(22) 收藏

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


      什么是树,二叉树?


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




        树的遍历


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


          先序遍历


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

    树: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


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

  • 相关阅读:
    数组的完全随机排列算法
    css超出2行部分省略号...
    前端面试题精华总结
    在地址栏输入网址后页面是如何呈现的?
    document.write和innerHTML的区别
    js运算符单竖杠“|”与“||”的用法和作用介绍
    border:none与border:0的区别
    如何实现浏览器内多个标签页之间的通信?
    js 关键字 in 的使用方法
    msyql: navicat 连接时msyql遇到的问题
  • 原文地址:https://www.cnblogs.com/zhemeban/p/7183136.html
Copyright © 2011-2022 走看看