1. 树(Tree):非线性数据结构。(包括树和图)
①树的数据结构:
根结点(root):树中没有前驱的结点。(☆一颗树只有一个根结点)
叶子结点(leaf):树中没有后继的结点。
②双亲结点,子女结点:分别为一节点的前驱和后继。
☆根结点无双亲,叶子结点无后继。
☆除根结点外,剩余所有结点向上只有一个双亲。
☆除叶子结点外,剩余结点向下可有多个结点(子女)。
兄弟结点:同一个双亲结点子女结点之间的互称。
③度:
- 结点的度:一个结点的子女的个数。(叶子结点的度为0)
- 树的度:树中度值最大的结点的度。
④树的深度:树的层数。
2.二叉树: 度值最大为2的树
①形态:
②数据结构的表示:
二元组表示法:Relation={ <A,B> <B,D> <B,E> <D,G> <E,H> <E,I> <A,C> <C,F> <F,J>}
广仪表法:根结点(左子女,右子女)
A( B(D(G,),E(H,I)) , C(,F(J,)) )
二叉树的性质:
①任意一棵非空二叉树的叶子结点,总比双分支结点多一个。
证明:双亲角度:n(叶子结点,无子女的)+n1(单分支)+n2(双分支)=
子女角度:n1*1+n2*2+1(无双亲的结点)
结论:n个结点的二叉树有(n-1)边。
② 对二叉树按层编号:0,1,2…..
编号为i的层,有2^i个结点(最大)
☆若一颗h层的满二叉树每一层都达到最大结点数,则称二叉树为满二叉树。2^h-1个结点。
③完全二叉树:一颗h层的完全二叉树,前(h-1)层满,最后一层连续缺失右边结点。
特点:ⅰ.2^(h-1)-1