zoukankan      html  css  js  c++  java
  • 树结构

    一、 树

    1. 树的定义

      树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素;它是n(n>=0)个结点的有限集合,当n=0时称为空树。在任意飞空树中有且仅有一个称为根的结点;

      树的基本概念

      a. 双亲、孩子和兄弟。结点的子树的根称为该结点的孩子,该结点称为其子结点的双亲(parent)。具有相同双亲的结点互为兄弟。

      b. 结点的度。一个结点的子树的个数即为该结点的度。度数最大的结点的度称为树的度。

      c. 叶子节点。度为0的节点,也称终端结点。

      d. 内部结点。度不为0的节点(包括根节点),也称分支结点或非终端结点。除根节点以外,分值结点也称为内部结点。

      e. 结点的层次。根为第一层,根的孩子为第二层,依此类推。

      f. 树的高度。一棵树的最大层数记为树的高度(或深度)。

      g. 有序(无序)树。若将树中结点的各子树看成是从左到右具有次序的,即不能交换,则称为改树为有序树,否则称为无序树。

    树的遍历:

    前序遍历:125673489(10)  后序遍历:567239(10)841  层次排列:123456789(10)前序遍历:125673489(10)

    后序遍历:567239(10)841

    层次排列:123456789(10)

     

    2. 二叉树的定义

      二叉树是n(n>=0)个结点的有限集合,它或者是空树(n=0),或者是由一个根节点及两棵不相交的且分别称为左、右子树的二叉树所组成。

    二叉树和树是两个完全不同的概念,二叉树并不是特殊的树,树和二叉树的区别如下:

      a. 二叉树中结点的子树要区分左子树和右子树,即使在结点只有一颗子树的情况下,也要明确指出该子树是左子树还是右子树。

      b. 二叉树结点最大度为2,而树中不限制结点的度数。

      

      二叉树的性质:

      a. 二叉树第i层(i>=1)上最多有2i-1个结点。

      b. 高度为k的二叉树最多有2k-1个结点(k>=1)。

      c. 对于任何一颗二叉树,若其终端节点数为n0,度为2的结点数为n2,则n0=n2+1。

      d. 具有n个结点的完全二叉树的深度为⌊log2n⌋+1(“⌊⌋”表示向下取整)

      e. 对一棵有n个结点的完全二叉树的所有结点按层次自上而下、自左至右进行编号,则对于在任一结点i(1<=i<=n)有:

        ① 若i=1,则结点i是二叉树的根,无双亲;若i>1,则其双亲为⌊i/2⌋。

        ② 若2i>n,则结点i没有左孩子,否则其左孩子为2i。

        ③ 若2i+1>n,则结点i没有右孩子,否则其右孩子为2i+1。

      满二叉树、完全二叉树、非完全二叉树:

     二叉树的遍历:

    前序遍历:12457236        

    中序遍历:42785136

    后序遍历:48752631

    层次遍历:12345678

      所谓的前、中、后指的是根节点的访问顺序。中序遍历中根节点左边的都是它的左子树结点,右边都是右子树结点;同样,将2看做左子树的根节点的时候,2左边的都是它的左子树结点,右边的也都是它的右子树结点,依此类推。

    3. 二叉树和树的转换

      请移步:树转换为二叉树小技巧

  • 相关阅读:
    搭建非域AlwaysOn win2016+SQL2016
    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    四、基于Windows 2012配置SQL Server 2014 AlwaysOn
    三、安装SQLserver 2014(For AlwaysOn)
    二、 Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)
    Mybatis-SQL语句构建器类及日志
    Mybatis-JavaAPI
  • 原文地址:https://www.cnblogs.com/ImaY/p/4276498.html
Copyright © 2011-2022 走看看