資料結構排序 總結

2021-09-25 09:54:10 字數 1233 閱讀 5069

一:排序的基本概念:

假設含有n個記錄的序列為,其相應的關鍵字為,需確定1,2,3…n的一種排列p1,p2,…pn使其相應的關鍵字滿足kp1<=kp2<=kp3<=…kpn非遞減(或非遞增)關係,及時的序列稱為乙個按關鍵字有序的序列,這樣的操作就稱為排序。

二:排序的分類:

1:內排序和外排序

按照排序過程中涉及的儲存器的不同分為內排序和外排序。
內排序:指待排序序列全部存放在記憶體中進行的排序過程,這種方法適用於數量不太的 資料元素的排序。

外排序:指待排序的資料元素非常多,以至於它們必須儲存在外部儲存器上,這種儲存方式需要內外存多次交換資料才能進行,這樣的排序稱為外排序。

2:穩定排序和不穩定排序

穩定排序:對任意一組資料元素序列,使用某種排序演算法對它們進行按照關鍵字的排序,若相同關鍵字的前後位置關係在排序前後保持一致,則稱此排序方法為穩定排序。

不穩定排序:對任意一組資料元素序列,使用某種排序演算法對它們進行按照關鍵字的排序,若相同關鍵字的前後位置關係在排序前後保持一致,則稱此排序方法為不穩定排序。

例如:關鍵字序列為,經過排序後變為,則此次排序是穩定的,若變為,則此次排序是不穩定的。

排序演算法的效能評價:

四:主要學習的排序演算法

五:各種排序演算法的效能比較

排序演算法

平均時間複雜度

最好情況

最壞情況

空間複雜度

穩定性直接插入排序

o(n2)

o(n)、

o(n2)

o(1)

穩定希爾排序

o(nlogn)

o(n)

o(n2)

o(1)

不穩定簡單選擇排序

o(n2)

o(n2)

o(n2)

o(1)

不穩定堆排序

o(nlogn)

o(nlogn)

o(nlogn)

o(1)

不穩定氣泡排序

o(n2)

o(n)

o(n2)

o(1)

穩定快速排序

o(nlogn)

o(nlogn)

o(n2)

o(logn)

不穩定歸併排序

o(nlogn)

o(nlogn)

o(nlogn)

o(n)

穩定

資料結構 排序 內排序總結

1.時間複雜度總結 n2 直接插入排序,氣泡排序,簡單選擇排序 這三種裡面直接插入排序好一點 nlogn 快速排序,堆排序,歸併排序 n 基數排序 其他 n2 2.時間效能與初始序列無關 口訣 一堆烏龜選 堆排序,歸併排序,基本選擇排序,基數排序 3.空間效能 快速排序 logn 歸併排序 n 基數...

資料結構 排序 外部排序總結

1.影響內部排序時間效率的是移動和比較的次數,影響外部排序時間效率的是i o次數。2.歸併的躺數越少,讀寫磁碟的次數就越少,歸併的躺數 第一 k為歸併路數,增大k,可以降低躺數,減少io次數 第二 r為初始歸併段的個數,減少r,可以降低躺數,減少io次數 可是歸併路數一旦增大,內部比較的壓力就會變大...

資料結構排序演算法總結

常用的演算法有插入排序 氣泡排序 選擇排序 快速排序 歸併排序 希爾排序 堆排序 計數排序和基數排序。下面對著九種常見排序方法進行總結 排序方法 時間複雜度 空間複雜度 個人評價 插入排序 o n 2 o 1 選擇排序 氣泡排序 希爾排序 o n log n 快速排序 o log n 歸併排序 o ...