学分:4.0
By——蓝色条纹面包
本门课主要是介绍常用的各种数据结构,如线性表,栈和队列,串,数组和广义表,树,图,查找。主要是锻炼数据抽象能力和程序设计能力,并且要求学生能够对算法的时间和空间复杂度有一定的分析能力,是计算机极其重要的基础课程。
计算机程序设计
总体而言,数据结构是一门较为简单的专业课,且不涉及复杂的算法。但对于基础与代码能力较为薄弱的同学,上手这门课程的内容以及实验可能存在一定难度。这时请善于运用AI解决知识点以及C++语言语法等方面的疑问(而非直接完成你的作业/代码),并且在运用AI时请仔细理解并Review你的代码,这是对你自己能力的负责(也是来自笔者助教的吐槽)。同时不建议 直接向助教提问显然可以使用大模型解决的(或未经思考的)疑问/吐槽为什么不用OJ/公开吐槽课程太太太简单了 ,以营造一个良好的课堂氛围。
本课程在春季会开课供先修/重修/辅修的同学学习,学有余力或大一下课程少的同学可以提前修读,也可以预先针对当前数据结构了解更多的算法。由于本门课较注重理论与实践的结合,所以可以尝试对很多算法进行复现,深入了解各种数据结构的灵活应用,甚至可以尝试leetcode/洛谷(类似程设作业提交平台,有丰富的题库)
基本上老师都会补充部分深入算法(例如A*,红黑树,B+/B-树等),这些内容并不会出现在实验/作业/考试中,仅作了解即可。
期末闭卷考试,如果平时认真写代码,对各种结构的代码有较深刻的印象,可以从容应对期末的算法题,卷子中的选择和填空以基础理解为主,相对而言比较轻松。
为《算法基础》这门课打了一定的基础,算法基础中的各种算法就是基于各种基础的数据结构运行的,如果能有一个良好的数据结构功底,那么算法基础中的算法理解和代码实现会更加轻松。
数据结构系列课程(数据结构A/B,数据结构及其算法)的课程、考试内容基本一致,且这门课之前的历史复杂,所以往年卷较为难找,可参考部分资料进行复习。
链接:https://pan.ustc.edu.cn/share/index/455f92b0a8a54313bb0b
