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

教学水平与课程内容

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

考试与给分

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

作业与实验

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

总体评价

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

排序 学期

评分 评分 17条点评

萌萌哒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(逃)

 

(最后修改于 9 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 复制链接
告诉我为什么划重点了啊,有个复习的ppt,很清晰
立即登录,说说你的看法
Merhyi 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

没有 OI 基础。

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

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

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

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

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

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

3 1 复制链接
Merhyi现在可以了(乐)
立即登录,说说你的看法
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) 2025秋 2024秋
袁平波 8.2 (34) 2025秋 2025春...
何华森, 刘东 9.0 (1) 2025秋
朱明 7.7 (19) 2024秋 2022秋...
尹东 6.8 (25) 2025秋 2024秋...
朱明, 於俊 3.8 (4) 2024秋 2023秋...
未知 2019秋
顾理 2025秋

许小东老师的其他课

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