搜索/排序算法 - 是否有类似GoF的列表?

时间:2010-07-27 16:42:43

标签: algorithm search sorting

我是一名自学成才的开发人员,坦率地说,在确定在任何特定情况下使用哪种搜索或排序算法时,我都不是那么出色。我只是想知道是否有一个设计模式 - 在以太网中可用的常用算法列表供我书签。类似的东西:

算法名称(带别名,如果有的话)

问题解决

大O成本

算法本身

实施例

可以与/替换

一起使用的其他算法

我只是在寻找一个简单,简洁的列表,列出我可能应该在一个位置知道的算法。有这样的东西吗?

5 个答案:

答案 0 :(得分:7)

网站http://www.sorting-algorithms.com/显示了许多流行的排序算法,并描述了它们的复杂性和实现。通过动画展示这些算法如何在不同类型的数据上执行(即预先排序,稀疏,反向排序等),这是额外的步骤。

答案 1 :(得分:3)

This site有一些排序算法的例子,包括视觉辅助工具来帮助你掌握它。我个人喜欢他们展示的各种最佳/最差/平均/少数独特案例。

答案 2 :(得分:1)

Wikipedia has a nice table列出了大多数常见的排序算法及其分类及其复杂性特征的基本分析。

更常见的排序算法具有伪代码和更深入的分析。对于不太常见的排序算法,您可能会更好地在学术论文或实际实现中找到详细信息。

答案 3 :(得分:1)

你应该阅读CLRS。

就问题的多样性而言,有数百万。这一切都来自谜题和数学。

Skienna在不同品种方面存在很好的问题。

答案 4 :(得分:1)

你在维基百科上有一篇很棒的文章。 http://en.wikipedia.org/wiki/Sorting_algorithm#Comparison_of_algorithms

但我建议读一些书。几乎每本书都有一章关于排序。