学习算法
可能重复的问题:
学习高效算法
我最近遇到了一个问题,通过使用正确的算法解决了这个问题:计算插件依赖关系
虽然我最终理解了这个算法的逻辑,但对我来说,这并不是一件容易的事。我之所以能写出有效的代码,完全是因为在维基百科页面上找到了逻辑示例。
我完全是自学的,没有计算机科学或数学的背景,我希望至少能打下一个实用的基础,以便能够应用算法来解决问题。
所以,有没有什么好的书籍或资源(类似于“傻瓜算法”之类的)不需要你完成大学的代数或微积分课程,就能教你基础知识?我并不指望自己能成为高手,只是想稍微扩展一下我的问题解决工具箱。
在亚马逊上搜索了一下,找到了很多书,但我希望你们能推荐一些真正有用的资源。
我唯一有一些实际经验的编程语言是Python(还有一点C),所以我找到的资料需要是语言无关的,或者围绕Python/C展开。
5 个回答
1
我发现以下资源对我自己很有帮助:
- 《算法分析:一种主动学习的方法》,作者是杰弗里·J·麦康奈尔;
- 《Python算法:掌握Python语言中的基本算法》(开源专家之声),作者是马格努斯·李·赫特兰。这本书在我看来和前一本书很像,但它是从Python开发者的角度来讲解的;
- http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs
3
一本很棒的书是《算法导论》,作者是科门、莱瑟森、里维斯特和斯坦。
这本书可能不是最简单的,但确实非常好。
4
唐纳德·克努斯的《计算机程序设计的艺术》是一本非常有用的书。