麻省理工学院《算法导论》(MIT - Introduction to Algorithms)

关于课本的介绍如下:

本书自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。所有算法都用英文和伪码描述,使具备初步编程经验的人也可读懂。全书讲解通俗易懂,且不失深度和数学上的严谨性。第二版增加了新的章节,如算法作用、概率分析与随机算法、线性编程等,几乎对第一版的各个部分都作了大量修订。

学过计算机的都知道,这本书是全世界最权威的算法课程的大学课本了,基本上全世界的名牌大学用的教材都是它。这本书一共四位作者,Thomas H. Cormen,Charles E. Leiserson和Ronald L. Rivest是来自MIT的教授,Clifford Stein是MIT出来的博士,现在哥伦比亚大学做教授,四人姓氏的首字母联在一起即是此书的英文简称(CLRS 2e),其中的第三作者Ronald L. Rivest是RSA算法的老大(算法名字里面的R即是指他),四个超级大牛出的一本书,此书不看人生不能算完整。 麻省理工学院《算法导论》(MIT - Introduction to Algorithms)

再介绍一下课堂录像里面授课的两位MIT的老师,第一位,外表“绝顶聪明”的,是本书的第二作者Charles E. Leiserson,以逻辑严密,风趣幽默享誉MIT。第二位,留着金黄色的络腮胡子和马尾发的酷哥是Erik Demaine,21岁即取得MIT教授资格的天才,1981出生,今年才25岁,业余爱好是俄罗斯方块、演戏、琉璃、折纸、杂耍、魔术和结绳游戏。 


课程重点

算法导论是麻省理工学院电机工程与计算机科学系“理论计算机科学”集中选修课程的先导科目。课程几乎将所有资料放到线上,包括了完整的课堂讲义和习题。课本“算法导论,第二版”,是由 Charles Leiserson 教授副笔。


课程描述

本课程教授高效率算法的设计及分析技巧,并着重在有实用价值的方法上。课程主题包含了:排序、搜寻树、堆积及散列;各个击破法、动态编程、偿还分析、图论算法、最短路径、网络流、计算几何、数字理论性算法;多项式及矩阵的运算;高速缓存技术及并行运算。


一般资讯

讲师:
Erik Demaine
Charles E. Leiserson

SMA 讲师:
Lee Wee Sun


课程目标与成果

课程目标


这门课程对学生们简单介绍计算机算法的分析与设计。完成这门课程后,学生应当能做到以下几项:

分析算法的渐进效率。

演示对各种主要的算法及数据结构的熟悉性。

对重要算法设计范例及分析方法的应用。

在一般的工程设计状况上运用有效的算法。


课程成果

完成本课程的学生将会展现做到以下几项的能力

用归纳法及回路不变量来证明算法的正确性。

用渐进法分析算法在最坏情况下的执行时间。比较由多项式,指数及对数函数初步组合之函数的渐进行为。形容最坏,平均及最好情况分析的相对优点。

分析算法平均执行时间的概率。使用指标随机值与预期直线性来做分析。练习(这里的Recite是否是演示或是复习之意,换句话说,原句应该为:练习使用这一类分析的算法。后面出现Recite处皆同)用这一类分析法的算法分析。

解释随机化算法的基本性质和分析的方法。练习使用随机性的算法。解释随机化算法与随机输入的算法之间的差异。

在适当的时机使用偿还法分析算法。练习用此方法对简单算法的分析。叙述偿还分析法的不同策略,包括计数法及可能法。

叙述各个击破法的模式和解释当什么情况算法设计会需要它。练习使用此模式的算法。实作各个击破算法。推导出各个破算法的递归描述。

叙述动态编程的模式和解释当什么情况算法设计会需要它。练习使用此模式的算法。实作及分析动态编程算法。

叙述贪婪算法的模式和解释当什么情况算法设计会需要它。练习使用此模式的算法。实作及分析贪婪算法。

解释各主要的排序算法。练习这些算法的分析及它们所包含的设计策略。实作将排序做为子程序的算法。推算比较排序法执行时间的下限,和解释怎样可以克服这些界限。

解释实作动态集合的各大基本数据结构及对其动作的分析。练习使用数据结构的算法和了解它们的效率是如何依赖于所使用的数据结构。用增强已有数据结构的方法来实作新数据结构。实作将数据结构为重要成分的算法。

解释各大图论算法及对它们的分析。适时使用图来模拟工程问题。实作新的图论算法和使用图论计算为关键的算法,及分析它们。

举例说明在各个领域中所使用到的熟悉的数个重要算法,展现对应用算法安置的熟悉度 - 如计算几何,作业研究,安全与加密,并行与分散计算,操作系统,及计算机体系结构。


远距离教学

这们课程会在美国麻省理工学院教授,同时也是新加坡SMA (Singapore-MIT Alliance) 课程的一部分。无论是授课,演示课,习题或测验,这两个国家的课程在各个方面来说都是相同的。在麻省理工学院所有的讲义都将是现场教授,这些都会被录下,数位化,由本课程的网页提供给新加坡的学生们。这些数位化的课程也会提供给麻省理工学院的学生。李教授会参加本课程的管理,与 Demaine 及 Leiserson 两位教授一起写课程相关资料,及带领 SMA 的学生的演示课。


先修条件

对程序设计有很好的理解度及在离散数学,包括概率学有扎实的背景,是本课程的先有条件。

麻省理工学院学生: 本课程是麻省理工学院电机资讯工程资讯理论之集中选修课程的先导科目。在选修这门课程前我们认为你应该先选修 6.001 计算机程序的架构与解译和 6.042J / 18.062J 计算机科学数学,及在这两门课得到 C 或更高的成绩。如果你还没有达到这些要求,你一定要在注册本课程之前与助教沟通。

教学时程

这份时间表提供了授课,演示课题目,作业,测验的日期,及指定要从课本“算法导论,第二版”内阅读的课文。

1 第一课 课程细节;序论:算法分析,插入排序法(Insertion Sort),合并排序(Merge Sort) 阅读:1-2章
发测验 0

2 演示课 1 算法的正确性
发《作业 1》

3 第二课 渐进表示(Asymptotic Notation)。递归公式(Recurrences):置换法,迭代法,主方式
阅读:3-4 章,除了§4.4

4 第三课 各个击破法: Strassen 算法,费氏数列,多项式乘法。
阅读:28 章第 2 节,30章第1节

5 演示课 2 递归公式,松散性
阅读:Akra-Bazzi 的讲义

6 第四课 快速排序法,随机化算法
阅读:5 章 1 到 3 节,7 章
收《作业 1》发《作业 2》

7 演示课 3 排序法:堆积排序法,动态集合,优先队列
阅读:6 章

8 第五课 线性时间的排序法,下限,计数排序法, 基数排序法
阅读: 8 章第 1 到 3 节
收《作业 2》发《作业 3》

9 第六课 序列统计,中位数
阅读:9 章

10 演示课 4 中位数的应用,桶式排序
阅读:8 章第 4 节

11 第七课 散列,通用散列
阅读: 11 章 1 到 3 节
收《作业 3》发《作业 4》

12 第八课 散列函数,完美散列
阅读:11 章第 5 节

13 演示课 5 测验 1 复习
收《作业 4》

14 评分后的作业4可以在中午拿到

15 测验 1

16 演示课 6 二元搜寻树,树的追踪
阅读:12 章 1 到 3 节

17 第九课 二元搜寻树和快速排序法之间的关系;随机二元搜寻树的分析
阅读:12 章 4 节
发《作业 5》

18 第十课 红黑树,循环,插入,删除
阅读:13 章

19 演示课 7 2-3树, B-树
阅读:18 章 1 到 2 节

20 第十一课 增强数据结构,间距树
阅读:14 章
收《作业 5》发《作业 6》

21 第十二课 计算几何,区间查询
阅读:33 章 1 到 2 节

22 演示课 8 凸多边形
阅读:33 章 3 节

23 第十三课 van Emde Boas,优先队列
阅读:van Emde Boas 的讲义
收《作业 6》发《作业 7》

24 第十四课 偿还算法,表的复制,可能法
阅读:17 章

25 演示课 9 竞争分析,自我排序列

26 第十五课 动态编程,最长共同子序列,最优二元搜寻树
阅读:15 章
收《作业 7》发《作业 8》

27 第十六课 贪婪算法,最小生成树
阅读:16 章 1 到 3 节, 23 章

28 演示课 10 贪婪算法和动态编程的范例

29 第十七课 最短路径,Dijkstra算法,广度优先搜寻法
阅读:22 章1, 2 节;第 580 - 587 页,24章 3 节
收《作业 8》发《作业 9》

30 演示课 11 深度优先搜寻法,边的分类
阅读:22 章 3 到 5 节

31 第十八课 最短路径,Bellman-Ford,DAG内的最短路径,差异局限
阅读:24 章 1, 2, 4, 5 节

32 第十九课 全成对最短路径,动态编程,Floyd-Warshall,Johnson 的算法
阅读:25 章
收《作业 9》

33 第二十课 零散集合的数据结构
阅读:21 章

34 评分后的作业9可以在中午拿到

35 第二十一课 带回家 发下 测验 2 ; 道德,解决问题 (强制参加)
发测验 2

36 没有演示课 - 解答测验 2!

37 没有课
算法程序比赛开始 (非强制参加)
收测验 2

38 第二十二课 网络流,最大流量最小切割论
阅读:26 章 1 - 2 节
发《作业 10》 (选答)

39 演示课 12 求对集 (注:最大二分图求对集)
阅读:26 章 3 节

40 第二十三课 网络流,Edmonds-Karp 算法
参赛答案截止

41 第二十四课 随堂测验;比赛颁奖;后续课程的讨论
《作业 10》解答


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值