关于学习数据结构与算法分析,请教几个问题

2020-08-12 13:31:00 +08:00
 chnhyg

先简单介绍下情况,非科班,没有学习过高中数学和大学数学。(高中数学会一点点,这里暂且就当没学习过它吧。)

随着工作年限的增加,我越来越意识到,数据结构与算法的重要性,所以想系统地、全面地学习一遍数据结构与算法。

经过多次分析与筛选,我最终购买并尝试阅读了《数据结构与算法分析》。但是对于目前的我来说,数学公式几乎看不懂(指数、对数能看懂),没有办法继续阅读下去。看第一章里讲,似乎需要掌握指数、对数、级数、模运算与证明的方法才可以继续阅读下去。

那么,我的问题来了:

  1. 有没有比《数据结构与算法分析》更适合的教材?(基本确定就是这本书了,不过还是想听听各位前辈们的建议。)
  2. 是不是掌握指数、对数、级数、模运算与证明的方法就可以开始阅读这本书了?
  3. 对于将来能够系统地、全面地学习数据结构与算法,还有没有什么数学知识点最好也一并掌握了?
  4. 对于掌握以上数学知识点,有没有适合自学的数学课本 /教材推荐?

先提前谢谢各位前辈们了。

1970 次点击
所在节点    问与答
15 条回复
agriphar
2020-08-12 13:42:19 +08:00
要不。。。
先补补数学?
xilou31
2020-08-12 14:22:44 +08:00
听语气像是工作了挺多年的,但是问的问题差点以为是个初学者....如有冒犯请见谅

1. 适合初学者的话,还听说过一本《大话数据结构》
2. 《数据结构与算法分析》,说的是黑书那本?印象中那本书不怎么需要数学知识吧,那本书算是比较浅的,只要到图的部分才需要数学知识。
3. 建议等学到相应的算法,再去掌握对应的数学知识。
4. 这个我真不知道怎么回答。
wysnylc
2020-08-12 14:26:18 +08:00
慢慢看,先挑喜欢的看再挑有用的看
看一本书学不会什么,少看一本书也不会少什么
Vegetable
2020-08-12 14:32:20 +08:00
基础的数据结构和算法,几乎不需要什么数学知识,仅有的计算就只是算算复杂度吧。你可以尝试从轻松一点的书籍入手,而不是比较刻板的教材。
TimePPT
2020-08-12 16:01:19 +08:00
《算法》第四版,说是算法,其实数据结构讲得也很细了。
DJQTDJ
2020-08-12 16:05:00 +08:00
把你上大学时候的这本书找出来 《 Data Structures and Algorithm Analysis in C 》
raaaaaar
2020-08-12 18:59:00 +08:00
不是说不需要数学知识,其实最基本的数据结构也有其数学定义,只是我们实际应用是不需要去分析和研究数学证明的,只要能画图分析好每一步做了什么,能转换成对应的代码,但是这是应用方面的,要搞研究那才要深入数学。所以只是应用的话,什么数学都不需要。
chnhyg
2020-08-12 19:34:03 +08:00
@xilou31 #2
是的,确实有几年的工作经验了,但是数学这块还不行,嘿嘿,谢谢你的解答。

@Vegetable #4
其实我也有考虑过看《大话数据结构》和《算法图解》等入门类书籍,但是我想系统全面地学习它,所以会优先选择《数据结构与算法分析》这类系统、全面、严谨的教材类书籍,甚至它要求我不会的一些数学知识。
Stoulla
2020-08-12 20:09:51 +08:00
不如考虑下 mit 的网课?如果你啥都忘了不如看网课自学吧。那个搭着算法导论看再加上用 python 过一遍,我觉得就很扎实了。而且我认为把算法和数据结构分开讨论是不对的,这两个就应该一起学。
misaka19000
2020-08-12 20:16:02 +08:00
@TimePPT #5 这本书我看过,个人非常不推荐,感觉不是很高,极其过誉

推荐《数据结构与算法 Java 版》,不算太厚,读完基本上主流的算法和数据结构都能了解了。说实话,常见的算法和数据结构就那么些,花点时间基本上就能都了解完了。
uuspider
2020-08-12 21:42:45 +08:00
数组、栈、队列、链表、树、散列表、堆、图……
好像敲代码实现这些东西并不需要什么数学吧
chnhyg
2020-08-13 12:49:28 +08:00
@misaka19000 #10
是的,目前就是这本书。


@uuspider #11
看起来不需要,但是书上面的数学公式看不懂。
xilou31
2020-08-13 12:54:59 +08:00
@chnhyg #12
你所说的数学公式..会不会是伪代码,不过我现在手上也没那本书
chnhyg
2020-08-13 13:38:07 +08:00
@xilou31 #13
大概是这样子的。
![31597297035_.pic.jpg]( https://i.loli.net/2020/08/13/69N15S2vaXzkWuG.jpg)
![41597297036_.pic.jpg]( https://i.loli.net/2020/08/13/2Aqv3Yd1NcQFUBr.jpg)
uuspider
2020-08-13 19:15:58 +08:00
@chnhyg 我觉得可以先把代码敲一遍,边敲边看公式,应该可以互相促进理解

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

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

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

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

© 2021 V2EX