【说明】:博客内容选自课程课件
已知长度为12的表:
(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
要求完成以下操作:
1.若对表中元素先进行排序(字典序),构成有序表,并求其在等概率的情况下,对此有序表查找成功时的平均查找长度;
2.按表中元素的顺序依次插入生成一颗二叉排序树(初始为空),并求其在等概率的情况下查找成功时的平均查找长度;
3.按表中元素的顺序构造一颗二叉平衡树,并求其在等概率的情况下查找成功的平均查找长度;
(Apr, Aug, Dec, Feb, Jan, Jul, Jun, Mar,May,Nov ,Oct, Sep)
1. 有序表:先排序,然后采用折半查找
(Apr, Aug, Dec, Feb, Jan, Jul, Jun, Mar,May,Nov ,Oct, Sep)
3 4 2 3 4 1 3 4 2 4 3 4
ASL = (1×1+2 ×2 +3 × 4 +4 ×5 ) / 12 = 37 /12
5. 二叉平衡树的高度
对于AVL树来说,如果结点个数为 n,最大深度 h ?
设AVL树的高度为h,这个AVL树中最少含有多少个结点?记最少结点个数为 Nh ,则:
h=0,空树: N0 = 0
h=1,仅有根结点: N1 = 1
h > 1 :Nh = Nh-1 + Nh-2 +1