3-1 从二分查找法看如何写出正确的程序

3-1 从二分查找法看如何写出正确的程序

如何写出正确的程序

3-1 从二分查找法看如何写出正确的程序

3-1 从二分查找法看如何写出正确的程序

  • 设定“循环不变量”,即我们寻找的数据索引一定在该范围中:[l .. r]。
  • 数组中可查找的数据的索引范围为:[0, n-1],前闭后闭。
  • 设置循环结束条件:当 l <= r,区间 [l ... r] 依然是有效的,数组中仅包含一个元素
  • 设置返回条件:
    • arr[mid] == target,返回mid
    • arr[mid] > target,target在 [mid+1 ... r]中
    • arr[mid] < target,target在 [l ... mid]中
  • 设置函数最终的返回值:当l > r,依然没有找到target,那么返回-1