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

有帮助吗?

解决方案

如果你真的想学习这个主题,那么你可能需要一本标准的理论/算法教科书。我不知道有哪个网站可以真正教你复杂性分析(“复杂性”或“时间复杂性”是你如何称呼这些 O() 值;您可能还想在谷歌上搜索“算法分析”或“算法简介”等)。

但在此之前——一个免费的选择。麻省理工学院的 Erik Demaine 和 Charles Leiserson 提供的课程幻灯片是免费的,看起来很棒。我肯定会尝试阅读它们,看看是否适合您。他们是 这里.

现在,教科书:

教科书的经典选择是 Cormen 等人的书 算法简介 (可能有便宜的版本可供购买 这里 我记得在网上看到过免费(可能是非法的)版本,但我不记得在哪里)。

克莱因伯格和塔尔多斯的著作是一本更新、现代风格的书,在我看来读起来更有趣,也是更好的选择。 算法设计.

以下是一些包含信息的网站(我通过谷歌搜索“算法分析讲座笔记”(不带引号)获得这些信息):

以上是一位计算机科学理论家写的。所以程序员或者其他实际的人可能会有一些不同的看法。

其他提示

它被称为 大 O 表示法, ,并且它用于 计算复杂性理论.

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

算法简介 是大多数大学使用的标准文本。我用过它并且可以推荐那些关于订单分析的章节。不过,我将从蒂姆·霍兰的回答中的文章开始。

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

您的链接将我带到以下网站 俄罗斯人似乎想要一个用户ID 和密码。合法错误,或 巨魔?保罗·汤布林

该网站是保加利亚语的,您不需要密码即可访问我链接到的文件列表并下载其中的一些文件。当然,除非对来自保加利亚以外的 IP 进行访问限制,这一点我真的不知道。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top