排序算法之終章總結與提升

至此我們介紹了插入排序、(冒泡排序)、歸併排序、堆排序以及快速排序,除此之外還有基數排序,計數排序和桶排序。

其中冒泡排序效率低且沒有插入排序有代表性,就不做過多描述。

對於小規模的輸入,插入排序是一種非常快的原址排序算法(原址指的是輸入數組中僅有常數個元素需要在排序過程中存儲到數組之外)。

歸併排序的效率會更高,但它採用的Merge過程並不是原址的,也就是說會佔用更多的空間。

堆排序是一種原址的排序算法,使用了一種稱之爲堆的數據結構(堆也能實現優先隊列),儘量掌握這種數據結構。

快速排序也是原址的,而且在實際運用過程中往往比堆排序要快,是排序大規模輸入最常用的算法

基數排序,計數排序和桶排序都假定我們對輸入有一定的瞭解,這也限定了它們的應用受到了限制,於是也不做過多介紹。

下面給以表格的形式給出不同算法的運行時間。


PS:博文只是寫出了自己對於算法的總結方便筆者和剛入門的同志稍加了解,若需要做深入詳細的瞭解,必須自己去

看書和思考,另外排序算法是必須要看懂甚至是會寫的,因爲其中的思想對接下來的編程打下了堅實的基礎。

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