经典排序算法(12)——总结
一、排序算法簡介
排序算法(Sorting algorithm)是一種能將一串數據,依照特定排序方式(依照其中的某個或某些關鍵字的大小)進行排列的一種算法。
常見的排序算法有:交換排序(冒泡排序、快速排序)、插入排序(直接插入排序、折半插入排序、希爾排序)、選擇排序(直接選擇排序、堆排序)、歸并排序、桶排序(桶排序、基數排序)、計數排序等。
二、排序算法評價標準
(1)時間復雜度
時間復雜度是指執行算法所需要的計算工作量,它定量描述了該算法的運行時間。
(2)空間復雜度
空間復雜度是指執行這個算法所需要的內存空間,是算法在運行過程中臨時占用存儲空間大小的量度。
(3)穩定性
一個排序算法是穩定的,就是當有兩個相等記錄的關鍵字R和S,且在原本的序列中R出現在S之前,在排序過的序列中R也將會是在S之前。穩定的排序方法只能是相鄰的元素進行交換。
三、經典排序算法詳細介紹
(1)冒泡排序算法詳解? ? ? ? ? ? ?http://blog.csdn.net/guoweimelon/article/details/50902597
(2)快速排序算法詳解 ? ? ? ? ? ??http://blog.csdn.net/guoweimelon/article/details/50903712
(3)直接插入排序算法詳解 ? ? ?http://blog.csdn.net/guoweimelon/article/details/50904201
(4)折半插入排序算法詳解 ? ? ?http://blog.csdn.net/guoweimelon/article/details/50904206
(5)希爾排序算法詳解? ? ? ? ? ??http://blog.csdn.net/guoweimelon/article/details/50904214
(6)直接選擇排序算法詳解 ? ? ?http://blog.csdn.net/guoweimelon/article/details/50904224
(7)堆排序算法詳解 ? ? ? ? ? ? ? ??http://blog.csdn.net/guoweimelon/article/details/50904231
(8)歸并排序算法詳解 ? ? ? ? ? ??http://blog.csdn.net/guoweimelon/article/details/50904237
(9)通排序算法詳解 ? ? ? ? ? ? ? ??http://blog.csdn.net/guoweimelon/article/details/50904245
(10)基數排序算法詳解 ? ? ? ? ??http://blog.csdn.net/guoweimelon/article/details/50904252
(11)計數排序算法詳解 ? ? ? ? ?http://blog.csdn.net/guoweimelon/article/details/50904257
四、經典排序算法性能比較
參考文獻:
1、排序算法-維基百科?https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95
2、十種排序算法總結(冒泡、插入、選擇、希爾、歸并、堆、快速,計數,桶,基數)
? ? ??http://blog.csdn.net/jnu_simba/article/details/9705111
3、八大排序算法?http://blog.csdn.net/hguisu/article/details/7776068
4、視覺直觀感受 7 種常用的排序算法?http://blog.jobbole.com/11745/
5、經典排序算法總結與實現?http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/
6、8大排序算法圖文講解?http://www.cricode.com/3212.html
7、常用排序算法總結(性能+代碼)https://segmentfault.com/a/1190000002595152#articleHeader11
8、各種排序算法總結?http://www.jianshu.com/p/f5baf7f27a7e#
9、經典排序算法集錦?http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html
10、Data Structures & Algorithms?http://www.cnblogs.com/yangecnu/category/548373.html
總結
以上是生活随笔為你收集整理的经典排序算法(12)——总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础知识——Java集合详解
- 下一篇: 眉毛中间有痣代表什么