排序--看一眼就忘不了

00潤物無聲00發表於2015-10-08

    排序是為了方便檢索,涉及到一組內容,對這一組物件按照規定次序重新排列。

    排序的規則和方式多種多樣,每一類排序方式他們的基本思想是一致的。不同排序方式的適用情況和優劣,用時間複雜度和空間複雜度衡量。每一種排序方法本身決定了排序方法的穩定性。所以我們可以從四個方面巨集觀的理解排序的內容。



分類

    排序根據待排序的記錄是否全部放在記憶體中分為內部排序和外部排序。內部排序表示記錄全部存放在記憶體中。這裡我們只介紹內部排序。


基本思想



指標

    時間複雜度的分析鍵值比較的次數記錄移動的次數兩方面來考慮。
    4類排序,列出共6種;插入排序是一種,歸併排序一種。交換排序和選擇排序都是兩種。
在時間複雜度上分為了兩類:其中3種時間複雜度為O(n^2)分別是氣泡排序和名稱中帶“直接”二字的直接插入排序和直接選擇排序。通過適用範圍得出,除了堆排序外,時間複雜度為O(n^2)的排序方式,都適用於記錄數量小的序列;

穩定性

    穩定性是指相同鍵值的兩個記錄在排序前後相對位置的變化情況。如果相對位置不會變化為穩定,反之不穩定;
    在上圖中,4類,6種排序方法中,歸併和插入都是穩定的,選擇是都不穩定的。交換排序中,冒泡是穩定的,快速是不穩定的。
    
總結

    對排序從這4個角度入手,從巨集觀上總結。每一類排序都有主要的思想,每一類中圍繞思想擴充套件出多種排序方式。當排序一個序列的時候,根據實際情況和排序演算法的優劣選擇出合適的。

相關文章