是否有最常见算法的概述?

时间:2009-01-20 10:06:29

标签: algorithm

我正在寻找算法概述,你时不时需要。 如果出现问题,你要么重新发明轮子,要么花费大量时间寻找一个已经解决过一百次的常见已知问题的算法。

最好的一个是带有排序算法的网站,例如:

  • 压缩
    • ...
  • 解密
    • ...
  • 加密
    • 对称的
      • ...
    • 不对称
      • ...
  • 搜索
    • ...
  • 排序
    • 冒泡排序
    • 快速排序
    • ...

我觉得你能理解我的意思。

您知道哪些页面?

14 个答案:

答案 0 :(得分:37)

答案 1 :(得分:11)

答案 2 :(得分:5)

Algorithms引用了一个很好的Wikibook,由many algorithms articles推荐。

答案 3 :(得分:4)

我强烈推荐Steven Skiena的“算法设计手册”一书。它有你提到的目录结构。

答案 4 :(得分:3)

有一系列书籍,“计算机程序设计的艺术”,如果你想要纸上的东西,它是相当全面的。

wikipedia entry

答案 5 :(得分:2)

这本书很棒:

The Algorithm Design Manual

这与其他答案有关,但是资源很好:

Skiena's Algorithms Lectures

答案 6 :(得分:2)

普林斯顿大学有一些很棒的公开演讲,由R. Sedgewick讲述(左倾红黑树的人和C语言中的算法)

http://www.cs.princeton.edu/courses/archive/spring11/cos226/lectures.php

答案 7 :(得分:1)

答案 8 :(得分:1)

CLRS。

也就是说,Cormen,Leiserson,Rivest和Stein的“算法导论”教科书。

它将为您提供最常见的最重要算法的概述,以及可靠的分析。

一个简单的网站/列表如果在没有扎实理解的情况下过于草率地“剪切和粘贴”选择,那将是一种伤害。

答案 9 :(得分:1)

The Algorithm Design Manual一样,作者管理的在线Stony Brook Algorithm Repository链接到实施。两者都有很好的目录结构。

答案 10 :(得分:0)

除了借调The Algorithm Design Manual之外,我对这本书有过非常积极的体验:

Algorithms in a Nutshell

答案 11 :(得分:0)

询问“是否有最常见算法的概述?”就像问是否有普通数学或科学的概述?

算法是解决问题的技巧&应用数学在许多领域中使用,需要系统的方法来解决复杂的问题,如这些领域/应用:

计算机工程或电气:

图像处理算法

信号处理一般算法

降噪,模拟到数字

CS或IT:

数据管理

安全性(加密,入侵检测)

机器学习

财务,运筹学,计量经济学:

线性编程

动态编程

统计数据Algos&随机微积分

Combinatrics

等...

仅举几例,划伤表面

然而,大多数专业算法都是从CS中遇到的一般情况中推导出来的,所以要回答你的问题,任何涵盖算法简介的书或教程都应该没问题。

这是我在学术界和学术界遇到的最少见的CS算法。专业 1)排序(冒泡,插入,合并,快速)

2)搜索(dfs,bfs)

3)数据结构&遍历数据结构的Algos

4)递归与交互(应研究递归的复杂性,主定理)

5)树木(二元,N元,K树,B树)

6)图形(通过dfs遍历,bfs)

7)哈希

8)常见的数学算法(GCD,指数,不同的矩阵乘法)

9)表达树(构建和遍历)

10)常见的加密算法概述,如RSA,AES等...

如果你研究我上面提到的并且知道时间复杂度(O表示法),这几乎涵盖了CS算法需要知道的所有内容。

我推荐Cormen等人的“算法导论”。麻省理工学院出版社

答案 12 :(得分:0)

最常见的算法包含在Boost中。在这里,您可以找到最常用的排序,搜索或其他算法。使用算法与特定编程语言的使用密切相关。 除上述书籍外,还有一些好的网址 Computer Science Video Tutorials

答案 13 :(得分:0)

我的事实选择是Stackoverflow.com:)

只需搜索关键字" 算法&#34 ;;你会遇到很多问题。