排序法
平均時間 最差
情形 穩
定度 額外
空間 備註
冒泡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...