二分查找,也称为折半查找,是一种高效的查找算法。算法复杂度为O(logn),所以非常适合对数时间复杂度的场合。今天,我们从头到脚来学习一下二分查找。
首先,二分查找能用的前提是该数组有序。因此首先要对待查找数组进行排序操作。
排序完成后,所谓查找就是将目标值与数组中间值进行比较,若相等则返回;若目标值小于中间值,则在左边查找;若目标值大于中间值,则在右边查找。这样每次能排除一半的数组元素,直到结束。
在实际场景中,二分查找算法常用来查找符合某个条件的最大值或最小值,这种情况下需要将mid和目标值进行比较,不断更新mid的值,直到找到符合条件的值。