ID: 16107869

高中信息技术浙教版选修1 算法与程序设计1数据排序专题复习课件(共37张PPT)

日期:2024-12-20 科目:信息技术 类型:高中课件 查看:25次 大小:833301B 来源:二一课件通
预览图 1/12
高中,专题,PPT,37张,课件,复习
  • cover
(课件网) 排序算法专题复习 教学目标:归并排序,选择排序,插入排序,冒泡排序的基础代码格式 教学难点:冒泡排序的优化 教学难点处理方案:例题剖析+逐层递进 我们学过的排序算法: 1.冒泡排序(首考已考,最重要) 2.选择排序(首考未考,但要会看基础代码) 3.插入排序(首考未考,地方卷喜欢考) 4.归并排序(首考已考,思想重要如链表合二归一就是归并排序的变式,地方卷几乎没考过) 由于冒泡排序我们已经做过很多题,我们倒着从最不熟悉的开始4,3,2,1 lst1,lst2各自已按首位“时间”升序排序,要把lst2归并到lst1中,使得lst1整体依然升序 4.归并排序23.1首考真题再现 def merge(lst1, lst2): i = len(lst1) - 1 j = len(lst2) - 1 for t in range(len(lst2)): lst1.append([0, 0, 0]) # 为lst1追加一个元素[0, 0, 0] k = len(lst1) - 1 while j >= 0: if i >= 0 and lst1[i][0] > lst2[j][0]: lst1[k] = lst1[i] i -= 1 else: lst1[k] = lst2[j] j -= 1 k -= 1 return lst1 4.归并排序23.1首考真题再现 问:while语句中循环体的执行次数? A 3.插入排序 3.插入排序:习题集p68T1 1.【2022年6月宁波九校高二信息技术第11题】 1.有如下python程序段,运行该程序段后,列表a中的值可能是( ) import random a = [] for i in range(6): a.append(random.randint(1,5)*2+i%2) for i in range(1,5): j = i; k = a[j] while a[j-1]0: a[j] = a[j-1]; j=j-1 a[j] = k A.11,8,7,6,5,5 B.8,6,5,5,3,8 C.9,6,7,8,8,11 D.11,11,8,2,2,11 a=[偶,奇,偶,奇,偶,奇] 0 1 2 3 4 5 D 2.经典选择排序的代码: a = [3, 2, 5, 4, 1] # 经典选择排序 n=len(a)#找比i项小且最小的数的下标j赋值给k,然后a[i]和a[k]互换 for i in range(n-1):#i标记待排序区间左边界 k=i for j in range(i+1,n):#扫描待排序区间,找最小值下标j,给k=j,用当前数a[i]和a[k]互换 if a[j] a[k] ; k = j if i ! = k : t = a[i] ; a[i] = a[k] ; a[k] = t 数组元素 a[0] 到 a[4] 的数据依次为“10,41,75, 12,63”。则此程序运行完成后数组元素a[0] 到 a[4] 的数据依次是 ( ) A. 75, 63, 41, 12, 10 B. 10, 12, 41, 63, 75 C. 10, 12, 75, 41, 63 D. 75, 63, 10, 12, 41 D 练习2. 利用如下 Python程序段对列表 a其进行处理 : a=[‘15’, ’2’, ’5’, ’43’, ’24’] i=4 while i>0: k=i for j in range(i) : if a[k]

~~ 您好,已阅读到文档的结尾了 ~~