(必修)数据结构与算法
本门课由大一下开设的 3.5 学分的《数据结构》和大二上开设的 2.5 学分的《算法设计与分析》合并而来,对原有的课程内容进行了大幅的压缩删减,请注意使用资料时选择对应内容使用。
以下部分资料来自原《数据结构》和《算法设计与分析》的内容,请注意区分。
教材和参考书
- 数据结构(C 语言版)/严蔚敏著,北京:清华大学出版社,2021.6.1,ISBN:9787302147510
- 算法导论 Introduction to Algorithms/Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein 著,殷建平、徐云、王刚、刘晓尧、苏明、邹恒明、王志宏译 -3 版,北京:机械工业出版社,2012.12.1,ISBN:9787111407010
- 数据结构与智能算法/张海军,马江虹,张正著,北京:清华大学出版社,2025.3.1,ISBN:9787302684381
- 数据结构与算法/廖明宏,郭福顺,张岩,李秀坤著,-4 版,北京:高等教育出版社,2007.11
- Fundamentals of Data Structures in C/Ellis Horawitz, Sartaj Sahni, Susan Anderson-Freed 著,李建中,张岩,李治军译,-2 版,北京:清华大学出版社,2009,ISBN:9787302186960
- Data Structures, Algorithms, and Applications in C++/Sartaj Sahni 著,汪诗林,孙晓东译,北京:机械工业出版社,2019.9,ISBN:9787111496007
授课教师
原数据结构老师
- 黄虎杰
老师授课采用电子版教材 + PPT + 录播视频 + 线上授课(疫情期间)+ 课堂讨论的形式,PPT 按照课程进度提前一星期下发至 QQ 群,还会下发已录制好的幕课视频,课前发讨论题,供同学们提前预习。
课程认真听总是好的,但很大概率会睡着,部分知识点听不懂可以上 CSDN 看看大佬们的理解。
助教基本负责作业批改相关工作,有问题可以直接在 QQ 群中提出。老师会回答。
- 张海军
没上过老师的课,但是大一上就对这位老师有所耳闻,听说非常「规格严格」,大一立项开题答辩这位老师就在场,很有气场,莫名感到害怕。
原算法设计与分析老师
- 何震宇
上课认真负责,讲课比较生动,算是我上过课的老师里较为接地气的一位,几乎每节课都会对上节课有简单的回顾,如果有认真听课会更容易理解掌握学习内容。但是语速较快(加上疫情返校戴了口罩),刚开始会不习惯,很难跟上,但是经过反映和熟悉后好了很多。会给上课积极发言的同学较高平时分,所以课上有发言机会要积极把握。
ppt 做的很详细,相应例题的解题方法与代码都非常清楚,可以作为考前主要复习资料之一,每节课都会把 ppt 发在群里,若是有修改也会及时更新。但是 ppt 的颜色和字体搭配有点瞎眼,滥用红蓝色和粗体。(推荐看户保田老师的 ppt)
作业题量不大,但是基本覆盖所有考点,都属于很典型的题目,认真写了的话会有较大帮助。
关于实验
数据结构实验应该是整个大一最头疼的实验课了。实验按照学习内容进行展开,每年各实验大致方向应该都不变,基本是考察链表、栈、队列、树、图、排序等相关操作及应用,难度总体呈递增状态。
实验题目在每次实验课开始时公布,包括实验题目,一个有代码框架的 .c 文件(需要自己补全,也可以自己写),下课前一个小时会发布助教的输入,要求输出正确。
同学们需要在下课前将源代码及运行结果截图发送至指定邮箱,课后撰写实验报告并在截止时间前发送至指定邮箱。课上的代码程序部分占 50 分,实验报告 50 分。对于源程序和实验报告的分数评定,老师有一套很详细的评分标准。
课上写程序时遇到问题可以自行上网查询或及时求助助教或老师,千万不要一直被卡在那里,否则很有可能在下课前交不上源程序和运行截图。有两次免课上提交的机会,尽量留到后面比较难的实验。
2020 级课程实验取消课上验收环节
课上课后投入时间一言难尽,有时候感觉自己写的不是代码,是一堆 bug。有时候一两小时写出的代码,debug 要花一整天(永远有发现之后特别想抽自己的那种 bug,叹息),实验报告有格式内容要求,特别耗时其实。一般实验报告都得写好几个小时。
实验报告占分很高,需要熟练使用流程图绘制,内容排版,尽量写多点。
关于考试
原数据结构考试
19 级考试难度不大,都是基础知识的选择题、填空题,大题和实验相对简直是非常友好,两三道基础编程题,其余的分析题基本是作业里见过的。实验都熬过了,相信大部分知识也掌握得差不多了,知识点细节考前可以梳理一遍。但是时间不太够,需要做快一点。
打分应该还算友好的,得分情况不太清楚。但个人一直觉得计算机学院的课程一般平时听不太懂很煎熬但考试反而没有想象中那么难,考前复习一遍知识点,应该没多大问题了。
20 级的考试难度较大,和往年差很多,应该不具有太大参考价值,改的也蛮紧的,捞人,但捞的不太厉害。
原算法设计与分析考试
考试的内容及考点基本上全部包含在了上课的 ppt 和作业里,基础题占百分之七十以上甚至还有可能会有原题,所以对于认真复习了的同学来说还是非常友好的,挂科率也较低,最高分可达到满分。
考试很简单,而且老师之前吓我们说有的证明都没有,有些失望(白看了许多证明),都是简单的作业题,细心一点就可以全部做对。考试中考到了 ppt 中的一个错误,但是这个错误 ppt 并没有改正,不知道之后是否得到纠正。
学习建议
原数据结构建议
作业题很有可能会出现在期末试卷上,一定要认真对待。不懂的地方百度或者求助大佬,搞懂为止。做了就有蛮高的分。
这门课程最硬核的点当属实验了,做出实验的前提是课堂知识的掌握,非常有必要课前预习,不然上课很容易听不懂而且听着听着就睡着了。
课后及时复习并尝试着上机写一写各类数据结构的相关操作,重在实操,光看代码是学不进去的,一定要多动手多写代码。
考试前复习一遍 PPT,善用搜索引擎,对于各种比较重要的算法和不太懂的地方,上网看看大家的理解。
资料下载
如果你是校内学生,可点击如下「内网网盘」按钮查看本门课程的电子书、课件和实验软件等。
- - / -assignments文件夹
- - / -2021 春数据结构_mbf文件夹
- - / -exams文件夹
- - / -labs文件夹
- - / -2020 春数据结构文件夹
- - / -exp1文件夹
- - / -exp2文件夹
- - / -第一套题文件夹
- - / -第二套题文件夹
- - / -exp3文件夹
- - / -exp4文件夹
- - / -exp5文件夹
- - / -notes文件夹
- - / -数据结构文件夹
- - / -2020_ailanxier文件夹
- - / -img文件夹
- - / -2020_hewei文件夹
- - / -2022_YOUNG文件夹
- - / -算法设计与分析文件夹
- - / -2019_LoanCold文件夹
参与
HOA Core 成员有意重构 hoa 的网站,以接入更多的专业,实现更好的体验。如果你对资料分享或者网站搭建感兴趣,即使来自其他专业,非常欢迎你联系/加入我们 Core 团队。这里有我们初步的重构计划。
同时,HOA Core 初代成员已经毕业,如果你想加入 HOA Core,请阅读我们的博客了解更多:《HOA 的未来,需要你一起来书写》。