数据结构与算法¶
如何认识这门课¶
1. 重要性¶
- 这是一门教你"用程序解决问题"的课程,是深入学习计算机的基础,极其重要,是一门值得花时间的课
- 学习这门课程可以显著的提高你的代码能力
- 是考研408科目、保研复试的重要考察内容
2. 如何对待¶
- 不建议期末突击,要重视平时学习
- 动手实现上课所学,多练算法题,提升整体编程能力,对以后的学习和研究很有帮助
优质学习资源¶
-
清华 邓俊辉《数据结构》
- 内容和学院所开的DSA内容重合度高,使用c++实现
- 老师的主页开源了书的电子版、代码实现、课程PPT、题集与详细解答、MOOC等
连接
-
Coding能力提升
- Coding能力是程序员的硬实力,刷算法题是提升coding能力的非常好的途径
- 刷算法题的网站: luogu, leetcode,codeforce等(请自行搜索)
- 优秀的算法题单库:luogu官方题单、leetcode官方题单(hot100题等),灵茶山艾府
-
b站动画片
- 学习某算法的很好的一个方式是可视化的理解,bilibili上有许多优秀的动画讲解视频来讲解某特定算法,对于某算法比较好的学习路径是:先去b站搜索动画讲解视频,然后通过书本或者ai学习该算法的理论知识等,之后通过代码进行详细实现,然后去刷题网站做相关的题目再写代码。这样的理解会非常深刻,对代码能力的提升也是巨大的。
-
UCB CS61B(java实现)
- 国外著名公开课,覆盖课程要求的算法内容(图论涉及较少)有极其丰富的引导和lab, project等
- proj2是著名造轮子项目gitlet,实现简易git,项目庞大,非常提升内功
- 部分内容侧重软件工程方向,即如何开发完备的、健壮的项目,会对“如何写出一份好的代码”有更好的理解。
- 课程引导和介绍:连接
应试¶
- 理论考试与考研题风格较像,部分题目可能来自考研真题,2024fa考试题目难度也近似考研题目
- 《王道计算机考研—数据结构》是经典著名考研DSA复习资料,题目重点明确,考点清晰,可以拿来地毯式复习考点,用来应试的好资料。对考试考查题目覆盖度高
- 其他学院往年真题的拟合度较低。
- 2024fa的实验考试是上机限时提交,和平时的练习形式一样只是限时,不断网不闭卷。
- 幺零柒同学贡献的DSA笔记:链接
拓展¶
- 算法学习网站oi.wiki作为算法竞赛选手和算法爱好者的聚集地,收集了大量的算法,但是讲解相对比较晦涩,可以移步bilibili搜索某个特定算法的内容。最好的学习方式是自己写代码实现某特定的算法,并去刷题网站上刷题