数据结构+算法=程序
程序+设计模式=框架

0%

二分查找适用于对于有序数组的精确查找,例如从一个有序数组中找到指定元素的索引,可将时间复杂度从普通枚举的$ O(n) $降至$ O(log n) $,前提是数组必须是有序的,否则是没有办法使用二分查找的。
二分查找的思想虽然简单,不过在实现过程中会有很多细节问题需要注意,例如判断循环是用left < right还是用left <= right,right是取最右的元素还是取数组的边界。本文想通过七个例题,约定一种规则或是模板,从此让写二分查找不再出现模棱两可的局面。

阅读全文 »