zoukankan      html  css  js  c++  java
  • 软路试--就像一棵树活着

            余先生说:我们中的每一个,它应该成长就像一棵树。即使是现在,我们什么都不是,但就我希望你有树的种子,即使你是对土壤的一个中间步骤。您还可以吸收土壤中的养分,他们的成长起来。后,遥远的地方,人们就能看到你。走近你。你能给人一片绿色。活着是漂亮的风景。死了依旧是栋梁之才。活着死了都实用。这就是我们每个同学做人的标准和成长的标准,开头小编先罗嗦一下,给各位小伙伴来一段心灵鸡汤,今天我们的知识点就从树開始说起。

            树,原指木本植物之总名,主要由根、干、枝、叶、花、果组成。随着计算机的发展。在数据结构中树被引申为由一个集合以及在该集合上定义的一种关系构成的。由根结点和若干颗子树构成的。二叉树是每一个节点最多有两个子树的有序树。

    二叉树常被用于实现二叉查找树和二叉堆。

    值得注意的是,二叉树不是树的特殊情形。在图论中,二叉树是一个连通的无环图,而且每一个顶点的度不大于2。

    有根二叉树还要满足根结点的度不大于2。

    有了根结点后,每一个顶点定义了唯一的根结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。软考和自考中多处设计到树和二叉树,今天就树和二叉树。小编做个简单的总结。小伙伴一起学习ha。

           该博文小编主要从三个方面进行解说,首先基本概念,其次树的遍历,最后二叉树的遍历,首先我们来看以下一张图,结合这张图,小编来解说一下树的基本概念:

            树的基本概念

            

            树的度:全部结点度其中,度最高的一个。

    (上图树的度是3)。
            叶子结点:如图中,3、5、6、7、9、10,都属于叶子节点。即叶子节点指的是度为0的节点。


            分子结点:除了叶子结点,其它的都称为分之结点。和叶子结点构成互补的关系。图中1、2、4、8。
            内部结点:分之结点除了根结点以外的,图中2、4、8。
            父结点:如5号结点就是2号结点的子结点。
            子结点:2号结点是5号结点的父结点。
            兄弟结点:5、6、7称为兄弟结点,出自同一个父亲2号结点。这三个概念是一个相对的概念。
            层次:0层、1层、2层、3层。


            另一个公式:总结点=全部度结点的和+1(应该是父结点)

           树的遍历

            我们还是来看以下这张图:

            

          前序遍历:先从根部出发。然后由左向右。一颗一颗树来完毕遍历。先訪问根再訪问叶子结点。这就是我画出来的前序遍历图。箭头的方向表示遍历的顺序,a为起点。

            

           前序遍历的结果为1、2、5、6、7、3、4、8、9、10。

           后序遍历:顾名思义。就是从叶子结点出发,先遍历叶子结点再到根结点。最后到父结点。我画出顺序可能会更直观点。例如以下图:

            

           后序遍历的结果是:5、6、7、2、3、9、10、8、4、1。

           层次遍历:按0层、1层、2层、3层,从左到右来遍历。

           

          结果是:1、2、3、4、5、6、7、8、9、10
          我们接着就能够来理解二叉树的重要的特性:
          我们找五颗二叉树来进行分析:相互进行对照分析,例如以下图:

          

          1、二叉树中,第i层上最多有2的i次方个结点(i>=0)。这个非常基本。这也是二叉树和树的差别。
          2、深度为K的二叉树至多有2的(k+1)次方 -1个结点(k>=0)。(深度为二叉树中层数最大的叶节点的层数)。满二叉树的深度为2,则共同拥有7个结点。


         3、对不论什么一颗二叉树,假设其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1;(一定不要忘了根结点的度也是2)。

            二叉树的遍历

            结合以下这张图说说二叉树的遍历

          

          首先,我们来看前序遍历,例如以下图:

           

           遍历的结果是:1、2、4、5、7、8、3、6。从根结点分两部分,先把左边的遍历完,都是从左到右的。

           中序遍历,例如以下图

           

            中序遍历的结果4、2、7、8、5、1、3、6.

            后序遍历,例如以下图:

            

            后序遍历的结果为4、8、7、5、2、6、3、1。

            层次遍历,例如以下图:

            

           层次遍历的结果为1、2、3、4、5、6、7、8。

           小编结语:整篇博文从简单的一些概念说起,其次树的遍历。最后二叉树的遍历,对于树和二叉树的相关知识小编就介绍到这里,欢迎小伙伴们一起学习交流,软考之路。未完,待续......


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    python模块整理9ini配置ConfigParse模块
    python模块整理12pdb调试模块
    django临时
    django实战1使用视图和模板显示多行
    python模块整理10xml.dom.minidom模块
    django_book学习笔记1django介绍
    构建之法阅读笔记 01
    人月神话阅读笔记 06
    人月神话阅读笔记 05
    第四周学习进度
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4821626.html
Copyright © 2011-2022 走看看