二分法查找的问题1、在有序列表(3、6、8、10、12、15、16、18、21、25、30)中用二分法查找12所需的比较

1个回答

  • 一点不矛盾:

    第一个:找的顺序是15 8 10 12

    第二个:找的顺序是50 90

    二分法查询的时候,索引是从0开始计算的.这点你要清楚就可以很快明白了/

    比如第一个例子,beginIndex = 0,endIndex = 列表的长度-1,也就是等于10

    midIndex = (beginIndex + endIndex )/2,也就是5.

    15 〉12 ,这时候beginIndex 不变,而endIndex 应该等于midIndex -1了,也就是4,那么下一个我们要验证索引是2的数据了.如此类推

    不知是否明白?