排序演算法的介紹110
一、什麼是『排序演算法』?
排序演算法(sorting algorithm):將一串資料,依照特定順序排列的演算法。最常用的排序方式是數值順序以及字典(字母)順序。「排序」在一些演算法中是重要的,例如執行「二元搜尋」前資料必須先「排序」,如此「二元搜尋」才能得到正確解答。
基本上,排序演算法的輸出必須遵守下列兩個原則:
輸出結果為 升序(例如;由小到大)或是 降序 。(例如;由大到小)
輸出結果是原輸入的一種排列、或是重組。 (不能更動原本的資料)
二、選擇排序法:
本節課,介紹需要使用資料交換的 【選擇排序法】
1.演算法說明:
(1) 將數值分為「已排序」和「未排序」兩部分。
(2) 在「未排序的數字」中找到「最小值」,和「未排序的第1個數」 交換,完成1個數的排序。
(3) 重複 (2),直到我有數字完成排序。
3.選擇排序動畫圖示:
4.請完成選擇排序學習單,並填入以下問題:
(1)共幾個數要排序,可用[清單的長度]表示其數目,即 = 共幾個數
(2)"第幾項"用變數 代表,"後一項"以 表示之,由第1項開始設其初值為
(3)每比完一輪,就可找到一個 ,再與未排序數列第1數交換,未排序數列就少一個數。
(4)每一輪的排序,要比較 次才能找到最小值。(用[清單的長度]及[項次]表示,項次由1開始)
(5)最後剩下1個 數不須再排序,故一共排序 輪就可完成。(用[清單的長度]表示)