严蔚敏数据结构-清华大学PPT.ppt

严蔚敏数据结构-清华大学PPT

5 算法分析 设表长为n个记录,均分为b块,每块记录数为s,则b=?n/s?。设记录的查找概率相等,每块的查找概率为1/b,块中记录的查找概率为1/s,则平均查找长度ASL: ASL=Lb+Lw=∑ j+ j=1 b ∑ i= i=1 s s ― 1 2 b+1 2 s+1 + 9.2.4 Fibonacci查找 Fibonacci查找方法是根据Fibonacci数列的特点对查找表进行分割。Fibonacci数列的定义是: F(0)=0,F(1)=1,F(j)=F(j-1)+F(j-2) 。 1 查找思想 设查找表中的记录数比某个Fibonacci数小1,即设n=F(j)-1。用Low、High和Mid表示待查找区间的下界、上界和分割位置,初值为Low=1,High=n。 ⑴ 取分割位置Mid:Mid=F(j-1) ; ⑵ 比较分割位置记录的关键字与给定的K值: ① 相等: 查找成功; ② 大于:待查记录在区间的前半段(区间长度为F(j-1)-1),修改上界指针: High=Mid-1,转⑴ ; ③ 小于:待查记录在区间的后半段(区间长度为F(j-2)-1),修改下界指针:Low=Mid+1,转⑴ ; 直到越界(LowHigh),查找失败。 2 算法实现 在算法实现时,为了避免频繁计算Fibon

文档评论(0)

1亿VIP精品文档

相关文档