資源簡介 算法挑戰:選擇排序法(今日任務:)今日我們來利用 scratch 進行選擇排序(Selection sort)法的探究,什么是選擇排序法呢? 選擇排序算法的運作如下:(從前往后)選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是每一次從待排序的數據元素中選出最小(或最大) 的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。排序算法即解決以下問題的算法:輸入n 個數的序列。輸出原序列的一個重排;,使得 a1*<=a2*<=a3*<=...<=an*我們通過一個簡單的小實例來看演示一下用來加深印象:原始數列 第一次 第二次 第三次 第四次 第五次 第六次 第七次經過第七次選擇排序,每次都將未排序數列中的最小數字置頂;第一次排序:1 被選擇出來置于未排序數列的頂部;第二次排序:2 和 6 調換位置, 被選擇出來置于未排序數列的頂部;(第三次排序:3和6調換位置,被選擇出來置于未排序數列的頂部;第四次排序:4和7調換位置,被選擇出來置于未排序數列的頂部;)第五次排序:5 已經是未排序數列中的最小值,不需要和未排序數列中其他數字調換位置;第六次排序:6 和 7 調換位置, 被選擇出來置于未排序數列的頂部;第七次排序:7 和 8 調換位置, 被選擇出來置于未排序數列的頂部;至此選擇排序結束,我們可以看到,選擇排序比冒泡排序更加優化,更加高效(本課重難點:)(1)了解選擇排序法的核心思想。(2)能夠通過 scratch 編程實現對一個隨機數列的選擇排序。(任務解讀flowchart:)(跟我來挑戰Followme:)第一步:啟動 scratch 軟件;第二步: 點擊上方的“文件”→ “保存”→保存到桌面,文件名: 選擇排序 →點擊“保存”;(第二步很很很重要,我希望所有的學生都能養成及時保存作品的好習慣!)第三步: 程序解讀(見下頁)主程序:創建隨機無序數列 list 子程序:選擇排序子程序:程序運行結果:輸入數字 30生成一個長度為 30 的隨機數列,你可以檢查一下, 里面有沒有重復數字?回答數字“y ”排序結果:(課后思考:)(1) 試將我的程序進行算法優化,看看能不能在我的程序基礎上進一步優化一下?(2) 試想一下, 選擇排序都有哪些應用呢?什么領域或者是程序設計需要用到選擇排序? 試著在網上搜索一下,順便搜索一下更加高級的排序算法! 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫