浙教版(2019)选修一 信息技术 5.3数据排序——冒泡排序 课件(共11张PPT)

资源下载
  1. 二一教育资源

浙教版(2019)选修一 信息技术 5.3数据排序——冒泡排序 课件(共11张PPT)

资源简介

(共11张PPT)
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
高中信息技术
数据排序
—冒泡排序
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
冒泡排序
目录
01
课前回顾
02
代码实现
03
习题演练
04
课堂总结
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
课前回顾
上节课学了什么

1、冒泡排序的定义
从前到后(即从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换位置,使值较大的元素逐渐从前移向后部。
2、冒泡排序的过程
从小到大排序
一、、
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
第一次排序
7>3
逆序,交换位置
7<22
正序,保持不变
同之前规律
第一次排完
第二次排完
第一轮排序以后,最大的数就会浮到最右面;第二轮排序时,只排到导数第二个...以此排完。
重点理解:
第二次排序
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
下面关于冒泡排序说法正确的是()
练一练
A、只能从小到大排序
B、可以一次比较三个以上的元素
C、当比较的两个数逆序时,交换顺序
D、只能比较数据

e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
for i in range(len(list)-1):
for j in range(len(list) - i - 1):
if list[j] > list[j + 1]:
list[j],
list[j+1] = list[j+1],
list[j]
二、代码实现
3, 7, 15, 8, 22
3, 7, 8, 15, 22
i∈[0,n-1),大循环
j∈[0,n-i-1),小循环
将当前指向的数和后一个数相比较较大的后移一位
如果if后的表达式为真则执行if里的程序,否则,不执行,直接进入下一循环。
3, 7, 8, 15, 22
3, 7, 8, 15, 22
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
if list[j-1] > list[j]:
list[j-1],
list[j] = list[j],
list[j-1]
从小到大排序,先确定最小。
if list[j] > list[j + 1]:
list[j],
list[j+1] = list[j+1],
list[j]
j = n
j = 1
从小到大排序,先确定最大。
“<”改为”>”则变为从大到小排序
“>”改为”<”则变为从大到小排序
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
range函数:range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。
stop: 计数到 stop 结束,但不包括 stop。
step:步长,默认为1。
三、习题演练
1. 有如下 python 程序段:
n=6
a = []
for i in range(3):
for j in range(n - i - 1):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
数组元素a(1)到a(6)的数据依次为“50,31,18,42,37,23”,则此程序运行完成后数组元素的数据依次是(  )
A 50,42,37,31,23,18 B 18,23,31,50,37,42
C 18,31,23,37,42,50 D 18,23,31,37,42,50

e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
50,31,18,42,37,23
If a(j)>a(j+1)
从小到大排序,现在确定最大
排除A
解题步骤一
解题步骤二
31,18,42,37,23,50
18,31,37,23,42, 50
18,31,23,37,42, 50
i = 1
i = 2
i = 3
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
四、课堂总结
01
什么是冒泡排序
02
代码实现
03
课后习题,完成课本上的练习。
从前到后(即从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换位置,使值较大的元素逐渐从前移向后部。
e7d195523061f1c0f0ec610a92cff745ee13794c7b8d98f8E73673273C9E8BE17CC3D63B9B1D6426C348A354AD505654C28F453CD7C8F90EADD06C08281DAED7140E5AAAED5880ECE414DFB6A93B82BE019406867034C3A8500A4827DCF3FBF74A471B736410707E336A01C9ADC9BE02ACCB8DF2121D81636A067B8AE80C6AB6F014154F4E7B7247
谢 谢

展开更多......

收起↑

资源预览