設含 n 筆記錄的序列為 {r₁,r₂,...,rₙ},對應關鍵字 {k₁,k₂,...,kₙ}。排序即確定排列 p₁,p₂,...,pₙ,使關鍵字滿足非遞減(或非遞增)關係:kₚ₁ ≤ kₚ₂ ≤ ... ≤ kₚₙ,得到有序序列 {rₚ₁,rₚ₂,...,rₚₙ}。
穩定排序:若 kᵢ = kⱼ (i≠j) 且排序前 rᵢ 在 rⱼ 前,排序後 rᵢ 仍在 rⱼ 前。
不穩定排序:可能打破相對順序。
通俗例:小明小芳總分相同,排序前小明在前,穩定排序後小明仍在前。
| 類型 | 特點 |
|---|---|
| 內排序 | 全程在記憶體中,數據量較小 |
| 外排序 | 數據量超過記憶體,需內外存多次交換 |
後續章節將逐一深入講解各算法原理、代碼實現與優化策略。