作者Daiblo2 (要开始做专题罗)
看板TransCSI
标题Re: [问题] 简单二元搜寻的问题
时间Fri Nov 3 11:07:25 2006
※ 引述《choufeng (Timothy)》之铭言:
: 这是我在做分类题库时候我算出来的和解答不一样想请教:
: 现在未排序资料 31 15 22 50 56 102 92 80 78 47 66
: 利用二元搜寻法,寻找资料22,需执行多少次才可完成任务?
: (A)2次
: (B)3次
: (C)4次
: (D)5次
: 解答是(A)
我觉得那本书作者是这样想
第一次先比最中间(第六笔)资料所以比102小往左边搜寻
第二次再比左边中间(第三笔)就找到了
不过这样解怪怪的
因为二分搜寻法一定要先排序好
所以排完後顺序是
15 22 31 47 50 56 66 78 80 92 102
第一次搜寻找到跟56比
第二次搜寻找到跟31比
第三次搜寻找到跟15比
第四次搜寻找到22
不过看你程式怎麽写有人可能只要搜寻3次就行
总而言之假如将这数列排序好最少需要3次才能搜寻到
ps:有写错就请多多指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.232.149
1F:→ choufeng:我也觉得很奇怪为什麽答案是2次,但这本书错误的 11/07 23:28
2F:→ choufeng:错误解答到是蛮多的 11/07 23:28
3F:→ choufeng:不错也许题意是要你没排序下去找吧~我想 11/07 23:30
4F:→ choufeng:不过如果是这样子题目出的很挺差的~让人不知道到底要不排 11/07 23:30