2010-07-27 59 views
2

我是一名自學成才的開發人員,坦率地說,在搞清楚在任何特定情況下使用哪種搜索或排序算法並不是很出色。我只是想知道是否有一個設計模式 -esque列出的常見算法在那裏可用於我書籤。喜歡的東西:搜索/排序算法 - 是否有類似GoF的房源?

算法的名稱(用別名,如果有的話)

問題它解決

大O成本

算法本身

例子

其他算法爲基礎,可用於/代替


我只是尋找一個簡單,簡明的算法列表我可能應該知道在一個位置。有沒有這樣的東西可用?

回答

7

網站http://www.sorting-algorithms.com/顯示了許多流行的排序算法,並描述了它們的複雜性和實現。它通過動畫顯示了這些算法如何在不同類型的數據上執行(即預先排序,稀疏,逆向排序等)。

+0

啊你打我。 – James 2010-07-27 16:47:32

1

Wikipedia has a nice table列出了大多數常見的排序算法以及它們的分類和對它們複雜性特徵的基本分析。

更常見的排序算法有僞代碼和更深入的分析。對於較不常見的排序算法,您可能會在學術論文或實際實現中找到更好的運氣。

1

您應該閱讀CLRS。

在問題種類方面,有數百萬。這一切都來自謎題和數學。

斯凱婭有不同品種的問題。

3

This site有一些排序算法的例子,包括視覺幫助,以幫助你掌握它。我個人喜歡他們展示的各種最佳/最差/平均/很少的獨特案例。