摘要:[C#] 排序演算法效能比較
數列長度65000筆隨機(0-999)數字陣列
O(NxN) 真的很慢
氣泡排序由於交換次數太多所以最慢
選擇排序時間複雜度與氣泡排序一樣,但交換次數較少
插入排序時間複雜略少於氣泡與選擇排序,略快於選擇排序
O(NlogN) 超快
Heap 排序 - Swap次數多所以稍慢
Shell 排序 - Swap次數多所以稍慢,改良數列可以加快速度 直逼快速排序
快速排序 - 快速又簡單的演算法,目前應該沒有更好的演算法
以上不考慮最佳與最差的狀況
Algorithm, ArraySize , Timespan , IterLoop , SwapLoop
BubbleSort , 65000 , 49360 ms , 2112467500 , 1051953069
SelectionSort , 65000 , 18036 ms , 2112467500 , 64899
InsertionSort , 65000 , 13241 ms , 1057646853 , 352548954
HeapSort , 65000 , 63 ms , 1013159 , 980659
ShellSort , 65000 , 52 ms , 2005018 , 1128493
MarcinCiura , 65000 , 39 ms , 1307081 , 670767
QuickSort , 65000 , 38 ms , 3105287 , 151872