算法:二分法查找适用于数据量较大时,但是数据需要先排好顺序。主要思想是:(设查找的数组区间为array[low, high])

举两个生活中的例子。
比如,某小区停电,电工排查路上的电线。
这段线有10km长。如果沿着线路一小段一小段查找,困难很多.每查一个点要爬一次电线杆子,10km长,这里假设共有200根电线杆子.
因此就可使用二分法:设电线两端分别为A、B,他首先从中点C(第100根电线杆)查,用随身带的话机向两端测试时,发现AC段正常,则断定故障在BC段。
然后再到BC中点D,发现BD正常,可见故障在CD段,再到CD中点E来看,这样每查一次,就可以把待查线路长度缩减为一半。
只要经过7次查找,就可以将故障发生的范围缩小到50—100m左右,即在一两根电线杆附近.这样就省了很多精力了.
这个二分法查找,就是利用指数爆炸来进行的。2的七次方是128,差不多就是200根的一半了。这样每次一半一半的测试,很容易就找到故障点。
另一个例子是寻找犯人。以下是书上的截图。
问题:15个人中找犯人,每个人都会说真话。

先以最小的情况——三个人时,只要问中间的人就能得到答案:

15人情况,从中间开始问:

