首页
高中语文
高中数学
高中英语
高中物理
高中化学
高中历史
高中道德与法治(政治)
高中地理
高中生物
高中音乐
高中美术
高中体育
高中信息技术
高中通用技术
资源详情
高中信息技术
浙教版(2019)
必修1 数据与计算
第二章 算法与问题解决
本章复习与测试
冒泡排序算法 课件 高中信息技术浙教版必修 1 数据与计算(16张PPT)
文档属性
名称
冒泡排序算法 课件 高中信息技术浙教版必修 1 数据与计算(16张PPT)
格式
pptx
文件大小
2.1MB
资源类型
教案
版本资源
浙教版(2019)
科目
信息技术(信息科技)
更新时间
2022-12-05 20:27:02
点击下载
图片预览
1
2
3
4
5
6
7
文档简介
(共16张PPT)
冒泡排序
现有一组无序的纸牌为:9、4、8、6、3,请将数据变得有序。
什么是冒泡排序
冒泡排序是在一列数据中把较小的数据逐次向上推移的一种排序技术。
冒泡排序算法把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小的数据换到上面的一个元素中。重复这一过程,直到处理完最后两个元素中的数据,称为一遍加工。
当第一遍加工完成时,最小的数据已经上升到第一个元素的位置。然后对余下的n-1个元素重复上述处理过程,直至最后进行余下两个数据的比较和交换。
由于每一遍加工都是将本遍最小的元素像气泡一样上浮至本遍的顶端位置,故称为冒泡排序。
任务一:
看动画,感知原理
学生游戏:
演动画,理解思想
我校有4位学生参加学生会主席竞选,得票数依次为:36,27,32,18。若采用冒泡排序算法对其按照自下而上,从小到大进行排序,请写出详细过程。
动画理解习题解析
1.四个无序数据的排序方向为( )
(自下而上/自上而下)
2.排序完成时,数据的有序结果是( )
(从小到大/从大到小)
5 四个无序数据需要经过几趟才排好序?
3.第一趟结束时,排到最上边的数是( )
A:最大值 B:最小值
4.每次数据比较、交换的规则是( )
A. (这一个数>上一个数)
B. (这一个数<上一个数)
自下而上
由小到大
B
B
3趟
分组探究
请三组同学分别按照相应的排序规则,将无序数列36,27,32,18排列成相应要求的有序数列。
1. (已完成)自下而上方向,排成从小到 大的有序数列
2. (第一组)自下而上方向,排成从大到小的有序数列
3. (第二组)自上而下方向,排成从小到大的有序数列
4. (第三组)自上而下方向,排成从大到小的有序数列
任务1:写出详细比较过程
任务2:比较趟数?每趟比较次数?比较和交换的原则?
冒泡排序的四种方式比较
冒泡方式 比较趟数 每趟比较次数 比较、交换规则
自下而上 从小到大 (这一个) < (上一个)
自下而上 从小到大 (这一个) >(上一个)
自上而下 从小到大 (这一个) > (下一个)
自上而下 从大到小 (这一个) <(下一个)
3
2
1
3
3
3
3
3
2
1
3
2
1
3
2
1
趟数 数据的比较过程 比较次数
第1趟 第4个数---上一个 3次
第3个数---上一个 第2个数---上一个 第2趟 第4个数---上一个 2次
第3个数---上一个 第3趟 第4个数---上一个 1次
以自下而上,由小到大为例:
规律总结
比较趟数 数据比较过程 每趟比较次数
第1趟 第n个数---上一个 n-1 次
第n-1个数---上一个 …… 第2个数---上一个 …… …… ……
第n-1趟 第n个数---上一个 1次
推想:当n个数据排序呢?
结论:当有n个无序数据排序,需要几趟排序?
一共比较几次呢?
n-1
(n*(n-1))/2
四个数据怎样冒泡?
原始序列
a(1) 36
a(2) 27
a(3) 32
a(4) 18
最终序列
a(1) 18
a(2) 27
a(3) 32
a(4) 36
For j=4 to 2 step -1
if a(j)
Next j
For j=4 to 3 step -1
if a(j)
Next j
For j=4 to 4 step -1
if a(j)
Next j
第一遍冒泡
第二遍
第三遍
J从4到2
J从4到3
J从4到4
i=1
i=2
i=3
i=1…2…3
For j=4 to i+1 step -1
if d(j)
Next j
for i = 1 To 3
Next i
For j = 4 To i + 1 Step -1
Next j
If a(j) < a(j - 1) Then
End If
t= a(j): a(j) = a(j - 1): a(j - 1) = t
问1:5个数比较怎么改?
交换a(j) 和a(j-1)的值
For i = 1 To n-1
Next i
For j = n To i + 1 Step -1
Next j
t = a(j): a(j) = a(j - 1): a(j - 1) = t
If a(j) < a(j - 1) Then
End If
问:N个数排序呢
1、排序方向:自下而上/自上而下
2、有序:从大到小/从小到大
3、相邻两个数组元素进行比较
4、不符合排序要求,则交换
5、排序趟数
6、比较次数
课堂小结
点击下载
同课章节目录
第一章 数据与信息
1.1 感知数据
1.2 数据、信息与知识
1.3 数据采集与编码
1.4 数据管理与安全
1.5 数据与大数据
第二章 算法与问题解决
2.1 算法的概念及描述
2.2 算法的控制结构
2.3 用算法解决问题的过程
第三章 算法的程序实现
3.1 用计算机编程解决问题的一般过程
3.2 Python语言程序设计
3.3 简单算法及其程序实现
第四章 数据处理与应用
4.1 常用表格数据的处理
4.2 大数据处理
4.3 大数据典型应用
第五章 人工智能及应用
5.1 人工智能的产生与发展
5.2 人工智能的应用
5.3 人工智能对社会的影响
点击下载
VIP下载