| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
| 课程层次:专业基础 | 学分:4.0 |
数据结构是计算机学科一门重要的专业基础课,该课程系统地讨论各种常用的数据结构及其应用,各种查找和排序的方法,及其综合分析比较,能够培养学生数据抽象和程序设计的能力,算法时、空复杂性的分析能力。
非cs相关专业,也没有辅修,更多是因为自己的兴趣选这门课。
课程内容
课程教材是最经典的严蔚敏的《数据结构》这本书,这本书的含金量不用我多说。老师上课的内容也是严格按照这本书的编排来讲的。PPT可能略显古董,00年代计算机课程的那种,但是对各部分内容的讲解十分详细,还有不少独特的理解和小技巧。扩充内容甚至包括 C++ 里面的一些规范。期末考前对着 PPT 好好看一遍,再把书上为数不多的课后习题做一遍,就不会有太大的问题。
肖老师上课从不点名,而且会提供课程录播回放,课程群提供 PPT。老师也从不拖堂,到点下课。这也使得上课的人数逐渐下降。肖老师讲课不算快,一点一点把 PPT 上这一面的内容讲完再往下走。他 PPT 上还有各种备注,包括各种拓展内容和小技巧,可见肖老师对课程的准备是十分充分的。期末考前面七章,第八章“排序”不考。肖老师为了内容的完整,以及考虑到各位辅修同学的情况,让大家多了解一些算法相关的知识,花了额外几节课来讲第八章的内容。
期末考核可能是课程比较有冲击力的事。好消息:期末考试手写代码题不算多,不需要肉编大量代码;坏消息:前面基础题很难。我恰好踩点写完。印象比较深的是卷子里考了两道概念题(个人认为概念题真的不应该出现在计算机考试里面);应用题的 T1,考的是比较麻烦的平衡二叉树构建,字典序+多次平衡,排起来很麻烦;应用题的哈夫曼树,要算一个很麻烦的压缩比例……整体计算量确实不小,而且还考了一些容易被跳过的知识点。后面程序设计倒是比较简单,学好递归就不会有大问题。
肖老师也知道这张试卷难,临考试结束的时候特意说:“同学们不要空,有思路用文字说明写上去也可以。”这是什么意思大家都懂🤗
作业与实验
本学期一共九次作业,作业内容都是从《数据结构》这本书上摘取下来的,一次作业也就几道题,内容包括选择、填空、算法设计,写起来很快。
本学期一共三次实验,而且每次提供的时间比较长,每次实验大概两到三周的检查时间,足够同学们自主/AI辅助/抄写代码。上机实验要求使用 C++,不过头文件及相关函数定义助教老师都写好了,我们只需要把函数补充完整就行。考虑到大部分同学是第一次写 C++,助教老师还给了个保姆级的教程,教同学们如何在电脑上跑 C++ 程序(犹记大一秋季学期还用的是 C 语言,借着这个机会学了些 C++ 的内容)。
PS:
这里给个低分保护,看到这里的同学选就完事了