图形化编程-查找之二分查找(课件)2025-2026学年编程通用版
|
11页
|
167人阅读
|
0人下载
普通
内容正文:
第十一课
查找之二分查找
1
二分查找
一
任务挑战
二
小结
三
目录
Contents
Part 01
二分查找
二分查找
小游戏——猜一猜
教师带一个小物品,让学生猜它的价格,请学生说它们的方法。
4
二分查找
二分查找的使用范围:
1、一般是在数组里;
2、数组里面的数是有序排列的
二分查找
二分搜索是一种在有序数组中查找某一特定元素的搜索算法。
数组(列表)下标 0 1 2 3 4
列表元素 3 8 25 71 80
例如:查找25
搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束
mid=(l+r)/2
25
l
r
二分查找
数组(列表)下标 0 1 2 3 4
列表元素 3 8 25 71 80
例如:查找8
搜索过程从数组的中间元素开始,如果中间元素=要查找的元素,则搜索过程结束
mid=(l+r)/2
如果中间元素>查找的元素,则在数组的前半段搜索
如果中间元素<查找的元素,则在数组的后半段搜索
l
r
r=mid-1
mid
l=mid+1
8
如果在某一步骤数组为空,则代表找不到。
二分查找
数组(列表)下标 0 1 2 3 4
列表元素 3 8 25 71 80
使用注意:数组有序排列(常用升序)
mid=(l+r)/2
l
r
使用关键:将要查找的元素和中间元素比较,以及范围的缩小
Part 02
任务挑战
任务挑战
使用二分查找法,在有序数组 a = [2, 3, 4, 10, 40] 里面寻找数 10。
如果寻找到该数,则输出这个数的索引(即在数组中的位置);否则输出 -1(找不到该数)。
思考:是否用到了递归?
Part 03
小结
$