一、树的定义:
树是 n(n>=0)个结点的有限集合。
当 n=0 时,称为空树。
当 n>0 时,满足:
有且仅有一个根节点(root)
其余节点可分为 m(m>=0)个互不相交的有限集合,每个集合本身也是一棵树,称为根的子树(Subtree)
概念:
-
节点的度---节点所拥有的子树的个数,如上图:b 的度为 2,a 的度为 3
-
树的度---节点中最大的度,如上图:树的度为 3
-
叶子(终端节点)---度为 0
-
分支节点(内部节点或非终端节点)---度不为 0
节点之间的关系:
-
双亲与孩子--节点的子树的根称为该节点的孩子,该节点称为孩子的双亲
-
祖先与子孙---祖先:从根到该节点所经分支上的所有节点,子孙:以某节点为根的子树中的任一节点
-
兄弟与堂兄弟---同一个双亲的节点互为兄弟,双亲在同一层的节点互为堂兄弟
二、二叉树
二叉树具有以下五种基本形态:
-
空二叉树
-
只有一个根节点
-
根节点只有左子树
-
根节点只有右子树
-
根节点既有左子树又有右子树
1.满二叉树:
每个分支节点都有左子树和右子树,叶子节点都在同一层且都是满的

2.完全二叉树:
如果其每个节点的编号与满二叉树中编号从 1 到 n 的节点一一对应,可以不满

重要性质:

3.二叉树的遍历
a.前序遍历:
根 → 左 → 右








