树
1、结点:树中的一个独立单元。包含一个数据元素及若于指向其子树的分支,如上图树中的所有圆圈。
2、结点的度:结点拥有的子树数称为结点的度。上图树中,A的度为4,B的度为2,G的度为1,K的度为0。
3、树的度: 树的度是树内各结点度的最大值。上图树中,树的度为4。
4、叶子:度为0 的结点称为叶子或终端结点。如上图树中的F、G、H等。
5、非终端结点:度不为0 的结点称为非终端结点或分支结点。除根结点之外,非终端结点也称为内部结点。
6、双亲和孩子:结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲。如上图树中,B的双亲为A,B的孩子为F、G。
7、兄弟:同一个双亲的孩子之间互称兄弟。
8、祖先:从根到该结点所经分支上的所有结点。
9、子孙:以某结点为根的子树中的任一结点都称为该结点的子孙。
10、层次:结点的层次从根开始定义起,根为第一层,根的孩子为第二层。树中任一结点的层次等千其双亲结点的层次加1。
11、堂兄弟:双亲在同一层的结点互为堂兄弟。
12、树的深度:树中结点的最大层次称为树的深度或高度。如上图树的深度为5。
13、有序树和无序树:如果将树中结点的各子树看成从左至右是有次序的(即不能互换),则称该树为有序树,否则称为无序树。在有序树中最左边的子树的根称为第一个孩子,最右边的称为最后一个孩子。
14、森林:是m (m>=0)棵互不相交的树的集合。对树中每个结点而言,其子树的集合即为森林。
二叉树
1、二叉树的5种形态:
- 空二叉树
- 仅有根结点的二叉树
- 右子树为空的二叉树
- 左右树均非空的二叉树
- 左子树为空的二叉树
2、在二叉树的第i层上至多有个结点(i>=1)。
3、深度为k的二叉树至多有个结点(k>=1)。
4、对任何一棵二叉树T, 如果其终端结点数为n,度为2的结点数为m,则n=m+1。
5、满二叉树:深度为k且含有个结点的二叉树,如下图。满二叉树的特点是:每一层上的结点数都是最大结点数,即每一层il的结点数都具有最大值
6、完全二叉树:深度为K的, 有n个结点的二叉树, 当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时, 称之为完全二叉树。如下图。完全二叉树的特点是:叶子结点只可能在层次最大的两层上出现;(2)对任一结点, 若其右分支下的子孙的最大层次为L, 则其左分支下的子孙的最大层次必为L或L+1。
7、 具有n 个结点的完全二叉树的深度为,表示不大于x的最大整数。
8、如果对一棵有n 个结点的完全二叉树(其深度为) 的结点按层序编号(从第1 层到第层, 每层从左到右), 则对任一结点 i (1<=i<=n), 有:
- 如果i =1 , 则结点 i 是二叉树的根,无双亲;如果i>1 , 则其双亲PARENT(i)是结点。
- 如果2i+1>n, 则结点 i 无左孩子(结点 i 为叶子结点);否则其左孩子LCHILD(i)是结点2i=1。
- 如果2i+1>n, 则结点无右孩子;否则其右孩子RCHILD(i)是结点2i+1。