天天动画片 > 八卦谈 > 二分法查找,在生活中的简单例子

二分法查找,在生活中的简单例子

八卦谈 佚名 2023-10-08 18:31:12

算法:二分法查找适用于数据量较大时,但是数据需要先排好顺序。主要思想是:(设查找的数组区间为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人情况,从中间开始问:






本文标题:二分法查找,在生活中的简单例子 - 八卦谈
本文地址:www.ttdhp.com/article/40931.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们