数据结构及其算法(许小东) 2026春 2025秋 2024秋 2023秋 2022秋 2021秋  课程号:21007002
2026春 2025秋 2024秋 2023秋 2022秋 2021秋  课程号:21007002
7.8(18人评价)
7.8(18人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
选课类别:计划内与自由选修 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:信息科学技术学院
课程层次:专业基础   学分:3.5
课程主页:暂无(如果你知道,劳烦告诉我们!)
AI 总结 AI 总结为根据点评内容自动生成,仅供参考

教学水平与课程内容

许小东老师的《数据结构及其算法》课程内容适中,适合没有 OI 基础的学生。教学细致,以 PPT 为主,内容详实,图文并茂且适合复习与自学。课堂教学逻辑清晰,注重算法的理解和实现过程,时常结合画图解释复杂概念,帮助学生理解数据结构性质、实现方法和应用举例。然而,课堂气氛因语调较为平稳,可能略显单调。

考试与给分

考试难度被普遍认为友好,偏向考察算法的理解和数据结构的性质,较少涉及手写代码。部分学生反映考试复习能够通过往年题型提升,因考题内容重复度较高。而作业和考试原题重复度高有助于获取好成绩。尽管优秀率普遍达到较高水平,高分段较为严格,个别学生反映遭遇绩点被压。许老师可能会将卡绩点学生总评调低一分以避免尴尬局面。

作业与实验

许老师的作业题质量高,但难度和题目理解有时超出考试。评分严格,平时分的重要性较大。实验包括 6 个常规项目,难度适中,主要考察编程细节和 C 语言基础。有学生建议把老师的代码改成个人习惯的样式以便理解。作业和实验被视为复习的重要资料,但禁用 STL,强调基础代码练习。

总体评价

学生对该课程的教学质量持正面评价,认为内容充实且递进,能有效帮助构建算法知识框架。但对于追求高绩点的学生而言,可能需要付出更多努力以避免因评分严格而卡绩点。学习成果上,大多数学生对数据结构和算法的理解有所提升,并建议复习往年题以有效减少考试压力。

排序 学期

评分 评分 18条点评

萌萌哒mmd 2025秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

本学期助教这门课,虽然感觉这学期的助教体验不太好。这门课的培养方案自25级起已经调整,以后多半是会在春季开课(为了塞新的ai课,把数据结构提前到1春,计嵌提前到2秋)。写点东西给后面的助教参考。

随堂方面只需要每周去一个助教收作业,也就是两周一次早八。对于大四老登来说实在是有点困难,助教为什么不能翘课呢

改作业方面,题目大概率是祖传的,但是老师会把选项调换导致答案出错,另外手写代码题有一点多,即便是手写,大部分的手写代码经常是一点注释没有,同时有llm生成的味道,改起来非常坐牢。

实验方面,是让我比较难绷的,这个班还是祖传的几个实验(约瑟夫环,停车场队列,Huffman树,MST,hash表),可以说是没什么意思。多文件编译配环境教学部分翻车了,我先是拿隔壁班的tutorial(配置launch.json的)抄了一下,又觉得应该使用cmake tools更加《工程化》一点(事实证明这些祖传实验都只能是强行工程化)。然后给的模板CMakeLists.txt还让学生在pdf里面复制,导致了神秘未显示符号bug。事实证明,直接使用图形化的cmake tools就行了,方便且不会出错,对于这几个实验也够用了,调试也方便。当然我自己也是半吊子,只会用,但是出了问题不知道怎么解决,只知道把build文件夹删掉重启一下就好了(逃

然后的都是神秘问题了,实验的问题基本都聚集在文件读写上面,空格/回车没读之类的,几乎没有处理过和数据结构相关的问题,ai的使用非常泛滥,但是难绷的点是90%的人都不会用coding agent,经常看到有人在手机上打开豆包,然后在电脑上敲。然后就是很多人对ai生成的代码一点不看,最后一个哈希表实验,要求对给定的不同源程序文件进行扫描,利用哈希表统计获得C语言关键字的使用频度。本意就是个统计单词出现频率,但是很多人写了复杂的逻辑让字符串,注释中的关键字不被统计。按理说就算这里的表述模糊了,当结果和助教不一致的时候,应该能反应过来和助教进行讨论这部分的处理,然而由于都是纯llm生成的,最后对照频度表折腾半天,才让我们反应过来了。最后两次实验还特地提问了MST使用的算法流程,哈希表解决冲突的方式,然后有人看着代码都回答不出来(那你实验是怎么写的.jpg)在ai时代下怎么设计实验已经成为了一个困难的问题,我个人是赞成使用ai的,但是允许使用ai又会导致变得课程实验变得太复杂。考虑到大部分小登只会手机上打开豆包这种操作,或许搞一个大点项目会比较好?

考试方面,比较常规。这次的卷子似乎略难,但是我们班考的比较好。听过一点老师上课,在生源没有明显差异的前提下,这确实可以展现一点上课水平。过几天出G,反正说是调分到正态分布。(感觉压根没怎么调,好像别的班也差不多?)

然后还有一些课程无关问题,这门课使用wx群,我个人喜欢wx用于处理家庭,实验室的事情,qq用于和朋友聊天,水群娱乐。我也确实通过当助教认识了很多朋友。使用wx群使得这件事情变得严肃无趣了很多,直到学期末才有人发现我原来就是mmd(逃)

 

(最后修改于 10 4 复制链接
彩笔在此多文件ai就没那么好使了
TheBunniestForever回复 @彩笔在此: cursor有话说(
彩笔在此回复 @TheBunniestForever:有点 降维打击了吧
TheBunniestForever回复 @彩笔在此: 那确实(x
立即登录,说说你的看法
  • 课程难度:简单
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:简单
  • 作业:中等
  • 给分:一般
  • 收获:很多

        许老师上课,一个字:;两个字:平稳。基本上听不出老师的语调起伏,某种程度上可能比较催眠?但对于一个毫无OI基础且新转来网安的小白来说,这样的基础课是不敢不听的。细听之下居然还找到一些感觉,虽然平稳,但老师上课的逻辑清楚,极有耐心,但凡碰到稍显复杂的过程都会画图讲解(而且他的手和他的语速一样慢),有时候确实让人着急

        还值得一提的是许老师的PPT做的很好,图片与代码都很详实,适合提前预习,也适合考试前复习。

        课程总体内容不难,甚至可以说偏简单。一个章节可以大致分为:数据结构的性质、具体实现方法(一般是顺序和链式)、应用举例。没有涉及到很高深且难以理解的算法。性质(比如栈的先进后出)和实现方法(循环队列的判空判满条件)对应考试的选填,应用举例一般是算法,对应考试的简答和代码题。

        实验仅需完成那千年不变的6个,24年没有选做题,不知道之后会不会有。课程快结束的时候许老师问过同学,实验的时间主要花在C的语法bug上还是数据结构的实现上,大部分同学似乎都是前者,所以C的基础还是有参考意义的。实验可以补交,而且每次实验的时间总体还是宽松的。我自己习惯在宿舍敲好代码,线下去机房直接提交,但最后一次哈希表的实验公布题目太晚了,以至于只能在机房写,最后也在一节课内完成了(没想到文档给的参考输出居然有错,害我找了好久的bug……本来可以当堂课提交的)。

        来一个马后炮,实验推荐自己“造轮子”,就是自己实现一遍各种数据结构的代码,或者把老师的参考代码改成自己喜欢的形状狠狠塞进u盘,方便随时include。比如我个人喜欢用 & 引用传参,但老师的代码很多是用 ** 实现的,直接套老师的代码会很别扭,也容易和自己的写法冲突导致语法bug,所以后期我都是临时手动改他的参考代码,挺费事但又懒的自己写一遍(别学我)。我25春学期会监督我室友按照这套办法做,看看效果如何 \doge。

        作业偏难,真的,所以如果你平时要借助AI那放心,这不是你的问题。不夸张的说作业不论是选填还是大题,都有许多是超过了期末考试难度不少的。关于作业的给分,我感觉是很好的,虽然助教会写上80、90这样的分数,但从总评来看平时分应该是给满了的(大概吧)。

        考试不重代码实现、不重代码实现、不重代码实现!!!期末考试不需要你把各种算法的代码装满脑袋,它考察的多是数据结构的性质(比如利用栈的先进后出性质判断可能的输出序列)和算法的具体实现过程(比如Dijkstra算法实现中各顶点的状态变化,要求画图描述或者填一个数组),不会要你手写算法的代码。当然代码题需要手写伪代码,但根据往年题和24年期末,考树结构相关的可能性很大,毕竟递归写起来方便,逻辑也清楚。

        最后卷面未知,但我Dijkstra有一个数组的含义忘记是什么了,导致有一小题是空着的,总评居然97,应该是把八九十分的作业给满了,而且卷面捞的力度不小。但毕竟是个人感受,所以给分好坏的评价选的一般。

4 0 复制链接
匿名用户 2024秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:杀手
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:杀手
  • 收获:一般

老师很贴心,这学期为了避免被喷卡绩点,把卡绩的同学直接总评-1

4 0 复制链接
helper 2023秋
  • 课程难度:简单
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:没有
  • 难度:简单
  • 作业:中等
  • 给分:一般
  • 收获:没有

期末竟然考了六七年前的原题,可以说是十分生草。

4 0 复制链接
匿名用户 2024秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

对数据结构这门课的总体感觉就是:上课难度和考试难度完全是天差地别。考前很努力地啃了很久代码,结果发现考试考的绝大多数都只涉及对算法的理解,而不涉及算法如何实现,可以说是相当友好的考试了。复习时可以把重心放在每个算法的实现过程,而不用狂背各种代码。(不过话又说回来,对考验敲代码水平而言,手写程序的确是最次的考核方式,点名批评大一程设考试)

xxd老师的作业出得很神奇,选择题跟考试题型十分接近,有效锻炼考试熟练度。助教在改作业时也会按照百分制认真批改,哪里出错一目了然,复习时对着作业过一遍,差不多就能把概念搞清楚了。同时,老师的ppt内容也很详细。除了期末不给划重点,得去偷看其他班给的重点之外,老师的课还是值得一上的。

不过老师的实验课要求每一次都要去签到,就算已经没有需要验收的大作业也得签到,考核有点过于严格了()

3 1 复制链接
Echo回声划重点了啊,有个复习的ppt,很清晰
立即登录,说说你的看法
Merhyi 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

没有 OI 基础。

实验难度总体尚可,问题多出在编程细节。(我不扎实呜呜呜)

作业题质量挺好,但部分题意不清;作业评分好严苛,平时分-- 的我心在滴血。

ppt 质量很好,老师讲的也很细致,每节课前一般都有小练习,好评。

考试难度不高,题目应该都能写,不过还是被爆了,寄点狂掉qwq。

总体感受,个人对学习成果还是满意的。至少现在,面对自己以前不知所云,只会膜拜的 DFS、BFS 等一堆算法和名词,也能说出自己的看法和理解了。

还是在进步的嘛。给自己点个赞了。

3 1 复制链接
Merhyi现在可以了(乐)
立即登录,说说你的看法
星海扬帆 2025秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

总的来看,这就是一门“背书”性质比较重的课程吧,单论考试感觉主要还是靠背书通过的。()主要内容就是一些常见的数据结构(线性表、栈、队列、串、树、图、查找表)的实现还有一些简单的相关算法吧,另外要学一些比较经典的排序算法。内容量比较大,但是深度一般,且考察以各种奇奇怪怪的知识点为主,从而导致了前面所说的结果。

具体到老师,讲课感觉还可以,以ppt为主,在讲解一些算法问题的时候会有一些板书。整体节奏确实是四平八稳,感受不到太多的起伏,可能会比较容易催眠吧hhh。ppt内容感觉还可以,对算法的实现比教材会更加仔细一点,知识点也比较详尽,用来复习还不错。另外老师会在bb上发一些参考代码,可以用来参考,也可以在实验的时候直接改一下自己用。()

平常作业主要是一些概念题和简答题,另有少量算法题,整体难度比较高,一些算法题想不到应该比较正常。助教平常改作业比较严格,会比较严格的按照分数扣分,不过最后看来其实影响不太大。但是有时候作业期限设置不太合理,给出的时间不太充裕,遇到比较忙的时候就比较难受了。

这个学期实验总共有五次,难度都还好,在合理使用ai工具的情况下6个课时内完成应该问题不大,不过建议还是平常有空的时候写好,去机房直接给助教验收就好了,我这个学期除了第一次验收等了比较久,其他总共有没有在机房待一节课的时间都不好说。()实验比较难绷的地方可能是老师发的实验说明文档里面,有些地方说得不是很清楚,导致写代码前揣摩老师意图可能要花一定的时间,另外就是助教在验收代码前有时候会提出一些其他要求,最终就产生了一个如同助教所说的很难绷的结果:数据结构实验中的几乎没有和数据结构相关的问题。。。在这门课的实验里面,相比于数据结构本身的实现,可能满足一些奇奇怪怪的格式和读取要求要来得更难。最后要挑一次实验写实验报告,不过要求还是比较宽松的,只要按照老师发布的模板的要求正常写就有10分了。

往年卷资源及其匮乏,看来看去也就是那么几张,而且由于考试内容中有大量选择题等,题量又大,很难去记忆并带出一份回忆版往年题,不是很利于考试复习。复习还是以复习ppt和作业题为主吧,最后再写两套往年卷熟悉一下题型就差不多了。今年的考试还是不出所料,考察以理解和概念居多,记住各个算法的实现过程就可以应付大多数问题了。(不过说实话工作量也不算小了,而且这个学期电磁学C和这门课是连在一起考的,突击时间不算充足,还是要平常多花时间)难点可能是题量很大,考点很零碎,稍微没记清楚就要花蛮多时间去想,三道算法题应该都比较简单,最大的限制可能是前面题目太多,导致写到最后一道题的时候根本没有多少时间了…这也体现了这门课至少在考试中存在的一个比较显著的特征:重概念和思想,轻代码实现。换句话说,多背书。()应该说,对于信院同学来说,可能要求本来就没有那么高。如果个人有更高追求,还是应该平常多写点代码吧。

最后给分怎么样不好评价,问分的时候助教只说了总评,没有告知卷面分数,我也没去查卷,所有不是很清楚具体情况,但是似乎确实有一些人被卡绩了?(身边不完全统计法)虽然说信院主要看加权平均分,影响没有那么大就是了。

总的来说,算是一门中规中矩的课吧,程设学得过的去的情况下这门课也不会太难。由于某门神秘课程的原因,从下一届开始,这门课要变成一春上了,也有好处吧,不至于像我们一样,一个学期不怎么写代码,开学先要回忆程设知识…代价可能就是一春压力会稍微大一点了,各位请加油。

2 0 复制链接
Dune 2021秋
  • 课程难度:简单
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:简单
  • 作业:中等
  • 给分:超好
  • 收获:很多

老师上课认真,ppt的内容也比较充实,会适当补充部分内容,平时作业是通过bb系统提交,内容和题型和考试相关,期末也遇到不少原题,6个实验感觉大部分偏简单,基本是涉及到的章节算法设计的复现,套了个应用的外壳。给分优秀率基本给满了,平时作业和实验认真做问题不大,95飘过。

2 0 复制链接
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

量信人的第一门信院课,中规中矩的课程。

考试的时候大部分题目是类似于应用题,就是让你人脑推演算法的运算步骤,比如让你画一下Dijstra算法每一步的运算。所以对于书上指针乱飞的实际代码并不会太考察,有一种奥数的美。课程挺好的,不太喜欢这种考试形式。

给分一般,基本没捞。

1 0 复制链接
匿名用户 2023秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

感觉班里大佬很多,所以只在大一学过c的话,想拿高绩点确实吃力。东哥讲课真的很清晰,ppt做的也超详细,我c学的不算很好,所以上机实验课确实有点难,但是还是跟着老师把数据结构这门课掌握了,学期末也开放了课堂回放便于大家复习。另外我感觉东哥还是很奶的,给我东哥满分,推荐大家选东哥的课(东哥的线电讲的也不错)

1 0 复制链接
摸鱼的鱼儿 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

这学期置课置了这个班,就没换了。

老师的课上的还是不错的,认真听的话,ppt上的算法都是能听懂的。

考试比想象中简单。考前还在想一些复杂算法的代码可能手写不出来,然后发现后面的20分编程题貌似只考链表和树,可能还会穿插排序、查找算法(貌似这课每年都这么考?)。

给分方面的话,老师会把优秀率拉满,但是高分段会比较杀。本人卷面91,总评92)))没卡绩,但我的评价是如卡。(叹气)

想了半天原因,觉得可能是,就算作业实验都认真写认真交了,大家平时分也都不是满的,然后总评会因此扣个两分?(但我作业分也不低啊。。)

所以大家如果只是想拿优秀的话,这个班挺好的。但如果有更高的追求,建议换个平时分能拉满的老师(哎,叹气)

1 0 复制链接
USER__name 2023秋
  • 课程难度:简单
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:没有
  • 难度:简单
  • 作业:中等
  • 给分:一般
  • 收获:没有

《数据结构及其算法》这门课程基本学不到什么东西,如果在大一的《C语言程序设计课》上拿到了3.7以上的绩点的话,这门课应该对你来说会学的比较轻松。

本课程大概讲述了一些数据结构,算法内容其实不算很多,实际上也就了解一下就能够应付期末考试,但你深入学习这个课程也不会教你更多的东西。数据结构平常稍微听一下也就会了,不需要什么思考。而本学期学的数据结构基本可以在C++STL内实现,所以做实验的时候禁用STL(要是给用那还用做实验?)。所以经过这个学期最大的收获可能是链表运用的十分熟练(bushi

老师讲课讲的不错,会在课堂上演示数据结构、算法是如何实现的,对于理解有很大帮助。

鉴于助教作业分给的过分低了(作业按照考试来改)导致卡绩点,故给这门课送上助教给过我最低的作业分。

1 0 复制链接
Kmouse 2022秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

复习的时候一定要看一下往年题,熟悉一下题型,还有就是最后最好用教材复习,其他书有时候术语不统一,本人就吃了大亏🤕

(最后修改于 1 0 复制链接
sigmaster 2022秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

养生班,有一次点名没到,考前看作业题速成,不过最后还能有3.7,优秀率38%

1 0 复制链接
log 2021秋
  • 课程难度:简单
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:简单
  • 作业:中等
  • 给分:一般
  • 收获:很多

老师之前是教线电的,貌似这是第一年带数算课。ppt做的炒鸡好,适合自学和复习(不过有几处错误)。课前做几道题带你复习,课程讲的很细致,容易听懂(也容易犯困),讲算法的同时注重代码实现(我室友的老师很多内容只讲算法,毕竟是信院课)。 老师在群里答疑的时候说一些“然”,“思密达”,“元芳”之类的骚话orz。 作业题出的相当好,期末不少原题...不过我考试翻了,优秀率38%,总评88也还不错。

1 0 复制链接

其他老师的「数据结构及其算法」课

顾为兵 9.6 (18) 2019秋 2018秋...
刘东 9.0 (35) 2024秋 2023秋...
於俊 9.7 (3) 2026春 2025秋...
顾理 9.0 (3) 2026春 2025秋
袁平波 8.0 (36) 2026春 2025秋...
刘东, 何华森 9.0 (1) 2025秋
朱明 7.7 (19) 2024秋 2022秋...
尹东 6.9 (28) 2026春 2025秋...
朱明, 於俊 3.8 (4) 2024秋 2023秋...
未知 2019秋

许小东老师的其他课

线性电子线路 8.9 (26) 2025秋 2024秋...
线性电子线路B 9.5 (2) 2017秋 2016秋...