订单分析的好文本

时间:2008-09-15 13:10:35

标签: computer-science

作为一名自学成才的计算机程序员,我常常无法估计特定操作的O()值。是的,我知道大多数重要的东西,比如主要的种类和搜索,但我不知道如何在新的东西出现时计算一个,除非它是非常明显的。是否有一个很好的网站或文字解释如何做到这一点?哎呀,我甚至不知道计算机科学家怎么称呼它,所以我不能谷歌吧。

5 个答案:

答案 0 :(得分:6)

它被称为Big O Notation,它在Computational Complexity Theory中使用。

维基百科文章是一个非常好的起点,页面底部的参考书目也是如此。

答案 1 :(得分:4)

Introduction to Algorithms是大多数大学使用的标准文字。我已经使用过它,可以推荐这些章节进行订单分析。不过,我会从Tim Howland的回答开始。

答案 2 :(得分:2)

如果您真的想学习这个主题,那么您可能需要一个标准的理论/算法教科书。我不知道任何可以实际教你复杂性分析的网站(“复杂性”或“时间复杂性”是你如何称呼这些O()值;你可能也想谷歌“算法分析”或“引入到算法“或等等。”

但在那之前 - 一个免费的选择。在麻省理工学院的Erik Demaine和Charles Leiserson的课程中有一些幻灯片是免费的,看起来很棒。我肯定会尝试阅读它们,看看它是否适合你。它们是here

现在,教科书:

教科书的经典选择是Cormen等人的书Introduction to Algorithms(可能有一个便宜的版本可以购买here而且我记得在网上看到一个免费的(可能是非法的)版本,但我不喜欢不记得在哪里。

Kleinberg和Tardos的Algorithm Design是一本更新的现代风格的书,它让IMO更有趣阅读和更好的选择。

以下是一些有信息的网站(我通过谷歌搜索“算法分析讲义”而没有引号):

以上是由计算机科学理论家撰写的。所以程序员或其他实际人士可能会有不同的意见。

答案 3 :(得分:1)

它被称为算法分析,本身就是一门科学。看看一些书here

答案 4 :(得分:0)

  

您的链接将我带到中的网站   俄语似乎想要一个用户标识   和密码。合法的错误,或   巨魔?保罗·汤姆林

该网站使用保加利亚语,您不需要密码即可访问我链接到的文件列表并下载其中一些文件。除非保加利亚以外的IP有访问权限,我真的不知道。

抱歉,我不知道如何发表评论。