資料結構中幾種常見內部排序方法的比較

2021-05-12 16:54:49 字數 979 閱讀 2234

1樓:百度文庫精選

內容來自使用者:cngdzjl

資料結構各種排序方法的綜合比較

結論:  排序方法 平均時間  最壞時間     輔助儲存  簡單排序 o(n2)        o(n2)         o(1)  快速排序 o(nlogn)    o(n2)        o(logn)  堆排序 o(nlogn)       o(nlogn)     o(1)  歸併排序 o(nlogn)     o(nlogn)     o(n)  基數排序 o(d(n+rd))  o(d(n+rd))  o(rd)ps:直接插入排序、氣泡排序為簡單排序,希爾排序、堆排序、快速排序為不穩定排序

一、時間效能

按平均的時間效能來分,有三類排序方法:時間複雜度為o(nlogn)的方法有:快速排序、堆排序和歸併排序,其中以快速排序為最好;

時間複雜度為o(n2)的有:直接插入排序、起泡排序和簡單選擇排序,其中以直接插入為

最好,特別是對那些對關鍵字近似有序的記錄序列尤為如此;

時間複雜度為o(n)的排序方法只有,基數排序。

當待排記錄序列按關鍵字順序有序時,直接插入排序和起泡排序能達到o(n)的時間複雜度;而對於快速排序而言,這是最不好的情況,此時的時間效能蛻化為o(n2),因此是應該儘量避免的情況。簡單選擇排序、堆排序和歸併排序的時間效能不隨記錄序列中關鍵字的分佈而改變。二、空間效能

指的是排序過程中所需的輔助空間大小。

1.所有的簡單排序方法(包括:直接插入、起泡和簡單選擇3....

2樓:張幾何

這些全是內排,有什麼問題你再問我

資料結構中幾種常見的排序演算法之比較

3樓:匿名使用者

冒泡。 複雜度n平方。適用於陣列

插入排序。複雜度n平方。適用於連結串列

快排。複雜度nlog(n)。

希爾排序。這是一種插入排序,但是從統計角度看,比插入排序要快。

資料結構快速排序問題,C語言資料結構 快速排序的問題

由於你傳遞的l是值傳遞,在快速排序內部出現了一個名字一樣的區域性變數,只是區域性變數被排序了,並不是傳入的變數被排序,可以採用傳地址的方式解決,或者不定義形參,直接採用全域性變數。我使用前者幫你實現了 再者,快速排序 有點問題,幫你修改了下 include include define maxsiz...

資料結構中,資料結構中,Head Head next什麼意思

頭插法 例如輸入a,b,c 下面兩塊分別表示資料域和指標域,代表null head c next b next a 實現語句 無頭結點 head null while 迴圈條件 頭插入法的輸出順序與你的輸入順序相反 尾插法 無頭結點 head a next b next c 實現 head null...

資料結構中的作用,資料結構中的作用是什麼

是c 中的引用符號,用作 函式形參是表明傳遞的是實參 的一個引用 即實參的一版個別名 這樣在函式中對權形參操作會影響到實參,通常用 來通過函式改變實參的值。如果沒有 則傳遞的只是實參的一個副本,在函式中對形參的操作不會影響到實參。正如例子中,對於l凡涉及到要通過函式修改的它時 如在表中插入元素lis...