清华邓老师的 《数据结构算法》, C++, 非常经典, 质量非常高, 最大的特色是讨论问题系统完整,难度有, 最大的价值是那套完整的数据结构code,唯一的缺点是题太少,可能是邓老师不主张刷题吧。
要刷题的话,浙大《数据结构算法》, 课程内容也不错(但显然是不如邓老师的课),好处是题多, 有一整个oj给你各种难度慢慢刷,可以好好刷题。
刷累了可以再去考一个姥姥的PAT。
哈哈哈哈。
edx上普林斯顿的《算法》, 也就是算法那本书的作者按照《算法》书的顺序给你讲一遍,java, 讨论问题很深入,PPT非常好。
可以零散的听作为邓老师的课的补充。
当然, 如果你必须要java based的, 那也可以系统跟这门。
最后是stanford的《算法分析与设计》, 是《数据结构及算法》的进阶课。
目前没有可以替代且质量高的中文课程。
这四门这些年断断续续基本都刷完了, 有些内容甚至刷了很多遍。
如果你想要系统的学一遍的话, 建议1先系统啃一遍。
至于MIT的算法和高级数据结构这两门课。
《算法》属于录制课程, 配套不是很完善,视频也不清晰, 难度是有,总之学习体验真的很不友好,在完全木有mooc的当时, mit的全面开放录制课程确实值得d大大的点赞, 但现在来看, 这批视频的质量还有配套设施都有点落后了 , 我个人不是很推荐。
高级数据结构那些数据结构真的是太fancy了, 我真的觉得没什么用。
书这块的话。
不要刷《算导》,不要刷《算导》,不要刷《算导》。
我这辈子就没见过谁,真的刷完了算导。
这就是本工具书,查一查了不得了。
翻译也不是非常好。
看〈算法〉不如去看作者讲的课。
〈算法设计与分析〉是好书,可看。
但我觉得Stanford的课更好。
倒是推荐两本,一本是我软的〈编程之美〉,一本是〈编程珠玑〉,两本都不是那么典型的数据结构教程,而是真的应用算法解决实际问题的书。
其中,珠玑是解决真的工程问题。
而编程之美则是五花八门什么样的问题都有。
最后的最后,万事开头难,如果是选择一件事去做的话,我选邓老师的数据结构与算法课。
首先学习数据结构可以去b站上找一些视频看,书籍的话随便买一本大学教程也可以去买考研天勤或者王道的数据结构,这两本我都看过,很不错的。
下面对于算法,这块很大,学习数据结构只能起到辅助作用,还有很多很多算法思维需要看算法题去学习。
个人推荐leetcode,从简单的开始刷,先单独思考一会,不会的可以看评论还有官方解答,往往一道题可以让你学到多种算法思维。
所以推荐学完数据结构直接刷算法题,而且要精做,不要追求题量。
前面会很痛苦的,要坚持。
当然刷题网站还有很多,牛客,一些学校的oj系统,看个人选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)