自学编程 9 年,想学算法,有可以推荐的书吗?

2020-05-28 22:24:24 +08:00
 hackzx

rt,题主从小学起开始自学编程,但总觉得每每会了入门了一门语言却很难有所提升,总感觉无论怎么学都跟大佬们相差了很大距离。由于没有老师,9 年来学会的东西很多,从前端到后端,从嵌入式到计算机软件,各类流行技术、框架,语言等等都有进修。

始终觉得自己学的越多,越觉得自己菜的到家。

今日浴室奇想,醒觉算法也许可以让我停滞的修为有所提升。但因为此前没有怎么接触了解过如何去体系化学习算法,想找些书看。有些编程基础,请问我应该找哪本书看会更适合呢?

7521 次点击
所在节点    程序员
51 条回复
namelosw
2020-05-29 11:16:25 +08:00
大部分工作中其实很少用到算法,如果用的话一般也只是过度设计而已。

找了很多算法入门的资料,其实没有太好的,只能反反复复看一看,最后从适合自己,或者自己感兴趣的入手。

基本上分几类,严肃点的就是 CLRS,如果 CLRS 太复杂就从 Princeton 开始。另外 Amazon 前 CTO 写比较有意思,书名好像也叫算法导论,不过好像有人也翻译成引论,那本书主要专注于数学归纳法相关的算法,可以解决很多问题。
还有就是课,比如 MIT 的 OCW 有 Erik Demaine 教的算法和高级算法和数据结构感觉不错。
还有就是科普向的书,比如上面说的 Grokking algorithms,可以入门试试。
还有就是一些旁门左道,比如我最近发现一本 Common Lisp 的算法书,打算试试。
最后就是一些各领域的不同风格算法,比如分布式算法,比如 persistence data structure 的算法 - CMU 有一本 Okasaki 之类额。
LoNeFong
2020-05-29 11:18:39 +08:00
看山是山,看山不是山,看山是山, 反复横跳,很正常的
keshawnvan
2020-05-29 11:50:34 +08:00
极客时间上的数据结构与算法之美
121121121
2020-05-29 12:07:01 +08:00
刷 acm 的题目
HerrDu
2020-05-29 13:59:17 +08:00
编程学明白了?
HerrDu
2020-05-29 14:00:28 +08:00
高纳德 出过一个系列的书,你先慢慢看着。
Meli55a
2020-05-29 23:19:27 +08:00
兄弟,非得干这一行吗?
irgil
2020-05-29 23:29:56 +08:00
我只推荐我看过的,
先看算法第四版,有公开课。
然后看 csapp,也有公开课。
两个都要做课后作业 。
然后学习 mit 6.828 。

其次你还是学生,好好学线性代数、微积分、运筹学,很有帮助。
ChanKc
2020-05-30 00:05:28 +08:00
Introduction to Algorithm 。不过这个的前置课程( prerequisites )是数据结构,线性代数(有涉及矩阵乘法)和高等数学(有涉及到无穷级数)
dearmymy
2020-05-30 02:05:39 +08:00
@hackzx
你在大学那就可以慢慢学了,算法前置技能太多了。数学,数据结构都是。建议你算法放到后面几年在动。
geemaple
2020-07-08 20:58:04 +08:00
《算法技术手册》/ Algorithms in a Nutshell

《 STL 源码剖析》/ The Annotated STL Sources

《算法心得:高效算法的奥秘》/ Hacker's Delight, 2nd Edition

《数学之美》

《编程之美 : 微软技术面试心得》

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/676472

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX