※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 ID)
(是/否/其他条件):
是
哪一学年度修课:
103-1
ψ 授课教师 (若为多人合授请写开课教师,以方便收录)
陈和麟老师
δ 课程大概内容
期中考:
- Definition of algorithms
介绍算法大概的用处,和这门课的导向
- Time complexity and Asymptotic notation
就是Theta, O, Omega notation的定义
然后介绍上述五种notation的transitivity, reflexivity, symmetry
- Recursive relations
递回关系的严谨解法,包含repeated substitution, recursive tree,
master theorem. 最后是linear recurrance的标准解法. 和一些特殊
解法(指数代换等)
- Sorting
算法课程的重头戏之一,内容包含insertion sort, bubble sort,
stupid sort, merge sort, quick sort, heap sort, radix sort
然后会是order statistics
- Codes
和密码学有一点点关系,但是介绍的比较浅,主要讲了一下Huffman
- Dynamic programming
Dynamic programming的应用,因为之后还会用到很多,所以讲满细
的,也算是期中考重点之一
期末考:
- Data structure
包含Heap (min heap, Fibonacci heap, binomial heap), disjoint
sets, hash table可以支援的指令(supported commands)和实作方法
- Graphs
期末考重点,讲到了BFS、DFS、shortest path、Strongly connected
components (SCCs)、 topological sort 和 Max flow
特别的算法的话有讲到Kruskal's, Prim's(minimum spanning tree)
Dijkstra's, Bellman-Ford, Flogd-Warshall(shortest path)
Ford-Fulkerson (max flow)
- Decision problems
定义P、NP、NP complete、co-NP等等。然后老师满重视NP complete
reduction(已知一个问题是NPC,证明另一个也是)
- Approximation algorithms
包括Knapsack, load balancing的approximation algorithm
补充教材:
一开始老师有问大家想要额外学什么,说如果期末有剩时间可以教。只是因为
后来时间好像刚刚好,老师就没有时间补充额外的资料。
Ω 私心推荐指数(以五分计) ★★★★★+++++
老师是强者,但是讲解每个细节还是很清楚,步调也抓很好。
η 上课用书(影印讲义或是指定教科书)
Introduction to Algorithms, third edition,
by Cormen, Leiserson, Rivest and Stein.
不过原则上不会用到,听说有强者学长把它读完了
μ 上课方式(投影片、团体讨论、老师教学风格)
如果有上过老师的离散数学的话,两门课的教学风格相同。老师上课用板书,
这点我觉得是一个很大的优点,因为投影片上课比较难保持专注。
老师会指派轮流抄笔记的排班(共笔)然后请助教上传到CEIBA上。但是一个人
一学期只会轮到一次。但是错过任何一堂课都很可惜!而且也因为老师课堂上
讲得很清楚,有来上课得话需要复习的时间就大大减少。
老师很鼓励大家问问题,也不吝于解答,人非常亲切。原PO就常常问很笨的
问题,但是老师还是很有耐心的讲解。
这门课是研究所的英文授课,老师的英文很清楚,音量也很够。是上过英文
授课老师里面最好的。(有些英文授课实在是XD)
σ 评分方式(给分甜吗?是扎实分?)
照以往标准应该是很甜。就是电机系课程逼准得评分方法,大概15%A+, 15%A
25%A-这样。不知道其他系所怎么评分,但是现在有NTU Sweety,大家也可以查
都是相对评分
基本上分配是
40% HW (4次)
30% midterm
30% final
ρ 考题型式、作业方式
作业方式:
和系上李建模、张耀文老师的算法不同,陈和麟老师的算法没有程式作业
但是不要以为这样作业就很简单。作业有四次,都是手写。听说(无从考证XD)
题目都是老师和以前Stanford的同学交流的,题目都很有水准。大概要写两个
工作天吧! 也不是说要一直坐在书桌前写那种,只是脑袋要一直想。作业一次
大概五六题,如果能找到学长、同学讨论,会好写很多。
作业可以讨论,只要写上collaborator就都OK
考试方式:
三小时,题型就是和作业一样
可以带一张两面A4大抄,想写啥都可以。
老师会和大家说他会试着让大抄没用Q~Q
不过没那么坏啦XD有认真把自己的重
点整理下来的话,还是会用上一些大抄的内容。
ω 其它(是否注重出席率?如果为外系选修,需先有什么基础较好吗?老师个性?
加签习惯?严禁迟到等…)
出席率不重视,只要自己有出现在被排在抄共笔的那周就可。
基础我觉得其实还好,有修过离散当然很好,但是其实老师都是从头教,所以
如果对算法有兴趣,都可以修
加签应该是全签。
Ψ 总结
老师自己是一个强者,所以从老师身上绝对可以学到很多。同时老师又很亲切,
这真的是一门相当好的课! 无论要不要走CS组,都很有用。
如果对于实作算法的内容有兴趣,系上的DSnP也
可以搭配服用。只是原Po挺不住,中途就054A资结了QQ