七種排序演算法總結

2021-08-07 12:55:51 字數 566 閱讀 3276

根據排序過程中借助的主要操作,將7種內排序演算法按照下圖所示進行分類。

將7種演算法的各種指標進行對比,如下表所示。

從平均情況來看,顯然最後3種改進演算法要勝過希爾排序,並遠遠勝過前3種簡單演算法。

從最好情況看,反而冒泡和直接插入排序要更勝一籌,也就是說,如果待排序列總是基本有序,反而不應該考慮四種複雜的改進演算法。

從最快情況看,堆排序與歸併排序又強過快速排序以及其他簡單排序。

從空間複雜度來說,如果執行演算法的軟體所處的環境非常在乎記憶體使用量的多少時,應該選擇堆排序。

從穩定性來看,歸併排序是個好演算法。

從待排序記錄的個數上來說,待排序的個數n越小,採用簡單排序演算法更合適。反之,n越大,採用改進演算法越合適。

總之,綜合各項指標來說,經過優化的快速排序是效能最好的排序演算法,但是不同場合也應該考慮使用不同的演算法。

七種常用排序演算法總結

1.氣泡排序 bubble sort package com.zha.wmls.sort 氣泡排序 每一輪找出乙個最大的,放在最後面,穩定 時間複雜度為n 2 public class bubblesort long befortime system.currenttimemillis sort a...

七種排序演算法

排序方法 平均情況 最好情況 最壞情況 輔助空間 穩定性插入排序 o n 2 o n o n 2 o 1 穩定希爾排序 o n log n o n 2 o n 1.3 o n 2 o 1 不穩定選擇排序 o n 2 o n 2 o n 2 o 1 不穩定氣泡排序 o n 2 o n o n 2 o ...

七種排序方式總結

2018.01.23 a yuan t 其中排序演算法 氣泡排序,簡單排序,直接插入排序,希爾排序,堆排序,歸併排序,快速排序 include include include define maxsize 10000 define false 0 define true 1 typedef stru...