云莉的技术专题

二分查找 Binary Search Algorithm

2020-04-07  本文已影响0人  云莉6

二分查找的前提

  1. 目标函数单调性(单调递增或递减,支队有序数组有效)
  2. 存在上下界(bounded)
  3. 能够通过索引访问(index accessible)

定义

也称折半搜索算法(half-interval search algorithm)、对数搜索算法(logarithmic search algorithm) 是一种有序数组中查找特定元素的搜索算法。

复杂度

代码模版

left, right = 0, len(array) - 1 

while left <= right: 

  mid = (left + right) / 2 

  if array[mid] == target: 

    # find the target!! 

    break or return result 

  elif array[mid] < target: 

    left = mid + 1 

  else: 

    right = mid - 1
上一篇下一篇

猜你喜欢

热点阅读