1、演算法的穩定性
若待排序表中有兩個元素ri和rj,其對應的關鍵字相同即keyi=keyj,且在排序前ri在rj的前面,若使用某一排序演算法排序後,ri仍然在rj的前面,則稱這個排序演算法是穩定的,否則稱排序演算法是不穩定的。需要注意的是,演算法是否具有穩定性並不能衡量乙個演算法的優劣,它主要是對演算法的性質進行描述。如果待排序表中的關鍵字不允許重複,則排序結果是唯一的,那麼選擇排序演算法時的穩定與否就無關緊要了。
2、內部排序與外部排序
在排序過程中,根據資料元素是否完全在記憶體中,可將排序演算法分為兩類:①內部排序,是指在排序期間元素全部存放在記憶體中的排序;②外部排序,是指在排序期間元素無法全部同時存放在記憶體中,必須在排序的過程中根據要求不斷地在內、外存之間移動的排序。
一般情況下,內部排序演算法在執行過程中都要進行兩種操作:比較和移動。通過比較兩個關鍵字的大小,確定對應元素的前後關係,然後通過移動元素以達到有序。當然,並非所有的內部排序算大都要基於比較操作,事實上,基數排序就不基於比較。
72 排序的基本概念
所謂排序就是整理 表 中的記錄,使之按關鍵字遞增 或遞減 有序排列。假設含n個資料元素的序列為,其相應的關鍵字分別為這些關鍵字相互之間可以進行比較,即在它們之間存在著這樣乙個關係 kp1 kp2 kpn,使得序列成為乙個按關鍵字有序的序列,這樣的操作就稱為排序。來看乙個例子 圖1 排序 假設現在有一...
資料結構 排序的基本概念
目錄 排序的基本概念 1 排序 2 排序的穩定性 3 內部排序外部排序 內部排序以及分類 外部排序 待排序記錄的儲存方法 排序演算法的評價標準 對關鍵字的非遞減或非遞減的順序對一組記錄重新進行排序的操作。當排序記錄中的關鍵字都不相同時,則任何乙個記錄的無序序列經排序後得到的結果唯一,反之,當待排序的...
排序小結 1 排序的基本概念
排序 sort 或分類 所謂排序,就是要整理檔案中的記錄,使之按關鍵字遞增 或遞減 次序排列起來。其確切定義如下 輸入 n個記錄r1,r2,rn,其相應的關鍵字分別為k1,k2,kn。輸出 ril,ri2,rin,使得ki1 ki2 kin。或ki1 ki2 kin 1 被排序物件 檔案 被排序的物...