作者bnm51315 (辛苦的耕耘)
看板TransCSI
标题Re: [问题] 二元搜寻法问题?
时间Mon Apr 13 04:42:27 2009
※ 引述《kenny607013 (Kenny)》之铭言:
: 使用二元搜寻法(binary search),在2000笔资料中,搜寻某一特定资料,最多会比对几次?(A)100(B)11(C)50(D)1000
: 解答是给(B)11
: 我不确定要怎麽算
: 用二元演算法算吗?
: /
它的算法是
以2为底取对数所得的值
以本题来说
就是log 2000
2
算出来的值是10.~
所以取成11 ( 因为是最多比对几次 )
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.22.18.79
1F:推 RJking:原理是每次取中间的资料比对,没找到的话比中间小就找左半 04/13 22:38
2F:→ RJking:部,比中间大就找右半部(假设资料由小到大排序过)直到中间 04/13 22:39
3F:→ RJking:的值为要搜寻的值为止...好像原PO应该已经知道了 04/13 22:40
4F:→ RJking:所以数值小的话画BST求树高,数值大的话用bnm51315大的作法 04/13 22:43