72 排序的基本概念

2021-08-23 14:35:23 字數 925 閱讀 2477

所謂排序就是整理「表」中的記錄,使之按關鍵字遞增(或遞減)有序排列。

假設含n個資料元素的序列為,其相應的關鍵字分別為這些關鍵字相互之間可以進行比較,即在它們之間存在著這樣乙個關係:kp1 ≤ kp2 ≤ … ≤ kpn,使得序列成為乙個按關鍵字有序的序列,這樣的操作就稱為排序。

來看乙個例子:

圖1-排序

假設現在有一張成績表,在這張表中有每個學生的姓名和成績,在排序前表中的每個學生的成績都是無序的,當我們對成績表中每個學生按成績進行排序後就可以很直觀的看到成績的變化了,每個學生的成績都是以增序的方式進行排列的,比如:王二和小明的成績是一樣的,而趙六的成績是最高的。

如果在序列中有兩個資料元素r[i]和r[j],它們的關鍵字k[i] == k [j],且在排序之前,物件r[i]排在r[j]前面。如果在排序之後,物件r[i]仍在r[j]前面,則稱這個排序方法是穩定的,否則稱這個排序方法是不穩定的。

圖2-排序的穩定性

如圖2所示,王二和小明的成績都是67,在排序前,王二的位置是在小明的前面,如果在排序後王二依然在前面,那麼這個排序是穩定排序,反之就是非穩定排序。

前面我們在學習查詢時知道:查詢也分為內部查詢和外部查詢,對於排序也是如此,排序分類主要分為內排序和外排序,在排序過程中,若整個表的資料都是放在記憶體中處理,排序時不涉及資料的內,外存交換的則稱為內部內排序。反之,如果在排序時資料量非常大,需要進行內,外交換的,則稱為外排序。

基於比較的排序演算法和不基於比較的排序演算法有:如插入排序,交換排序,選擇排序和歸併排序是基於比較的排序演算法;而像基數排序是不基於比較的排序演算法。

排序小結 1 排序的基本概念

排序 sort 或分類 所謂排序,就是要整理檔案中的記錄,使之按關鍵字遞增 或遞減 次序排列起來。其確切定義如下 輸入 n個記錄r1,r2,rn,其相應的關鍵字分別為k1,k2,kn。輸出 ril,ri2,rin,使得ki1 ki2 kin。或ki1 ki2 kin 1 被排序物件 檔案 被排序的物...

資料結構 56 排序的基本概念

1 演算法的穩定性 若待排序表中有兩個元素ri和rj,其對應的關鍵字相同即keyi keyj,且在排序前ri在rj的前面,若使用某一排序演算法排序後,ri仍然在rj的前面,則稱這個排序演算法是穩定的,否則稱排序演算法是不穩定的。需要注意的是,演算法是否具有穩定性並不能衡量乙個演算法的優劣,它主要是對...

排序 排序的基本概念

1,排序的一般定義 1,排序是計算機內經常進行的一種操作,其目的是將一組 無序 的資料元素調整為 有序 的資料元素 2,無序到有序就是排序 2,排序的數學定義 1,假設含 n 個資料元素序列為,其相應的關鍵字序列為 這些關鍵字相互之間可以進行比較,即 在它們之間存在著這樣乙個關係 kp1 kp2 k...