一、定义与算法描述
- 如果要查找的数据是有序的,二分查找比顺序查找算法更高效。
- 将数组的第一个元素设置为下边界(0)
- 将数组最后一个元素所在的位置设置为上边界(数组长度减1)
- 若下边界等于或小于上边界,做以下操作:
- 将中点设置为上边界加下边界除以2
- 如果中点元素小于查询的值,则将下边界设置为中点元素所在下标+1
- 如果中点元素大于查询的值,则将上边界设置为中点元素所在下标-1
- 否则中点元素就是要查找的数据,直接返回
二、图解
三、代码实现
function binSearch(arr, data) {
var low = 0;
v