经典查找算法

二分法查找

20210313090428873

二分搜索用于在一个单调或者局部单调有序数组中查找一个符合某些条件的值,时间复杂度为O(logN)

  1. 假设数量为N

  2. 第一次查找位置为 N / 2,第二次查找为N / 4,后面依次为 N / 8...

  3. 那么查找次数与N之间的关系为 2 ^ x = N

  4. 所以,查找次数的时间复杂度的大O记法可表示为 O(logN)(以2为底)

代码示例:

  1. 在一个有序数组中,找出某个数是否存在

  2. 在一个有序数组中,找>=某个数最左侧的位置

  3. 在一个有序数组中,找<=某个数最右侧的位置

  4. 局部最小值问题

最后更新于

这有帮助吗?