树:是由n≥0 个结点组成的有穷集合以及结点之间关系组成的集合构成的结构,是一种一对多的数据结构。
特点:
1. 有且仅有一个结点没有前驱结点,该结点为树的根结点。
2. 除了根结点外,每个结点有且仅有一个直接前驱结点。
3. 包括根结点在内,每个结点可以有多个后继结点。
树的术语:
1. 结点的度:该结点拥有的子树的数目。
2. 树的度:树中结点度的最大值。
3. 叶结点:度为0 的结点。
4. 分支结点:度非0 的结点。
5. 层次的定义:根结点为第一层,若某结点在第i 层, 则其孩子结点(若存在)为第i+1层。
6.树的深度: 树中结点所处的最大层次数。如下为h=3
7.树的有序性: 若树中结点的子树的相对位置不能 随意改变, 则称该树为有序树,否 则称该树为无序树。
树的性质
性质1: 树中结点个数等于所有结点的度数加1。
A的结点=3,B结点=3,C结点=1,X结点=2 结点个数=(3+3+1+2)+1=10
性质2: 度为k的树中第i层上至多有k (i -1)次方 个结点(i≥1) 。
k=3 第3层的结点数=3(3-1)=3的2次方=6 所以树为3第三层有6个结点
性质3 深度为h的k叉树中至多有(kh-1)/(k-1)(k的h次方-1/k-1 结点。 满k叉树:结点个数等于(kh-1)/(k-1) 的k叉树。 (kh-1)为k的h次方在减1
性质4 具有n个结点的k叉树的最小深度为logk(n(k-1)+1)。