求教一道算法基础题谢谢

youlingsxcn 2008-09-25 01:30:44
对于长度为11的顺序存储的有序表,若采用折半查找(向下取整),则找到第5个元素需要与表中的 (39) 个元素进行比较操作(包括与第5个元素的比较)。
(39)A. 5 B. 4 C. 3 D. 2
如何算啊~~~ 折半查找原理大概知道~
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sniper_Killer 2008-09-27
  • 打赏
  • 举报
回复
...
  • 打赏
  • 举报
回复
那个公式肯定是在说最坏情况下的查找次数,不能生搬硬套。
比如说你找a[5],第一次比较就找到目标了,这时查找就会结束,用不了那么多次。
youlingsxcn 2008-09-25
  • 打赏
  • 举报
回复
楼上。你跟哪里都受教 呵呵 。。。我今天下午在书店看了本复习材料有个 公式log(2为底)N +1= ? 就是排序的次数 此题log2(11)+1 =4 有时候 带公式算出来 跟答案不对。。现在想想估计是有的题 答案有问题 。。谢谢,1,2楼的 大虾指教~
majiajun_no_9 2008-09-25
  • 打赏
  • 举报
回复
受教了,继续阿楼主
  • 打赏
  • 举报
回复
选B,需要四步

11个元素下标从0到10,记为a[0~10],第五个元素的下标是4,记t=a[4]
第一次与a[(0+10)/2]=a[5]比较,发现t<a[5],范围缩小到a[0~4];
第二次与a[(0+4)/2]=a[2]比较,发现t>a[2],范围缩小到a[3,4];
第三次与a[(3+4)/2]=a[3]比较,发现t>a[3],范围只剩下a[4];
第四次发现t=a[4],顺利找到。
ghyxy 2008-09-25
  • 打赏
  • 举报
回复
长度为11,可以用手画出查找树,一目了然。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧