[一些基础算法的小心得] -- 二分搜索算法

对分搜索算分也叫二分搜索算法也叫,英文则是binary-search  algorithm。其概念非常的基础,这里不再描述。但问题是我们能否不加思考的写出一个二分搜索算法并一次运行成功呢?

我们知道其核心部分的伪码非常简单(短):

WeChat Screenshot_20191105230816

并且我们也知道,对于一个规模为n的已排序数组,任何基于比较的搜索算分所需最坏情况时间为O(n)。

那么下面这种算法是否正确呢?如果正确的话,最坏情况时间是什么?

WeChat Screenshot_20191105231756

那么下面这种算法呢?

WeChat Screenshot_20191105232144

以上三种写法,你能区分出哪种是正确的哪种是不正确的吗,不正确的部分是哪里如何修改呢。下面这种算法是否正确呢?

WeChat Screenshot_20191105232805

posted @ 2019-11-05 23:29  Lidong_Jia  阅读(...)  评论(... 编辑 收藏