首页 > 试题广场 >

设有序表{1,3,8,14,26,32,45,69,72,7

[单选题]
设有序表{1,3,8,14,26,32,45,69,72,78,80,95,100},当使用折半查找法查找值为95的节点时,()次比较后查找成功
  • 1
  • 4
  • 2
  • 3
四次吧?
发表于 2020-09-13 22:13:15 回复(0)
折半查找法的优点是比较次数少,查找速度快,平均性能好;
其缺点是要求待查表为有序表,且插入删除困难。
因此,折半查找方法适用于不经常变动而查找频繁的有序列表

mid = ( left + right )/2  = 6
left = 0  right = {1,3,8,14,26,32,45,69,72,78,80,95,100}.size() -1 
取表中第6个,也就是45
98>45  ,则在45的右边再次进行查询
{45,69,72,78,80,95,100}    mid_v2= (size()-1 )/2 = 3
则为78
78,80,95,100  依次推则为3
初次了解折半查找法,若有错误,请各位老板多多指点


发表于 2021-01-12 15:06:20 回复(0)
第一次45,第二次78,第三次75
发表于 2020-11-20 21:59:32 回复(1)