排序中的操作:
1、比較(comparison) 2、交換(swap) 3、複製(copy)
幾種經典排序方法:
1、簡單排序( ****** sort algorithm
) 2、插入排序(insertionsort algorithm) 3、選擇排序(selection sortalgorithmanalysis)
1、簡單排序:
建立兩個陣列,乙個安放無序數列,乙個為空。
步驟:1)將獲取到的無序數字放進陣列中。
2)迴圈3-5的步驟直到無序陣列中為空為止。
3)比較無序陣列
4)選擇最小的未排序的數字
5)移動最小的數字到帶排序的陣列中
6)停止
2、插入排序:
建立乙個為排序的陣列。
步驟:1)獲取乙個無序的序列進待排陣列中。
2)在第乙個卡片後設定乙個標誌(marker)
3)重複4-6的步驟,直到標誌到達最後。
4)選擇第乙個未排列的最小(或最大)數字。
5)把這個最小的數字和他左邊的數字比較,直到左邊到達最適合的位置。
6)將標誌符向右移動一位。
7)停止
3、選擇排序:
建立乙個陣列
步驟:1)獲取乙個無序的序列進待排陣列中
2)選擇乙個標誌符放在第乙個數字的前面,
3)重複4-7步驟直到最後還有乙個數字在最後。
4)比較所有的數字
5)選擇最小的數字
6)將最小的數字和未排序序列中的第乙個數字。
7)將標誌符向右移動一位。
8)停止
一般化:
演算法解決方案:
設計排序演算法問題
在之前我做這道題時沒有看懂什麼意思,過了一段時間,終於解出來了。其實 這道題比較簡單,個人覺得題目描述不怎麼清楚。描述 電腦科學中的乙個基本問題是排序問題,對這個問題現在有許多解決方法,如排序演算法。一些排序演算法是簡單得可以靠直覺就得知的,如冒泡法排序。另外一些如堆排序就不這麼簡單了,但能迅速地得...
排序問題 演算法學習
排序方法分狠多,可分為外部排序和內部排序。內部排序可分為 插入排序 交換排序 歸併排序 堆排序 基數排序。分析各種排序演算法的優劣有演算法 時間複雜度和執行演算法所需的附加空間。1.插入排序 演算法中引進的附加a 0 稱監視哨或哨兵。哨兵有兩個作用 1 在進入查詢 插入位置 迴圈之前,它儲存了a i...
排序演算法的小問題
參考資料 堆排序每次調整堆的結構時,把堆頂元素移除,然後把葉節點放到堆頂上面,然後重新調整。這個調整的過程有很多次比較移動,最差的情況下就是重新從堆頂移到底部,這裡很多比較移動是無用的。尤其在資料規模很大的時候,如果當前資料量是原來的10倍,那麼用於比較的時間開銷可能是原來的10log10倍。堆排序...