PY算法90天挑战--Day8二分查找

Posted 湘信院软件e家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PY算法90天挑战--Day8二分查找相关的知识,希望对你有一定的参考价值。

今天的算法是有序序列上的二分查找。这个算法非常的有意思,它可能是最容易理解的算法,也可能是最难正确实现的算法之一。

二分查找

二分查找也被称为折半查找,是在一个有序数组中查找特定元素位置的查找算法。二分查找要求查找序列采用顺序存储,且按关键字有序排列。

Sedgewick 所说,二分查找最先出现在上个世纪50年代,但是直到60年代中期才出现了第一个正确的实现。在2006年,Java 库中关于二分查找的程序仍然因 Bug 的出现不得不被修复。实现一个完美的二分查找是有一定的难度的,要充分考虑到它的退出条件和中间点的计算。

算法思路

·       从中间元素开始搜索。如果正好是要搜索元素,则搜索结束。

·       如果不等,则在大于或者小于要搜索元素的那一半执行二分查找。

·       如果在某一步后要查找的数组为空,则代表找不到。

这种算法每一次比较都使搜索范围缩小一半,因此非常高效。

算法实现


以上是关于PY算法90天挑战--Day8二分查找的主要内容,如果未能解决你的问题,请参考以下文章

14天算法入门-第1天-二分查找

五月集训 (第09天) —— 二分查找

算法算法 二分查找 二分查找 查找多个相同的值

Task 04:数组二分查找

七月集训(第09天) —— 二分查找

六月集训(第09天) —— 二分查找