内容正文:
猜数”魔法“之
二分查找
请找出数字”56“
你想怎么找?
你想怎么找?
方法一:____________________________________
_____________________________________________
方法二:____________________________________
_____________________________________________
一张一张翻开来看,看到56就停下来。
从中间翻起,看是“大了”还是“小了”,
再决定往哪边找。
同学 找到纸牌所用的次数
同学1
同学2
同学3
同学4
找到1至10的中间数是5。
目标数比中间数大
7
1
2
3
4
5
6
7
8
9
10
将左边数全部移出,查找范围缩小至6至10.
排除一半的数
1
2
3
4
5
6
7
8
9
10
7
6至10的中间数是8,7比8小。
目标数比中间数小
7
6
7
8
9
10
将右边数全部移出,查找范围缩小至6至7。
排除一半的数
7
6
7
8
9
10
继续寻找中间数。
目标数比中间数大
7
6
7
将左边的数移出查找范围。
排除一半的数
7
6
7
剩余的最后一个数是7,和目标数相等,查找结束。
目标数与中间数相等
7
7
二分查找法
寻找有序数列的中间数,然后与目标数进行比较,看是否是查找的目标数,如果不是,可以得知目标数在数列中间数的左边还是右边。每查找一次,就能把查找范围缩小一半,重复执行以上操作,就能快速地找到目标数,这样的查找方法叫二分查找法。
1秒=1000000微秒
60秒=1分钟
60分钟=1小时
24小时=1天
10000000000000×4÷1000000÷60÷60÷24≈463(天)
如果采用二分查找法,最坏的情况又需要多少时间呢?
第1次:10000000000000÷2=5000000000000
第2次:5000000000000÷2=2500000000000
……
第43次:2÷2=1
如果数列是无序的,还能使用二分查找法吗?
二分查找法有一个重要前提数列必须是有序的。
生活中,还有哪些地方可以用到二分查找法呢?
1.___________________________________________
_____________________________________________
2.___________________________________________
_____________________________________________
查字典时,先翻到中间页,根据读音或部
首缩小范围。
图书馆找书。
下 课!
Lavf58.29.100
Packed by Bilibili XCoder v2.0.2
$