【查找算法】折半查找法

本篇文章将介绍折半查找算法。

何为折半查找?

上一篇文章介绍了顺序查找算法,我们知道,虽然顺序查找算法适用性高,但效率太低,那么能不能在此基础上继续提高算法的效率呢?

这个时候,折半查找诞生了,它的原理是每次都将待查找的记录所在的区间缩小一半,比如:
在这里插入图片描述
若要在该序列中查找元素值4,折半查找是如何做到的呢?

它需要先设置两个游标,一个指向最左边,一个指向最右边:
在这里插入图片描述这两个游标所表示的范围即为查找区间,初始我们在下标为1到10的区间内查找,这个查找也是讲究方法的,不是一个一个地去遍历查找。

我们还需要借助一个游标,用它来表示区间的中间位置:
在这里插入图片描述
这个mid表示的就是区间的中间位置,计算方法为:(low + high) / 2

此时我们让待查找元素值与中间位置元素值比较,若相等,则查找成功,直接返回mid值;

若不相等,此时分为两种情况,待查找元素值比mid位置的元素值大或者比

猜你喜欢

转载自blog.csdn.net/qq_42453117/article/details/104411790