5.3数据排序——冒泡排序 课件-2022-2023学年浙教版(2019)高中信息技术选修1

2023-05-22
| 14页
| 2009人阅读
| 25人下载
特供

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版选修1 数据与数据结构
年级 高二
章节 5.3 数据排序
类型 课件
知识点 -
使用场景 同步教学-新授课
学年 2023-2024
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 540 KB
发布时间 2023-05-22
更新时间 2023-05-22
作者 匿名
品牌系列 -
审核时间 2023-05-22
下载链接 https://m.zxxk.com/soft/39212233.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

5.3数据排序 ——冒泡排序 1 冒泡排序 冒泡排序是在一系列数据中对相邻两个数依次进行比较和调整,让较大的数“下沉(上冒)”,较小的数“上冒(下沉)”的一种排序技术。 算法思想 升序时:大则交换,使得从前向后比较时________下沉; 降序时:小则交换,使得从前向后比较时________下沉。 大数 小数 冒泡排序 29 36 39 38 44 36 29 39 38 44 36 39 29 38 44 36 39 38 29 44 36 39 38 44 29 ② ① ③ ④ 初始值 第1遍加工 第1遍加工: i:_____,j:_________。比较_____次,交换___次。 1 [0,n-2] d[0] d[1] d[2] d[3] d[4] d[j]与d[j+1]比较 4/n-1 4 冒泡排序 39 36 38 44 29 39 38 36 44 29 39 38 44 36 29 36 39 38 44 29 ② ① ③ 初始值 第2遍加工 第2遍加工: i:_____,j:_________。比较____次,交换____次。 2 [0,n-3] d[0] d[1] d[2] d[3] d[4] d[j]与d[j+1]比较 3 3 冒泡排序 39 38 44 36 29 39 44 38 36 29 39 38 44 36 29 ② ① 初始值 第3遍加工 第3遍加工: i:_____,j:_________。比较____次,交换____次。 3 [0,n-4] d[0] d[1] d[2] d[3] d[4] d[j]与d[j+1]比较 2 1 冒泡排序 44 39 38 36 29 ① 初始值 第4遍加工 第4遍加工: i:_____,j:_________。比较____次,交换____次。 4 [0,n-5] d[0] d[1] d[2] d[3] d[4] d[j]与d[j+1]比较 1 1 39 44 38 36 29 冒泡排序 d=[29,36,39,38,44] n=len(d) for i in range(_________):#加工遍数 for j in range(________):#每遍加工范围 if d[j]<d[j+1]:#降序排序 ___________________#交换 print(d) 确定数据加工遍数 确定每一遍加工的范围 相邻比较,逆则交换 1,n 0,n-i d[j],d[j+1]=d[j+1],d[j] 冒泡排序小结 初始值 1遍加工: 比较4次 交换4次。 2遍加工: 比较3次 交换3次。 3遍加工: 比较2次, 交换1次。 4遍加工: 比较1次, 交换1次。 有比较不一定有交换。 交换次数<=比较次数 n个数据比较次数为? n个数据交换次数为? 比较与交换 29 36 39 38 44 36 39 38 44 29 39 38 44 36 29 39 44 38 36 29 44 39 38 36 29 (n-1)+(n-2)+...+1=n*(n-1)/2 0——n*(n-1)/2 冒泡变式 d=[29,36,39,38,44] for i in range(_________):#加工遍数 for j in range(________):#每遍加工范围 if d[j]<d[j+1]:#降序排序 ___________________#交换 print(d) i表示遍数 j表示数组下标 0 1 2 3 0,n-1 0,n-i-1 d[j],d[j+1]=d[j+1],d[j] i的范围:______________j的范围:______________ 0—n-2 0—n-i-2 29 36 39 38 44 [0,n-2] [0,n-3] [0,n-4] [0,n-5] 冒泡变式 思考:若想要实现n个数据从后往前降序排序该如何改写上述代码? d=[29,36,39,38,44] n=len(d) for i in range(_________):#加工遍数 for j in range(________):#每遍加工范围 if d[j]<d[j+1]:#降序排序 ___________________#交换 print(d) i表示遍数 j表示数组下标 1 [0,n-2]

资源预览图

5.3数据排序——冒泡排序  课件-2022-2023学年浙教版(2019)高中信息技术选修1
1
5.3数据排序——冒泡排序  课件-2022-2023学年浙教版(2019)高中信息技术选修1
2
5.3数据排序——冒泡排序  课件-2022-2023学年浙教版(2019)高中信息技术选修1
3
5.3数据排序——冒泡排序  课件-2022-2023学年浙教版(2019)高中信息技术选修1
4
5.3数据排序——冒泡排序  课件-2022-2023学年浙教版(2019)高中信息技术选修1
5
5.3数据排序——冒泡排序  课件-2022-2023学年浙教版(2019)高中信息技术选修1
6
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。