学习算法

8

可能是重复问题:
学习高效算法

我最近遇到了一个问题,需要应用正确的算法来解决:计算插件依赖关系

虽然我最终能够理解所需算法的逻辑,但这对我来说并不容易。我之所以能编写出可行代码,仅因为在维基百科页面上有逻辑示例。

作为完全自学的人,没有任何计算机科学或数学背景,我至少想获得一些实际基础,以便能够应用算法来解决问题。

话虽如此,是否有任何优秀的书籍/资源(类似于“算法入门”),它们不要求您完成大学代数9或微积分5,可以教授基础知识? 我并不指望成为巫师,只是想扩展我的问题解决工具集。

进行亚马逊搜索会出现很多书籍,但我希望你们能指引我真正有用的资源。

我唯一有实际经验的语言是Python(还有一点点C),所以我找到的任何资源都需要是与语言无关或以Python / C为中心。


7
为什么我觉得说“这个个人资料图片有冒犯性”? - Bastardo
我也是自学成才,和你情况差不多。我也做过同样的亚马逊搜索,一直在想一个好的起点在哪里。 - matchew
2
@Burn,看起来tMC非常期待那个汉堡。 - Johan
1
我和Burn先生有相同的感觉! - Jay
不要因为我美丽而恨我 :( - tMC
2
学习算法是好的,但也要注意大多数时间你会想选择正确的模块来完成工作,那些已经实现了它们的模块。例如,对于您的拓扑排序,可以使用出色的python-graph模块。话虽如此,您可能会发现Miller&Ranum的“使用Python解决问题的算法和数据结构”有趣。 - ThomasH
5个回答

4

《计算机程序设计艺术》是Donald Knuth所著的一本非常有用的书.


是的,我刚刚为自己买了一套书,它很难应对。 - matsko
这是不是有数学或编程方面训练的人都能够使用的东西? - tMC
1
@tMC 我认为任何算法书对于没有算法课程背景的人来说都会很困难,而Knuth的书则是最难的。如果有什么东西可以轻松地教授任何人算法,那就是在长时间思考和举例子后尝试编写小程序。请查看算法无处不在!祝你好运。 - Bastardo
@burn 我也是这么想的。我猜我正在尝试弄清楚如何自学基本算法课程中所教授的内容。我愿意努力学习,只是需要从简单的开始,逐步提高 :) - tMC
1
“计算机程序设计艺术”不仅是一本书,而是由大约4本书组成的系列。我认为它并不适合作为入门读物。 - ThomasH
显示剩余2条评论

3
一个很好的书是《算法导论》(Cormen, Leiserson, Rivest和Stein合著)。 可能不是最简单的一本,但确实非常好。

1

1

Steve Skiena的算法设计手册非常好。它不假设太多背景知识,并涵盖了算法中几个重要的主题。


0

个人认为算法和复杂度非常有帮助。我也没有计算机科学学位或其他相关背景。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接