二分查找原理图解
二分查找:给定数组是有序的,给定一个key值。每次查找最中间的值,如果相等,就返回对应下标,如果key大于最中间的值,则在数组的右半边继续查找,如果小于,则在数组左半边查找,。最终有两种结果,一种是找到并返回下标,第二种是没找到。
下面给个例子说明一下:
有一个数组arr[10];
0 1 2 3 4 5 6 7 8 9
3 |
6 |
7 |
10 |
11 |
16 |
20 |
33 |
56 |
89 |
定义两个边界下标low和high,定义中间下标mi