2017级--学期安排 (第三学期)

来自问题求解
跳转至: 导航搜索

基本要求

  • 掌握典型应用中抽象出来的重要算法问题的求解方法
  • 理解并能够应用支持上述内容的离散数学工具与方法
  • 面向对象程序设计

考核方法

所有形式的考核,均不准抄袭。

  • 作业 (10%)
    • A: 10
    • A-: 9
    • B: 8
    • B-: 7
    • C: 6
  • OJ (10%)
  • Open topics (10%)
    • 成绩: A (10), B (8), C (6) 三档
    • 每人至少做一次
    • 做多次报告,取最高分
    • 不做计 0 分
  • 期末: (70%)
    • 机试 (20%)
    • 笔试 (50%)

指定教材

  • TC: Thomas Cormen et al.: Introduction to Algorithms, 3rd ed. MIT, 2009
  • CZ: Gary Chartrand, Ping Zhang: A First Course in Graph Theory

推荐课外阅读材料

(可参照习题课扩展材料部分所给出的阅读建议)

Jon Kleinberg, Eva Tardos. "Algorithm Design".

更多阅读材料将随课堂进度添加。

学习周历

日期 论题 学习目的 阅读材料 引导要点 书面作业 Open Topics
2018-09-04

2018-09-11

  • 通过实例掌握动态规划的基本思想与算法设计方法
  • TC第15章
  • 以空间换时间
  • 动态规划与指数时间的有效降低
  • TC第15.1节练习1、3
  • TC第15.2节练习2、4
  • TC第15.3节练习3、5、6
  • TC第15.4节练习3、5
  • TC第15.5节练习1
  • TC第15章问题4
  • 通信系统
  1. 吕云哲
  2. 谢逸
  • Bitonic euclidean traveling-salesman problem
  1. 肖江
  2. 姜勇刚

2018-09-18

  • 掌握利用贪心策略设计算法的思路与方法
  • 掌握用分摊进行算法分析的思想与方法
  • TC第16章第1、2、3节
  • TC第17章
  • 贪心算法的正确性证明
  • TC第16.1节练习2、3
  • TC第16.2节练习1、2
  • TC第16.3节练习2、5、8
  • TC第16章问题1
  • TC第17.1节练习3
  • TC第17.2节练习2
  • TC第17.4节练习1
  • Huffman Codes
  1. 张灵毓
  2. 郑奘巍 (改次)
  • Tiling Path
  1. 黄秉焜 (改次)
  2. 鄢振宇

2018-09-25

  • 掌握图的基本概念以及图论的基本证明方式
  • CZ第一章
  • CZ第二章2.1;2.2;2.3
  • CZ第三章3.1
  • 图论应用的广泛性以及图论证明方法的独特性
  • 理解图与关系的联系
  • CZ 练习1.2、1.3、1.11、1.12、1.24
  • CZ 练习2.1、2.19、2.31
  • CZ 练习3.1、3.2
  • Merge 算法
  1. 凌晨宇

2018-10-09

  • 理解动态等价关系的概念以及在问题求解中的意义
  • 掌握以union-find为代表的相应数据结构
  • 进一步理解抽象数据类型的意义
  • TC第21章
  • 算法分析的困难性
  • TC第21.1节练习2、3
  • TC第21.2节练习1、3、6
  • TC第21.3节练习1、2、3
  • TC第21章问题1
  • LCA
  1. 杜星亮
  2. 彭翔宇
  • Partition Refinement
  1. 袁彦
  2. 马常风

2018-10-16

  • 理解树的基本数学性质
  • 掌握用带权树建立数学模型的方法
  • 最小生成树算法
  • CZ 第4章
  • 树的数学性质在计算机问题求解中的意义
  • 理解贪心算法策略在最小生成树问题上的应用
  • 练习 4.4、4.8、4.14、4.22、4.26、4.28、4.30、4.36
  • Kruskal 算法和 Prim 算法的实现及其效率
  1. 谢乃容
  2. 刘恩萌
  • 使用矩阵表示实现最小生成树算法
  1. 何润雨
  2. 殷兆恒

2018-10-25

  • 掌握在计算机中表示图的方式
  • 掌握图的深度优先与广度优先遍历方法
  • TC第22章
  • 图表示中形式与效率的关系
  • 不同遍历方法的算法意义
  • TC第22.1节练习 3、8
  • TC第22.2节练习 3 ("lines 5 and 14" 修改为 "line 18")、4、5
  • TC第22.3节练习 6、7、8、9、12
  • TC第22.4节练习 2、3
  • TC第22.5节练习 5、7
  • DFS算法及其正确性
  1. 桑百惠
  2. 梁宇方
  • SCC算法正确性
  1. 王腾
  2. 郑奘巍

2018-10-30

  • 掌握单源最短路径问题的解决方法
  • 理解最短路径的数学性质并理解其在算法正确性证明中的作用
  • TC第24章
  • 贪心策略在不同算法中的不同体现
  • TC第24.1节练习 2、3、4
  • TC第24.2节练习 2
  • TC第24.3节练习 2、4、7
  • TC第24.5节练习 2、5
  • TC第24章问题 2、3
  • Bellman-Ford 算法输出负权环
  1. 张天昀
  2. 丁保荣
  • 使用 Fibonacci Heap 的 Dijkstra 算法的复杂度分析
  1. 毛一鸣
  2. 李顶为

2018-11-06

  • 掌握多源最短路径问题的解决方法
  • TC第25章
  • 不同领域表面上完全不同的问题如何归结为同一个模型上的问题
  • TC第25.1节练习 4、5、6、9、10
  • TC第25.2节练习 2、4、6、8
  • TC第25.3节练习 2、3
  • TC第25章问题 2
  • Floyd-Warshall 算法输出最短路径
  1. 周海波
  2. 李凯旭
  • 炼钢厂选址
  1. 徐臣
  2. 匡舒磊

2018-11-13

  • 理解图的连通度的概念与相关理论
  • CZ 5.1-5.4
  • CZ 12.1, 12.2
  • 连通性的度量方式及其等效性
  • CZ: 5.4、5.8
  • CZ: 5.10、5.12
  • CZ: 5.18、5.22、5.26
  • CZ: 5.34
  • Block 算法
  1. 毕秋宇
  • 证明 Harary 图是r-连通的。
  1. 黄秉焜

2018-11-20

  • 哈密尔顿回路问题、TSP问题
  • CZ第6章
  • 如何针对具体问题建立图模型,并利用图上的“旅行”概念对问题的解进行描述
  • CZ: 6.4、6.6、6.10、6.12、6.20
  • 竞赛图
  1. 何伟
  2. 殷天润
  • 循环赛排名方法
  1. 孙旭东
  2. 李博文

2018-11-29

  • 掌握图中匹配与覆盖的概念、关键问题与算法
  • CZ第8章
  • 点与边、匹配与覆盖的对称性
  • CZ 8.3、8.5、8.14、8.16、8.18、8.21、8.24
  • 点独立与点覆盖
  1. 刘寒
  2. 韩博
  • 点独立与点覆盖
  1. 杨欣然

2018-12-04

  • 掌握网络最大流问题的算法
  • TC第26章
  • 最大流与最小割集的关系在算法正确性证明中的影响
  • 叠加式算法及其分析
  • TC 第26.1节练习 1、2、6、7
  • TC 第26.2节练习 2、6、8、10、12、13
  • TC 第26.3节练习 3
  • TC 第26章问题 1、2
  • Ford-Fulkerson's Labeling Algorithm
  1. 张梓悦
  2. 周涛
  • 利用最大流算法证明 Hall 定理
  1. 裴一凡
  2. 董杨静

2018-12-11

  • 理解图论中一些著名的问题以及它们在计算机问题求解中的地位,包括图顶点着色问题、平面图等
  • CZ 9.1
  • CZ 10.1、10.2

(注: Theorem 10.10 证明有误)

  • 图模型应用的广泛性
  • CZ 9.3、9.5、9.7、9.8
  • CZ 10.2、10.3、10.4、10.5
  • Brooks 定理
  1. 张廷昊、裴明亮
  2. 高天朗、邱凯
  • Martin Gardner
  1. 赵新榆
  2. 兰兆炜

2018-12-18

  • 掌握矩阵计算中一些基本问题的算法以及其在线性系统中的应用
  • TC 第28章
  • 线性系统及其在问题求解中的重要性
  • TC 第28.1节练习 2、3、6、7
  • TC 第28.2节练习 1、2、3
  • TC 第28.3节练习 1、3
  • TC 第28章问题 1
  • LUP 分解算法的正确性
  1. 廖玺然
  2. 陶绍诚
  • LUP 分解求矩阵的行列式
  1. 张扬播
  2. 顾宬

2018-12-25

  • CZ 9.8、CZ 10.5
  1. 戴若石
  • CZ Theorem 10.10
  1. 陈昱名
  • Dilworth Theorem
  1. 殷兆恒
  2. 张博乔 (取消)