算法基础(陈雪) 2024春 2022春  课程号:01114604
2024春 2022春  课程号:01114604
9.6(9人评价)
9.6(9人评价)
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业基础   学分:3.5
课程主页:暂无(如果你知道,劳烦告诉我们!)
简介 最后更新:

在计算机科学中,算法(Algorithm)可以理解为求解问题的一个具体计算步骤。本课程主要介绍算法的基本概念,以及算法设计和分析的基本方法和技巧。课程包含了高级数据结构和算法的若干基本内容:算法分析的基本技术、排序、堆和优先队列、红黑树、平摊分析、二项堆、分离集合、分治法、动态规划、贪心法、快速傅立叶变换、图论算法、串匹配等,和典型计算问题的求解算法。

排序 学期

评分 评分 9条点评

Peanut_Tang 2024春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:很多

前半学期总结和一些花絮:

  • 第二次作业老师不小心上传错了,传成了去年的作业(这也是作业二题面的截止时间出错的原因)。但反正老师最后将错就错了。
  • 这次要狠狠赞美linke的OJ了,系统升级后再也不会日爆了,UI也更加好看了(隔壁数院OJ已经被喷烂了)
  • 大家在群里也都不怎么说话,但这样我管起群来也更加轻松。
  • 大家都不怎么反馈,也不知道讲课、作业、实验、考试是难还是简单了。
  • 我个人感觉今年进度相比去年明显加快,而且作业实验频率明显增高(但反正大家也不说话,我们也就狠狠加码)
  • 考试已经有IDK了,所以希望同学们把答案完全组织好再写上去。看一堆比较混乱的答案还是比较痛苦的(不像IDK一秒钟就可以改一份)

先给大家道个歉,我们没能成功把linke的日爆OJ换掉,今年实验用的OJ平台还是去年的linke OJ。

然后为了不让助教整日被烦着重启OJ,我们做出如下决定:

  • 第一次实验我们会将所有数据都上传上去。
  • 如果第一次实验中途没有出现OJ崩溃的情况,那么以后的实验我们都会把数据全部传上去。
  • 如果第一次实验中途出现了OJ崩溃的情况。那么非常抱歉,后面的实验我们只会把几个测试点上传到OJ上作为pretest。而剩下的测试点会等实验截至后由助教来重新评测一遍。

真的非常抱歉。


让我看看陈雪老师班的选课人数会不会隔代遗传。

或许要当助教了,先来点承诺。

我在23春修读了本课程,预计于24春担任本课程助教。

23春的时候这门课是陈雪老师和邵帅老师一起上的(我的评课),可以看到这门课的风评还是比较两极分化的。大约有一半的体验不是很好。

我在我的评课里也小喷了一下23春助教的失职,但到了我自己要来当助教的时候,我还真没信心说做的比学长们好。

但不管怎么说我会尽可能的去改善往年的一些问题(主要是实验方面):

  1. “日爆”OJ的问题:我会尽可能去和陈老师商量换个OJ,但可能最后换不了(老师目前认为没有必要)。
  2. 实验题卡常卡时间卡空间的问题:这我一定会全力避免。原则上每道题的时间限制我都会开到标程时间的3~4倍,至少也会开两倍时限,空间原则上都会开512MB或者1G。
  3. 实验题题面不清不楚,数据范围不标明的问题:这我也会全力避免。作为打过OI的人,我最痛恨的就是题面和数据范围写得不清不楚。在把题面传上去之前,我会自查若干遍,有无错别字,公式错误,语义不清等问题。当然百密一疏,也请同学们如果发现题面有问题及时向我报告。
  4. 作业难度和临近考试周布置作业的问题:我听说23春的时候作业题目是老师出的比较多(主要是有一位助教生病了请了大半个学期的假),24春的时候或许会是助教来出题了。我第一次当助教可能控制不好难度,觉得太难了可以直接反应的,我会体谅大家的~ 当然我也不会临近考试周来布置作业(如果老师叫我布置,我可能到时候就把题目给大家,大家随便交个什么东西就可以拿满分了)

先说这么多吧。大家对我有什么意见可以直接在评课社区喷我的(别上来就喷脏更好~)。

(最后修改于 10 7 复制链接
红领巾你是助教吗?
Peanut_Tang人少就扔给学长了。
笑死
红领巾支持唐助教!
和oyynwqmsj一起玩原神大二咋当
zjz_sgy唐助教下学期捞我!
snow可能是因为去年选课的人只看评课社区的好评产生了错误认知,但今年选课的人是有正确的心理预期的……
立即登录,说说你的看法
txtxj 2022春
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:很多

上课:纯英 PPT ,但很好理解。老师经常板书证明过程,上课不听下课就不会。

作业:证明题好难,题量一般。前半学期 LaTex 居多,后半学期 OJ 居多。

考试:全开卷,不考背书,书上已有的算法可以直接在试卷上调用。考试主要考算法设计以及证明。

收获:入学以来收获最大的课。陈雪老师太强了,楼上xd说得很对,写作业、上课已经感觉到自卑了……

给分:OJ 满 + 作业 80% + 两次考试排名 35% = 总评 3.7

助教允许公开 OJ 题目,那我就贴个链接

https://github.com/txtxj/USTC-Algorithm

(最后修改于 5 0 复制链接
Gilbert 2024春
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

一图总结写作业带给我的所有感觉,希望最后不要低于 3.0

实验发布了,更新一下,太杀了


被作业杀穿了

(最后修改于 4 4 复制链接
Peanut_Tang是实验太难了吗 如果是我们之后会降低难度的/(ㄒoㄒ)/~~
snow回复 @Peanut_Tang: 以 OIer 的角度看的话,像 lab1 T2 这道题,感觉 OI 选手应该大都做过原题,但初学者很难快速明确思路并熟练运用 priority queue,甚至可能根本不知道有这样的 stl 库从而体验比较差(
红领巾可以定期进行匿名问卷调查(但不确定是否会有人捣乱)
Peanut_Tang回复 @snow: 这题应该是要自己手写堆的。然后你的意见很准确,之后会避免出这种题。(不过貌似面试你叫喜欢出这种题?)
立即登录,说说你的看法
buzhidao 2022春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:很多

陈雪老师的存在就是为了告诉我

人和人的差距比人和狗都大!

讲课很好十分!

扣的一分是用于治疗我轻度抑郁的精神治疗费。

(最后修改于 4 4 复制链接
红领巾太真实了
buzhidao回复 @ABCDE: 抱头痛哭.jpg
gyfer每次和陈老师聊天都感觉被爆杀
SproutH能细说嘛👀
立即登录,说说你的看法
匿名用户 2022春
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

吹爆老师!!!虽然平时作业确实比较难,但是就收获超多+给分超好就可以直接给满分了!

说实话有点小后悔,早知道秋季就不学算法了,不如春季学

3 0 复制链接
腕豪 2022春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:很多
  • 给分:超好
  • 收获:很多

陈老师是清华姚班毕业的,水平自然没得说。这门课对计算机系的同学也比较重要,所以我写一点自己的见解供后人参考。

本人最开始是顾乃杰班上的,但因为顾老师给分太杀不得已到陈老师班上重修(我不知道为什么顾乃杰风评这么好,反正我身边至少五六个3.0及以下的)。

优点

考试开卷,除了电子产品,想带什么带什么。我觉得这一点非常好,因为学习算法本身就应该是学习算法背后的思想,从而举一反三,解决新的问题,而不应该当成文科来考(本人强烈谴责顾乃杰老师考红黑树应该如何删除和插入,这种东西别人都已经帮我们实现好了,只需要调用即可,为什么还要记住?就算记住了几天不看又会忘,不知道有什么意义)。考试的具体内容就是给几道题目,给出求解算法,伪代码或者其他形式均可(我当时不想写代码,就写了一大堆文字哈哈哈)

助教和老师都很负责。助教和老师每周都会安排固定的时间用于答疑和交流,什么问题都可以问,有一次oj的题目比较难,很多人都不会,然后助教直接在答疑的时候把算法告诉大家了。

给分好。本人期中期末都没有复习过(因为重修的原因),期中比平均分高2分,期末比平均分低2分,最后84,我愿意称之为奶王。

缺点:

作业很难(真的很难)。需要较长的时间思考(相比之下顾乃杰班上的作业全是书上原题,直接在网上能找到答案,但是去年开始顾乃杰开始布置原创的题目了,好像是因为他发现大家都在网上找答案,所以以后顾乃杰班上的作业也不会太简单了)

总体来说,很推荐选陈老师的课。

3 0 复制链接
tomorrowdawn 2022春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:很多

先占坑,放一张期末时回忆的期中卷子。这课很难,要说能拿高分,还真没底气。但是收获很多。

/uploads/files/93c45010c1730685ab3439ea7ad26363b339bc6c.pdf

以上为期中卷子。五道选择以及五道(还是六道)大题,只回忆了最重要的两道题,不过也学到很多了。

只希望期末能考好点,比杰哥给我的高个两三档就行。NPC真整不会了(抹泪)

回忆卷中Q1有误,裁剪数组时反了。细节在于n=1的时候需要手动枚举(这似乎更像个递归思路),因为指针分布在两个数组上,无法根据位置判断哪边大哪边小。

期末考完了,寄了

 

期末回忆卷

/uploads/files/e4969330845785ac451be040f377cde62e3c42a9.pdf

 

出分了,给分好。当然如果您对分数比较敏感建议看看算法课的人数,现有的三门算法都曾给分好过,主要的变量是人数,人少则给分慷慨,人多则不拔一毛。

(最后修改于 3 1 复制链接
tomorrowdawn回复 @ABCDE: 不好意思,不可以. Slide属于老师劳动成果, 不能外传.
立即登录,说说你的看法
snow 2024春
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

突然想记录一下每次写作业/实验的感受:

hw1:前面的题目思路都很清晰,shell sort 巨大难,大部分时间都在想这题。

hw2:qsort 正确性怎么这么多 corner cases 啊,这最后一题我咋题目都看不明白啊?

lab1:比 hw 简单多了。

lab2:红黑树 ****。

hw3:主定理咋用来着?FFT咋用来着?Hadamard变换我咋看不懂啊?诶这还有个简单的区间dp,这正确性为啥还要证啊?

hw4:都是经典题,唯一比较难的题目给提示了。

lab3:教的是FFT,实验是NTT。不过整体还好。

lab4:看了眼感觉都是陈题/一眼题,难度一般。


考完期中了,3个选择题+5个大题。

选择题难度不大(一题涉及Set Cover问题的近似比,可以现推)。

五个大题里面前两题难度低于作业/实验,一题为需要一点观察的贪心,一题为二维FFT(需要对FFT较为熟悉才能做),一题为对分数进行O(n)的排序(考场上没做出来)。

期中均分59,中位数64,大约是把较简单的前两道大题做出来,剩下的题目写 IDK。

期中考试.pdf

(最后修改于 2 2 复制链接
Peanut_Tang快速幂上课讲过
Peanut_Tang期中贪心题有要求时间复杂度的,不是O(nlogn)的大概是14分。
立即登录,说说你的看法

陈雪

教师主页: 戳这里

其他老师的「算法基础」课

徐云 8.1 (23) 2023秋 2022秋...
顾乃杰 7.3 (52) 2023秋 2022秋...
李向阳, 谈海生 7.1 (44) 2023秋 2022秋...
张举勇 6.9 (16) 2024春 2023春...
庄连生 4.8 (4) 2019春 2018春...
陈雪, 邵帅 5.1 (16) 2023春
未知 2022春 2016秋...
吕敏 2016春 2012春...
周世哲 2015春 2014春...

陈雪老师的其他课

计算机数学 7.5 (2) 2024春 2023春...
高级算法设计与分析 6.0 (2) 2023秋 2022秋...
算法基础 5.1 (16) 2023春