二分查找时的中位数选取

今天无聊写了个二分查找,,心血来潮看一下数据量和它二分的次数,最后输出的结果却有点奇怪

这可不是我学过的2分查找,10个数据不是应该2分个4次的吗

仔细分析了一下,发现问题出现在中间点的选择上 像我这个例子中有10个元素 index 0-9 如果mid= (start +end) /2 的话,中间点总是会偏左一点

相信很多人都会忽略了这个问题,但这会让2分的次数增加,所以这种索引从0开始的数组如果找中间点 建议写成 mid=(start+end+1)/2 这样

这才是我学过的2分查找!

我的水平有限,可能看不到真正的问题,如果有不对的地方欢迎指正。

人之所以有一张嘴,而有两只耳朵,原因是听的要比说的多一倍。

二分查找时的中位数选取

相关文章:

你感兴趣的文章:

标签云: