数据结构 - 02 - 树

1. 数据结构定义

        参见 博文 “数据结构 - 02 - 线性”  https://mp.csdn.net/console/editor/html/107120598

2. 树

        树 是以分支关系定义的层次结构。

        在n个节点的有限集中,

      (1) 有且仅有 一个特定节点 称为 根。

      (2) 其余节点可分为m个互不相交的子树。

3. 二叉树

      在树定义的基础上,增加一点

      (3)每个节点至多只有两颗子树。

3.2. 二叉树的子集

      通过对 二叉树的限定,可以得到一些特性性质的二叉树,譬如 满二叉树、红黑树、大堆、小堆,不拉不拉。。。

 

4. 特定二叉树应用和分析:

4.1 二叉树的遍历

  这里提到的 前中后,都是以中间节点为参考物的。表示访问中间节点的先后顺序。

4.1.1 中序遍历

数据结构 - 02 - 树

  中序遍历就是先访问左节点,再访问根节点,最后访问右节点, 结果为:DBEFAGHCI

4.1.2 前序遍历

数据结构 - 02 - 树

    前序遍历就是先访问根节点,在访问左节点,最后访问右节点,结果为:ABDFECGHI

4.1.3 后序遍历

    数据结构 - 02 - 树

  后序遍历就是先访问左节点,再访问右节点,最后访问根节点。结果为:DEFBHGICA

4.2 满二叉树

    除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。

4.3 大/小堆

  大堆:每个父节点的都大于孩子节点。

  小堆:每个父节点的都小于孩子节点

 

reference:

1.  《数据结构》  ---- 严蔚敏、吴伟民

2.  二叉树遍历详解 https://www.cnblogs.com/du001011/p/11229170.html