演算法排序問題

2021-09-30 06:36:27 字數 843 閱讀 1559

排序中的操作:

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倍。堆排序...