幾種常見的排序演算法對比

2021-06-29 15:29:52 字數 709 閱讀 2758

排序法

平均時間 最差

情形 穩

定度 額外

空間 備註

冒泡o(n 2 )

o(n 2 ) 穩定

o(1) n

小時較好 交換

o(n 2 )

o(n 2 )

不穩定o(1) n

小時較好 選擇

o(n 2 )

o(n 2 )

不穩定o(1) n

小時較好 插入

o(n 2 )

o(n 2 ) 穩定

o(1)

大部分已排序時較好 基數

o(log rb)

o(log r b) 穩定

o(n) b

是真數(0-9), r

是基數(

個十百)

shell

o(nlogn)

o(n s ) 1

不穩定o(1) s

是所選分組 快速

o(nlogn)

o(n 2 )

不穩定o(nlogn) n

大時較好 歸併

o(nlogn)

o(nlogn) 穩定

o(1) n

大時較好 堆

o(nlogn)

o(nlogn)

不穩定o(1) n

大時較好

穩定的排序:冒泡,插入,基數,歸併 

幾種常見的排序演算法對比

幾種常見的排序演算法對比 排序法 平均時間 最差情形 穩定度額外空間 備註 冒泡o n2 o n2 穩定o 1 n 小時較好 交換 o n2 o n2 不穩定o 1 n 小時較好 選擇 o n2 o n2 不穩定o 1 n 小時較好 插入 o n2 o n2 穩定o 1 大部分已排序時較好 基數 o...

Java 幾種排序演算法對比

直接插入排序 插入排序就是 取出乙個數,插入到有序陣列中,首先,取出第乙個元素放入有序陣列中,然後取出第二個,兩個數進行比較,如果它小,則有序數的最後乙個向後移動一格,然後與有序陣列倒數第二個比較,如果小,則繼續向後移動。如果碰到比它小的,則插入在其後面。演算法思想為 外層迴圈是遍歷陣列的所有值 內...

幾種常見排序演算法

幾種常見排序演算法 1氣泡排序 bubble sort 氣泡排序思路 將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i...