資源簡介 學習任務單課程基本信息學科 信息技術 年級 高二 學期 春季課題 5.3 數 據 排 序 (一)——冒 泡 排 序學習目標1.能理解冒泡排序的算法思想。 2.能合理選用數據結構,理清冒泡排序的范圍與條件。 3.能用自然語言、流程圖、Python語言描述冒泡排序算法。 4.能分析冒泡排序次數、比較次數和交換次數。 5.能掌握優化冒泡排序方法。課前學習任務1. 體驗生活、學習中的排序任務。課上學習任務【學習任務一】 體驗Pyhton函數一、列表自帶的sort方法:只適用于列表,直接對列表進行排序,不會產生新的序列二、內建函數sorted方法:返回一個新的序列,原來的序列依然存在 【學習任務二】 用Python語言編寫從前往后升序的冒泡排序程序并調試 【學習任務三】填一填 1.從前往后冒泡的升序排列 d=[5,3,7,8,1,9,2,6] n=len(d) i=0 while id[j+1]: d[j],d[j+1]=d[j+1],d[j] j+=1 i+=1 print(“排序后的列表”,d)2.從前往后冒泡的降序排列 d=[5,3,7,8,1,9,2,6] n=len(d) for i in range(n-1): for j in range(n-i-1): if : d[j],d[j+1]=d[j+1],d[j] print( “排序后的列表”,d)【學習任務四】用Python語言編寫從后往前升序的冒泡排序程序并調試 【學習任務五】填一填 1.從后往前冒泡的降序排列 d=[5,3,7,8,1,9,2,6] print("排序前的列表:",d) n=len(d) i=0 while ii-1: if d[j]d[j+1]: d[j],d[j+1]=d[j+1],d[j] print(“排序后的列表”,d) 【學習任務六】(1) d=[5,3,7,8,1,9,2,6] print("原來列表",d) n=len(d);i=0;c=0;flag=True #flag變量 while id[j+1]: d[j],d[j+1]=d[j+1],d[j] flag=True #flag變量 i=i+1 print("排序后的列表",d) print("從前往后冒泡排序趟數:",i,",比較次數",c) (2) a=[5,10,15,78,16,7,37,25] ;n=len(a);num=0 #num排序遍數 flag=True while flag==True: flag=False for j in range(n-1,last,-1): #從后往前冒 if a[j]a[j + 1]: a[j],a[j+1] = a[j+1],a[j] #底端縮進一個 num+=1 #雙向冒泡升序1趟結束 print(排序后的數列為:",a) print(冒泡排序過程的加工遍數為:",num) 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫