第八章查找补充业解答(Java版).docVIP

  • 2
  • 0
  • 约8.23千字
  • 约 5页
  • 2016-10-07 发布于贵州
  • 举报
第八章查找补充业解答(Java版)

第八章查找 作业解答 1.画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。 解:求得的判定树如下: ASL成功=(1+2*2+4*3+3*4)/10 =2.9 2.已知如下所示长度为12的表(Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec) 在等概率情况下查找成功的平均查找长度为: ASL成功=(1+2*2+3*3+4*3+5*2+6*1)/12=42/12=3.5 (2) 分析:对表中元素进行排序后,其实就变成了对长度为12的有序表进行折半查找了,那么在等概率的情况下的平均查找长度只要根据折半查找的判定树就很容易求出。 长度为12的有序表进行折半查找的判定树如下图所示: 所以可求出: ASL成功=(1+2*2+4*3+4*4)/12=33/12 3. 基于SeqList类,设计带监视哨的顺序查找算法,要求把监视哨设置在n号单元(其中n为查找表的表长)。 解: int seqSearchwithGuard(Compareable key) { int n=length(); r[n].setKey(key); //置哨兵 for (i=0; r[i].getKey().coppareTo(key)!=0; i++);

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档