PY算法90天挑战--Day8二分查找
Posted 湘信院软件e家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PY算法90天挑战--Day8二分查找相关的知识,希望对你有一定的参考价值。
今天的算法是有序序列上的二分查找。这个算法非常的有意思,它可能是最容易理解的算法,也可能是最难正确实现的算法之一。
二分查找
二分查找也被称为折半查找,是在一个有序数组中查找特定元素位置的查找算法。二分查找要求查找序列采用顺序存储,且按关键字有序排列。
据 Sedgewick 所说,二分查找最先出现在上个世纪50年代,但是直到60年代中期才出现了第一个正确的实现。在2006年,Java 库中关于二分查找的程序仍然因 Bug 的出现不得不被修复。实现一个完美的二分查找是有一定的难度的,要充分考虑到它的退出条件和中间点的计算。
算法思路
· 从中间元素开始搜索。如果正好是要搜索元素,则搜索结束。
· 如果不等,则在大于或者小于要搜索元素的那一半执行二分查找。
· 如果在某一步后要查找的数组为空,则代表找不到。
这种算法每一次比较都使搜索范围缩小一半,因此非常高效。
算法实现
以上是关于PY算法90天挑战--Day8二分查找的主要内容,如果未能解决你的问题,请参考以下文章