【排序算法】總結

轉載來自於:九大排序算法再總結

轉載來自於:排序算法總結

排序的定義:
輸入:n個數:a1,a2,a3,...,an
輸出:n個數的排列:a1',a2',a3',...,an',使得a1'<=a2'<=a3'<=...<=an'。

In-place sort(不佔用額外內存或佔用常數的內存):插入排序、選擇排序、冒泡排序、堆排序、快速排序。
Out-place sort:歸併排序、計數排序、基數排序、桶排序。

當需要對大量數據進行排序時,In-place sort就顯示出優點,因爲只需要佔用常數的內存。
設想一下,如果要對10000個數據排序,如果使用了Out-place sort,則假設需要用200G的額外空間,則一臺老式電腦會吃不消,但是如果使用In-place sort,則不需要花費額外內存。

stable sort:插入排序、冒泡排序、歸併排序、計數排序、基數排序、桶排序。
unstable sort:選擇排序(5 8 5 2 9)、快速排序、堆排序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章