• 树与二叉树


    一,基本的概念

    节点:就是图中的1,2,3,4,5,6,7,8

    节点的度:一个节点的孩子节点数。例,节点1的度为2,节点3的度为1,节点,7的度为0

    树的度:他的节点的度数最高的度数。例,上图中,节点度数为2,则树的度为2.

    叶子节点:没有孩子节点的节点。例如上图的4,5,7,8

    分支节点:有孩子节点的节点。例,1,2,3,6

    内部节点:非叶子节点,非根节点。例,2,3,6

    父节点,子节点,这两个概念是相对的。

    兄弟节点:同一个父节点,也包括堂兄对节点,例如,4,5,6

    层次:上图中表示的层数。

    二,特殊的二叉树

    1,满二叉树:没有缺失的部分,他的节点的度为0/2

    2,完全二叉树:除了最下面一层,上面的层都是满的树,最下面一层的节点是从左到右排列的。

    3,非完全二叉树:不符合完全二叉树的条件的树

    三,二叉树的特性

    四,二叉树的遍历

     二叉树遍历有多种方法:前序遍历,中序遍历,后序遍历,层次遍历

    (1)层次遍历:遍历第一层,第二层,。。。第n层(每一层都是从左到右)

    层次遍历的结果:1,2,3,4,5,6,7,8,

    (2)前序

    前序遍历顺序:根节点,左子节点,右子节点

    左边大框为左子树,右面大框为右子树,前序遍历,会先遍历根节点,在左子树,在右子树

    先遍历1节点

    在遍历左子树

    在左子树中

    先遍历根节点2节点,在遍历左边部分4节点,在遍历右边节点,5,7,8

    在遍历根节点的右节点

    遍历顺序:根节点(3),右子节点(6)

    综上前序:12457836

    (3)中序

    中序遍历顺序:左子节点,根节点,,右子节点

               

    与前序类似

    综上前序:42785136

    (4)后序

    后序遍历顺序:左子节点,右子节点,根节点,

     

               

    与前序类似

    综上前序:48752631

     

     5,树转二叉树

    (1)规则

    孩子节点---->左子树节点

    兄弟节点----->右孩子节点

    (2)实例讲解

    从跟节点开始,根节点有三个孩子节点,将作为二叉树的左子树节点

    在三个孩子节点中将最左边的节点作为子节点,另外两个则是兄弟节点,

    按照规则,兄弟节点将作为有右子节点,所以3,4作为2的右孩子节点,由于右

    孩子节点只能有一个,将左边的3作为2 的右子节点,4作为3的兄弟节点,

    同理转换为3 的右子节点。

    在看3的子节点,有三个,同1 的三个子节点一样,5作为3 的左子树节点,

    6作为5的右子树节点,7作为6的左子树节点。

    在看4节点,经8,9作为左子树节点,选去左边的8作为左子树节点,

    9作为8 的兄弟节点,转化为8的右子树节点。

    结果如图所示

     6,查找二叉树(排序二叉树)

    查找二叉树是一类特殊的二叉树

    特点:

    (1)根节点的左子树节点都比根节点小

    (1)根节点的右子树节点都比根节点大

    意义:

    他能极大地提高查询的速率

    举例说明:

    查找值为56的节点

    (1)传统的方法:用每一个元素与56 相比,知道找到56为止

    (2)查找二叉树:先用根节点与56相比,比56大,就在左子树中继续找,比56小就在右子树中找,大大提高了效率

    7,最优二叉树(哈夫曼树)

    8,线索二叉树

    9,平衡二叉树

  • 相关阅读:
    有关需求规格说明
    软件导论第五周作业-------简单小结
    初用sqlite3.exe
    软件开发与模型
    Difference **面向过程(或者叫结构化)分析方法**面向对象分析方法
    当下互联网创业公司采用增量模型的原因
    第七周作业
    第六周作业
    第五周作业
    第四周作业
  • 原文地址:https://www.cnblogs.com/excellencesy/p/8654299.html
Copyright © 2020-2023  润新知