2010-07-27 53 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有一些排序算法的例子,包括视觉帮助,以帮助你掌握它。我个人喜欢他们展示的各种最佳/最差/平均/很少的独特案例。