語(yǔ)言只是把具體的算法實(shí)現(xiàn)出來(lái)而已。據(jù)我了解的排序算法11-13種。排序算法嘛 主要就是個(gè)思想而已。不同的算法時(shí)間復(fù)雜度不一樣,空間復(fù)雜度也不一樣,當(dāng)然執(zhí)行的效率也不一樣。當(dāng)然采用哪種算法還取決于你要實(shí)現(xiàn)什么樣的功能。就好比說(shuō):要同時(shí)盡快的找出最大最小,或者盡快的找出最值的位置等等。
冒泡排序(bubble sort) — O(n2)
雞尾酒排序 (Cocktail sort, 雙向的冒泡排序) — O(n2)
插入排序 (insertion sort)— O(n2)
桶排序 (bucket sort)— O(n); 需要 O(k) 額外 記憶體
計(jì)數(shù)排序 (counting sort) — O(n+k); 需要 O(n+k) 額外 記憶體
歸并排序 (merge sort)— O(n log n); 需要 O(n) 額外記憶體
原地歸并排序 — O(n2)
二叉樹(shù)排序 (Binary tree sort) — O(n log n); 需要 O(n) 額外記憶體
鴿巢排序 (Pigeonhole sort) — O(n+k); 需要 O(k) 額外記憶體
基數(shù)排序 (radix sort)— O(n·k); 需要 O(n) 額外記憶體
Gnome sort — O(n2)
Library sort — O(n log n) with high probability, 需要 (1+ε)n 額外記憶體不穩(wěn)定
選擇排序 (selection sort)— O(n2)
希爾排序 (shell sort)— O(n log n) 如果使用最佳的現(xiàn)在版本
Comb sort — O(n log n)
堆排序 (heapsort)— O(n log n)
Smoothsort — O(n log n)
快速排序 (quicksort)— O(n log n) 期望時(shí)間, O(n2) 最壞情況; 對(duì)於大的、亂數(shù)串列一般相信是最快的已知排序