文章目录
1. 二分查找算法介绍
「二分查找算法(Binary Search Algorithm)」:也叫做 「折半查找算法」、「对数查找算法」。是一种在有序数组中查找某一特定元素的搜索算法。
基本算法思想:先确定待查找元素所在的区间范围,在逐步缩小范围,直到找到元素或找不到该元素为止。
二分查找算法的过程如下所示:
- 每次查找时从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;
- 如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。
- 如果在某一步骤数组为空,则代表找不到。
举个例子来说,给定一个有序数组 [0, 1, 2, 3, 4, 5, 6, 7, 8]
。如果我们希望查找 5
是否在这个数组中。
- 第一次区间为整个数组
[0, 1, 2, 3, 4, 5, 6, 7, 8]
,中位数是4
,因为4
小于5
,所以如果5
存在在这个数组中,那么5
一定在4
右边的这一半区间中。于是我们的查找范围变成了[4, 5, 6, 7, 8]