Binary Search二分法查找
二分法查找是一种在有序的序列中查找元素的有效方法。
最坏时间复杂度是 O(log(n)) , 最好时间复杂度是 O(1)。
朴素查找法
如果一个序列是无序的,就不能使用二分查找了,只能通过一个一个遍历序列来查找。
二分查找思想
二分查找,首先要保证查找的序列是有序的。
- 第一步, 找出序列中间值,将序列分为左半边和右半边。
- 第二步,比较中间值与要查找的键值.
如果相等,即找到对象,返回中间值索引即可。
如果中间值小于键值,将左边界更新为中间值,继续在右半边重复第一到第二步。
如果中间值大于键值, 将右边界更新为中间值,继续在左半边重复第一到第二步。
反复执行以上循环直到找到键值或者序列为空(未找到)。
递推方式实现
递归方式实现
本站采用
知识共享署名-非商业性使用-相同方式共享3.0 中国大陆许可协议
进行许可,转载请注明出处。
推荐使用 chrome 浏览器浏览本站。