国产视频www-国产视频xxx-国产视频xxxx-国产视频一二-一本大道香蕉中文日本不卡高清二区-一本久久精品一区二区

C語言中冒泡排序算法教學設計

2021-05-25 26816 教學設計論文

排序是計算機科學中一項重要的技術,其應用范圍廣、使用頻率高,因此對于排序算法的研究一直是計算機專家的重點。高校的程序設計類課程也將排序算法作為重難點進行教學。

1常見的幾種排序算法

1.1算法的基本概念

算法(Algorithm)是指解題方案的準確而完整的描述,是一組解決問題的指令集合,按照一定的語法規則輸入,在有限時間內獲得所要求的輸出。簡單說就是計算機的解題過程。算法具備以下幾個特征:有窮性,一個算法的執行次數必須是有限的;確切性,算法的中的語句都應該具有確切的語義;輸入,算法可以有0個或多個輸入,給運算對象賦初值;輸出,算法應該有一個或多個輸出,顯示算法的運行結果;可行性,算法的設計在原則上是可行的。

1.2排序算法的簡述

常見的幾種排序算法有:冒泡排序、選擇排序、快速排序、計數排序以及托普排序等。冒泡排序(BubbleSort),是最簡單的排序方法,其基本思想是:將要排序的元素看成是一組豎排的“氣泡”,較小的元素較輕,往上浮,通過若干次對這個“氣泡”序列的處理,讓最輕的浮到最上面,次輕的次之,依次完成排序。按照一般的教學方法,老師會先向學生講解冒泡排序的基本思想和相應代碼然后再執行。這種方式學生理解和掌握起來比較困難,也無法調動學生的學習積極性,更無法使學生靈活運用。因此,要設計出一個合理、高效的教學過程,調動學生的學習積極性,拓展學生的自主思維能力,使學生掌握冒泡排序算法的思想及其編程方法,并運用到解決實際問題當中。

2教學過程設計

2.1利用多媒體動態分解排序步驟

通過多媒體軟件將排序過程設計為動態效果,演示數據序列的交換過程。相鄰數據進行比較,大數下沉、小數上浮。這樣能直觀地展現冒泡序的過程,提高學生的學習興趣。

2.2排序過程動態解析

下面通過實例來說明冒泡排序的過程,設計排序的數據序列為:5,7,3,0,6五個數,進行升序排列,其過程分析如下。第一趟排序:先讓最上面相鄰兩個數字進行比較,如果上面的數大于后面的數,就交換兩者的位置,再將交換后的數依次與后面的數進行比較,經過4次這樣的比較,就可以讓最大的數“沉底”。第二趟排序:對剩下的4個數字,再進行兩兩比較,同前面過程一樣,經過3次比較,第二大的數就排到了倒數第二個位置。第三趟排序:對剩下的3個數,再進行兩兩比較,同前面過程一樣,經過2次比較,第三大的數排到了倒數第三個位置。第四趟排序:對剩下的2個數進行兩兩比較,過程同上,經過1次比較,第四大的數排到了倒數第四個位置。從而完成的本次排序。

2.3給出代碼與分析

根據前面對排序過程的分析可知,如有n個數要進行排序,則可總結出以下步驟:排序的趟數為n-1;相鄰兩數從前往后比;每趟比較n-1-i次;大小不對就交換。按照總結的步驟給出完成相應功能的代碼,學生接受和理解起來更加容易。其主要代碼如下:1For(i=0;i<n;i++)/*排序的趟數為n-1*/2{For(j=0;j<n-1-i;j++)/*相鄰兩數從前往后比,每趟比較n-1-i次*/3If(a[j]>a[j+1])/*大小不對就交換*/4{temp=a[j];5a[j]>a[j+1];6a[j+1]=temp;7}8}通過教學實踐證明,冒泡排序的思想容易理解,學生在將其轉換為程序言時較難,通過將排序過程作以上步驟總結后,學生在寫程序時只需安排步驟進行代碼編寫,簡單易行。再讓學生自己舉例,分析程序的執行過程,驗證冒泡排序的思想和代碼的正確性。

2.4引導學生發現問題,改進算法

在教學中讓學生跟著老師的思路理解并掌握知識點很重要,但同時引導學生發現算法設計中存在的問題或者不完善的地方,由此探索解決辦法,也是教學的一個重要目的。觀察分析排序過程的表1可發現,最后兩趟的數據順序是一致的,也就是說倒數第二趟排序就已經排序完成了,最后一趟排序過程是多余的。由此可見,不管初始數據序列如何,根據上面的算法設計都要進行n-1趟排序,而在實際序列中,可能在少于n-1趟的排序中就已經變成了有序序列,完成了排序,后面的循環就沒有必要了。這時老師可給出一個常規的改進算法:設置一個標志變量flag,如flag=1,表示有交換;flag=0,表示無交換。即是當flag=0時就結束循環,提高排序效率。具體做法是:在上述程序第1行下插入語句“flag=0;”,第6行下插入語句“flag=1;”,第7行下插入語句“if(flag==0)break;”。這樣在程序的內層循環中不再有值的變化時就可以跳出循環,結束程序,從而提高算法的效率?,F代教育著重對學生創造性思維的培養,相對于知識的講授更重要的是讓學生掌握思維方式,發散思維就是創造性思維中的一種重要形式。通過上面的講解讓學生知道冒泡算法還有其不完善的地方,可進一步啟發學生對算法進行改進:如上浮下沉算法、快速排序算法、線性時間算法等。使學生能更快更好掌握排序算法的基本思想和原理,著重培養學生發現問題和解決問題的能力,激發學生的獨立思考和創新能力,這比將固化的知識點傳授給學生更加的重要和有效。

3結語

本文以講授冒泡排序為例,設計了通過動態的PPT和增加動畫效果等多媒體教學手段,采用正向講解算法思想,逆向分析具體實例,歸納、總結算法的多種思維方法,形象生動的向學生展示了冒泡排序的基本思想和變化過程。一方面通過步驟的總結過度到代碼的書寫,突破代碼書寫的難點。另一方面引導學生觀察算法的不足之處,讓學生自己發現問題,并提出解決問題的辦法,進而培養學生的發散思維和獨立思考的能力,體現了現代教育著重培養學生創新能力的教育思想。

作者:楊波 梁少林 單位:四川文理學院數學與財經學院

期刊匯頻道 樹人論文網期刊匯頻道
樹人論文網是正規的發表支持服務網站.主要從事國內外期刊論文、國內外教著學術支持服務。
  • 27973 文章總數
  • 16855論文總數
  • 11121期刊總數
  • 標簽

    主站蜘蛛池模板: 欧美日韩在线观看一区二区 | 三级国产三级在线 | 特级一级毛片视频免费观看 | 老色歌uuu26 老师张开腿让我爽了一夜视频 | 久草中文网 | 日本三片在在线播放 | 国产美女作爱全过程免费视频 | 日本道综合一本久久久88 | 欧美天堂 | 国内三级视频 | 男女视频在线观看免费高清观看 | 国产成人精品日本亚洲专一区 | 在线观看精品视频一区二区三区 | 色综合久久88中文字幕 | 国产99久久亚洲综合精品 | 午夜性爽快免费视频播放 | 一区二区三区四区产品乱码伦 | 久草网视频在线 | 亚洲精品影院久久久久久 | 国产3区 | 国产精品二区页在线播放 | 撸久久 | 亚洲性久久久影院 | 国产欧美日韩综合一区二区三区 | 久久精品综合国产二区 | 另类二区三四 | 国产成人经典三级在线观看 | 亚洲欧美国产中文 | 国产精品午夜波多野结衣性色 | 91精品国产高清久久久久 | 中文字幕va一区二区三区 | 亚洲成网站 | 国产玖玖在线观看 | 亚洲国内自拍 | 99re66热这里只有精品免费观看 | 国内精品久久久久影院老司 | 在线はじめてのおるすばん | 伊在人亚洲香蕉精品区 | 久草手机视频在线观看 | 久久―日本道色综合久久 | 九九热精品在线 |