“2019级--学期安排 (第三学期)”的版本间的差异

来自问题求解
跳转至: 导航搜索
(创建页面,内容为“== 基本要求 == * 掌握典型应用中抽象出来的重要算法问题的求解方法 * 理解并能够应用支持上述内容的离散数学工具与方法 *...”)
 
学习周历
 
(未显示同一用户的74个中间版本)
第17行: 第17行:
 
| OT || 10
 
| OT || 10
 
|-
 
|-
| OJ(含课堂测试) || 20
+
| OJ(作业) || 15
 +
|-
 +
| OJ(测试) || 5
 
|-
 
|-
 
| 机试 || 10
 
| 机试 || 10
第23行: 第25行:
 
| 笔试 || 45
 
| 笔试 || 45
 
|}
 
|}
 
  
 
== 指定教材 ==
 
== 指定教材 ==
第46行: 第47行:
 
! 引导要点
 
! 引导要点
 
! 书面作业
 
! 书面作业
! Open Topics
+
! 编程作业
 
|-
 
|-
| style="width: 78px;" | 2018-09-04
+
| style="width: 78px;" | 2020-09-08
 
|
 
|
* [[Media:红黑树.pptx | 3-0: 红黑树]]
+
* [[Media:红黑树2020-09-08.pptx | 3-0: 红黑树]]
 
|
 
|
*
+
* 掌握红黑树数据结构的基本性质及其操作
 
|
 
|
 
*
 
*
第60行: 第61行:
 
*
 
*
 
|
 
|
*
+
*[[https://oj-solutions.njujb.com/2020-1/1/ 热身专题]]
 
|-
 
|-
 
|
 
|
2018-09-11
+
09-15
 
|
 
|
* [[Media:3-1-计算机问题求解-2018-09-11-动态规划.pptx | 3-1:动态规划]]
+
* [[Media:计算机问题求解-2020-09-15-动态规划.pptx| 3-1:动态规划]]
 
|
 
|
 
* 通过实例掌握动态规划的基本思想与算法设计方法
 
* 通过实例掌握动态规划的基本思想与算法设计方法
第73行: 第74行:
 
* 以空间换时间
 
* 以空间换时间
 
* 动态规划与指数时间的有效降低
 
* 动态规划与指数时间的有效降低
|
 
* 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
 
 
|
 
|
* 通信系统
+
*[[Media:3-1-dynamic-programing.zip|3-1-dynamic-programing.zip]]
# 吕云哲
+
|
# 谢逸
+
*[[https://oj-solutions.njujb.com/2020-1/2/ 动态规划]]
* Bitonic euclidean traveling-salesman problem
 
# 肖江
 
# 姜勇刚
 
 
|-
 
|-
 
|
 
|
2018-09-18
+
09-22
 
|
 
|
* [[Media:计算机问题求解-2018-09-18-贪心算法.pptx | 3-2: 贪心算法]]
+
* [[Media:计算机问题求解-2020-09-22-贪心算法.pptx| 3-2: 贪心算法]]
 
|
 
|
 
* 掌握利用贪心策略设计算法的思路与方法
 
* 掌握利用贪心策略设计算法的思路与方法
* 掌握用分摊进行算法分析的思想与方法
 
 
|
 
|
 
* TC第16章第1、2、3节
 
* TC第16章第1、2、3节
 +
| style="width: 140px;" |
 +
* 贪心算法的正确性证明
 +
|
 +
*[[Media:3-2-greedy.zip|3-2-greedy.zip]]
 +
|
 +
*[[https://oj-solutions.njujb.com/2020-1/3/ 贪心算法]]
 +
|-
 +
|
 +
09-29
 +
|
 +
*[[Media:计算机问题求解_–2020-09-29摊还分析.pptx| 3-3 摊还分析]]
 +
|
 +
* 掌握摊还分析的基本概念以及主要的摊还分析手段
 +
|
 
* TC第17章
 
* TC第17章
 
| style="width: 140px;" |
 
| style="width: 140px;" |
* 贪心算法的正确性证明
+
*
 
|  
 
|  
* 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
 
# 张灵毓
 
# 郑奘巍 (改次)
 
* Tiling Path
 
# 黄秉焜 (改次)
 
# 鄢振宇
 
 
|-
 
|-
 
|
 
|
2018-09-25
+
10-13
 
|
 
|
* [[Media:计算机问题求解-2018-09-25-图的基本概念.pptx | 3-3:图的基本概念]]
+
* [[Media:计算机问题求解-2020-10-13-图的基本概念.pptx | 3-4:图的基本概念]]
 
|
 
|
 
* 掌握图的基本概念以及图论的基本证明方式
 
* 掌握图的基本概念以及图论的基本证明方式
第130行: 第121行:
 
* 理解图与关系的联系
 
* 理解图与关系的联系
 
|  
 
|  
* CZ 练习1.2、1.3、1.11、1.12、1.24
+
*[[3-4-graph.zip|3-4-graph.zip]]
* CZ 练习2.1、2.19、2.31
 
* CZ 练习3.1、3.2
 
 
|
 
|
* Merge 算法
 
# 凌晨宇
 
 
|-
 
|-
 
|
 
|
2018-10-09
+
2020-10-20
 
|
 
|
* [[Media:计算机问题求解-动态等价关系.pptx| 3-4:用于动态等价关系的数据结构]]
+
* [[Media:计算机问题求解-2018-10-16-树.pptx| 3-5: 树]]
 
|
 
|
* 理解动态等价关系的概念以及在问题求解中的意义
+
* 理解树的基本数学性质
* 掌握以union-find为代表的相应数据结构
+
* 掌握用带权树建立数学模型的方法
* 进一步理解抽象数据类型的意义
+
* 最小生成树算法
 
|
 
|
* TC第21章
+
* CZ 第4章
 
| style="width: 140px;" |
 
| style="width: 140px;" |
* 算法分析的困难性
+
* 树的数学性质在计算机问题求解中的意义
 +
* 理解贪心算法策略在最小生成树问题上的应用
 
|  
 
|  
* TC第21.1节练习2、3
+
*[[Media:3-5-tree.zip|3-5-tree.zip]]
* TC第21.2节练习1、3、6
 
* TC第21.3节练习1、2、3
 
* TC第21章问题1
 
 
|
 
|
* LCA
+
*[[https://oj-solutions.njujb.com/2020-1/6/ 生成树]]
# 杜星亮
 
# 彭翔宇
 
* Partition Refinement
 
# 袁彦
 
# 马常风
 
 
|-
 
|-
 
|
 
|
2018-10-16
+
2020-10-27
 
|
 
|
* [[Media:3-5-计算机问题求解-2018-10-16-.pptx | 3-5: 树]]
+
* [[Media:计算机问题求解-2020-10-27-动态等价关系.pptx| 3-6:用于动态等价关系的数据结构]]
 
|
 
|
* 理解树的基本数学性质
+
* 理解动态等价关系的概念以及在问题求解中的意义
* 掌握用带权树建立数学模型的方法
+
* 掌握以union-find为代表的相应数据结构
* 最小生成树算法
+
* 进一步理解抽象数据类型的意义
 
|
 
|
* CZ 第4章
+
* TC第21章
 
| style="width: 140px;" |
 
| style="width: 140px;" |
* 树的数学性质在计算机问题求解中的意义
+
* 算法分析的困难性
* 理解贪心算法策略在最小生成树问题上的应用
 
 
|  
 
|  
* 练习 4.4、4.8、4.14、4.22、4.26、4.28、4.30、4.36
+
*[[media:3-6-union-find.zip|3-6-union-find.zip]]
 
|
 
|
* Kruskal 算法和 Prim 算法的实现及其效率
+
*[[https://oj-solutions.njujb.com/2020-1/5/ 并查集]]
# 谢乃容
 
# 刘恩萌
 
* 使用矩阵表示实现最小生成树算法
 
# 何润雨
 
# 殷兆恒
 
 
|-
 
|-
 
|
 
|
2018-10-25
+
2020-11-3
 
|
 
|
* [[Media:计算机问题求解-2018-10-25图的计算机表示及其遍历.pptx| 3-6: 图的计算机表示以及遍历]]
+
* [[Media:计算机问题求解-2020-11-3图的计算机表示及其遍历.pptx| 3-7: 图的计算机表示以及遍历]]
 
|
 
|
 
* 掌握在计算机中表示图的方式
 
* 掌握在计算机中表示图的方式
第198行: 第172行:
 
* 不同遍历方法的算法意义
 
* 不同遍历方法的算法意义
 
|  
 
|  
* TC第22.1节练习 3、8
+
*[[media:3-7-travel.zip|3-7-travel.zip]]
* 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算法及其正确性
+
*[[https://oj-solutions.njujb.com/2020-1/7/ 搜索]]
# 桑百惠
 
# 梁宇方
 
* SCC算法正确性
 
# 王腾
 
# 郑奘巍
 
 
|-
 
|-
 
|
 
|
2018-10-30
+
2020-11-10
 
|
 
|
* [[Media:计算机问题求解-2018-10-30-单源最短通路算法.pptx | 3-7: 单源最短路径算法]]
+
* [[Media:计算机问题求解-2020-11-10-单源最短通路算法.pptx | 3-8: 单源最短路径算法]]
 
|
 
|
 
* 掌握单源最短路径问题的解决方法
 
* 掌握单源最短路径问题的解决方法
第223行: 第188行:
 
* 贪心策略在不同算法中的不同体现
 
* 贪心策略在不同算法中的不同体现
 
|  
 
|  
* TC第24.1节练习 2、3、4
+
*[[media:3-8-single-source-shortest-path.zip|3-8-single-source-shortest-path.zip]]
* TC第24.2节练习 2
 
* TC第24.3节练习 2、4、7
 
* TC第24.5节练习 2、5
 
* TC第24章问题 2、3
 
 
|
 
|
* Bellman-Ford 算法输出负权环
+
*[[https://oj-solutions.njujb.com/2020-1/8/ 单源最短路]]
# 张天昀
 
# 丁保荣
 
* 使用 Fibonacci Heap 的 Dijkstra 算法的复杂度分析
 
# 毛一鸣
 
# 李顶为
 
 
|-
 
|-
 
|
 
|
2018-11-06
+
2020-11-17
 
|
 
|
* [[Media:计算机问题求解-2018-11-6-多源最短通路算法.pptx | 3-8: 多源最短路径算法]]
+
* [[Media:计算机问题求解-2020-11-17-多源最短通路算法.pptx | 3-9: 多源最短路径算法]]
 
|
 
|
 
* 掌握多源最短路径问题的解决方法
 
* 掌握多源最短路径问题的解决方法
第247行: 第203行:
 
* 不同领域表面上完全不同的问题如何归结为同一个模型上的问题
 
* 不同领域表面上完全不同的问题如何归结为同一个模型上的问题
 
|  
 
|  
* TC第25.1节练习 4、5、6、9、10
+
*[[media:3-9-all-pair-shortest-path.zip|3-9-all-pair-shortest-path.zip]]
* TC第25.2节练习 2、4、6、8
 
* TC第25.3节练习 2、3
 
* TC第25章问题 2
 
 
|
 
|
* Floyd-Warshall 算法输出最短路径
+
*[[https://oj-solutions.njujb.com/2020-1/9/ 多源最短路]]
# 周海波
 
# 李凯旭
 
* 炼钢厂选址
 
# 徐臣
 
# 匡舒磊
 
 
|-
 
|-
 
|
 
|
2018-11-13
+
2020-11-24
 
|
 
|
* [[Media:计算机问题求解-2018-11-13-图的连通度.pptx | 3-9: 图的连通度]]
+
* [[Media:计算机问题求解-2020-11-24-图的连通度.pptx| 3-10: 图的连通度]]
 
|
 
|
 
* 理解图的连通度的概念与相关理论
 
* 理解图的连通度的概念与相关理论
第271行: 第219行:
 
* 连通性的度量方式及其等效性
 
* 连通性的度量方式及其等效性
 
|  
 
|  
* CZ: 5.4、5.8
+
*[[media:3-10-connectivity.zip|3-10-connectivity.zip]]
* CZ: 5.10、5.12
 
* CZ: 5.18、5.22、5.26
 
* CZ: 5.34
 
 
|
 
|
* Block 算法
+
*[[https://oj-solutions.njujb.com/2020-1/10/ 连通度]]
#
 
# 毕秋宇
 
* 证明 Harary 图是r-连通的。
 
# 黄秉焜
 
#
 
 
|-
 
|-
 
|
 
|
2018-11-20
+
2020-12-01
 
|
 
|
* [[Media:计算机问题求解-2018-11-20图上的旅行.pptx | 3-10: 旅行问题]]
+
* [[Media:计算机问题求解-2020-12-01图上的旅行.pptx | 3-11: 旅行问题]]
 
|
 
|
 
* 哈密尔顿回路问题、TSP问题
 
* 哈密尔顿回路问题、TSP问题
第294行: 第234行:
 
* 如何针对具体问题建立图模型,并利用图上的“旅行”概念对问题的解进行描述
 
* 如何针对具体问题建立图模型,并利用图上的“旅行”概念对问题的解进行描述
 
|  
 
|  
* CZ: 6.4、6.6、6.10、6.12、6.20
+
*[[media:3-11-traveling-in-graph.zip|3-11-traveling-in-graph.zip]]
 
|
 
|
* 竞赛图
+
*[[https://oj-solutions.njujb.com/2020-1/11/ 旅行问题]]
# 何伟
 
# 殷天润
 
* 循环赛排名方法
 
# 孙旭东
 
# 李博文
 
 
|-
 
|-
 
|
 
|
2018-11-29
+
2020-12-15
 
|
 
|
* [[Media:计算机问题求解-2018-11-29-匹配与因子分解.pptx | 3-11: 图中的匹配与覆盖]]
+
* [[Media:计算机问题求解-2020-12-16-匹配与因子分解.pptx | 3-12: 图中的匹配与覆盖]]
 
|
 
|
 
* 掌握图中匹配与覆盖的概念、关键问题与算法
 
* 掌握图中匹配与覆盖的概念、关键问题与算法
第314行: 第249行:
 
* 点与边、匹配与覆盖的对称性
 
* 点与边、匹配与覆盖的对称性
 
|  
 
|  
* CZ 8.3、8.5、8.14、8.16、8.18、8.21、8.24
+
*[[media:3-12-matching-and-covering.zip|3-12-matching-and-covering.zip]]
 
|
 
|
* 点独立与点覆盖
+
*[[https://oj-solutions.njujb.com/2020-1/12/ 匹配和覆盖]]
# 刘寒
 
# 韩博
 
* 点独立与点覆盖
 
# 杨欣然
 
#
 
 
|-
 
|-
 
|
 
|
2018-12-04
+
2020-12-08
 
|
 
|
* [[Media:计算机问题求解-2018-12-04最大流算法.pptx | 3-12: 最大流算法]]
+
* [[Media:计算机问题求解-2020-12-08最大流算法.pptx | 3-13: 最大流算法(part-1)]]
 +
* [[Media:计算机问题求解-2020-12-08最大流算法(2).pptx | 3-13: 最大流算法(part-2)]]
 
|
 
|
 
* 掌握网络最大流问题的算法
 
* 掌握网络最大流问题的算法
第335行: 第266行:
 
* 叠加式算法及其分析
 
* 叠加式算法及其分析
 
|  
 
|  
* TC 第26.1节练习 1、2、6、7
+
[[media:3-13-flow.zip|3-13-flow.zip]]
* TC 第26.2节练习 2、6、8、10、12、13
 
* TC 第26.3节练习 3
 
* TC 第26章问题 1、2
 
 
|
 
|
* Ford-Fulkerson's Labeling Algorithm
+
*[[https://oj-solutions.njujb.com/2020-1/13/ 网络流]]
# 张梓悦
 
# 周涛
 
* 利用最大流算法证明 Hall 定理
 
# 裴一凡
 
# 董杨静
 
 
|-
 
|-
 
|
 
|
2018-12-11
+
2020-12-16
 
|
 
|
* [[Media:计算机问题求解-2018-12-11-平面图和图着色基础.pptx | 3-13: 平面图与图着色]]
+
* [[Media:计算机问题求解-2020-12-16-平面图和图着色基础.pptx | 3-14: 平面图与图着色]]
 
|
 
|
 
* 理解图论中一些著名的问题以及它们在计算机问题求解中的地位,包括图顶点着色问题、平面图等
 
* 理解图论中一些著名的问题以及它们在计算机问题求解中的地位,包括图顶点着色问题、平面图等
第360行: 第283行:
 
* 图模型应用的广泛性
 
* 图模型应用的广泛性
 
|  
 
|  
* CZ 9.3、9.5、9.7、9.8
+
[[media:3-14-planar-and-coloring.zip|3-14-planar-and-coloring.zip]]
* CZ 10.2、10.3、10.4、10.5
 
 
|
 
|
* Brooks 定理
+
*[[https://oj-solutions.njujb.com/2020-1/14/ 网络流2]]
# 张廷昊、裴明亮
 
# 高天朗、邱凯
 
* Martin Gardner
 
# 赵新榆
 
# 兰兆炜
 
 
|-
 
|-
 
|
 
|
2018-12-18
+
2020-12-23
 
|
 
|
* [[Media: 计算机问题求解-2018-12-20-矩阵计算.pptx| 3-14: 矩阵计算]]
+
* [[Media: 计算机问题求解-2020-12-22-矩阵计算.pptx| 3-15: 矩阵计算]]
 
|
 
|
 
* 掌握矩阵计算中一些基本问题的算法以及其在线性系统中的应用
 
* 掌握矩阵计算中一些基本问题的算法以及其在线性系统中的应用
第381行: 第298行:
 
* 线性系统及其在问题求解中的重要性
 
* 线性系统及其在问题求解中的重要性
 
|  
 
|  
* TC 第28.1节练习 2、3、6、7
+
[[media:3-15-matrix.zip|3-15-matrix.zip]]
* TC 第28.2节练习 1、2、3
 
* TC 第28.3节练习 1、3
 
* TC 第28章问题 1
 
 
|
 
|
* LUP 分解算法的正确性
+
*[[https://oj-solutions.njujb.com/2020-1/15/ 矩阵计算]]
# 廖玺然
 
# 陶绍诚
 
* LUP 分解求矩阵的行列式
 
# 张扬播
 
# 顾宬
 
 
|-
 
|-
 
|
 
|
2018-12-25
+
2020-12-30
 
|  
 
|  
*
+
[[media:计算机问题求解-2020-12-29-线性规划.pptx|3-16:线性规划]]
 
|  
 
|  
*  
+
* 掌握线性规划的基本概念、问题描述方式以及基本算法
 
|  
 
|  
*  
+
* TC第29章
 
|  
 
|  
*  
+
* 线性规划的意义与适用性
|  
+
|
*
+
[[media:3-16-linear-programming.zip|3-16-linear-programming.zip]]
|  
+
|
* CZ 9.8、CZ 10.5
 
# 戴若石
 
* CZ Theorem 10.10
 
# 陈昱名
 
* Dilworth Theorem
 
# 殷兆恒
 
# 张博乔 (取消)
 
 
|-
 
|-
 
|}
 
|}

2020年12月30日 (三) 16:22的最新版本

基本要求

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

考核方法

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

考核形式 分值
作业 15
OT 10
OJ(作业) 15
OJ(测试) 5
机试 10
笔试 45

指定教材

  • 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".

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

学习周历

日期 论题 学习目的 阅读材料 引导要点 书面作业 编程作业
2020-09-08
  • 掌握红黑树数据结构的基本性质及其操作

09-15

  • 通过实例掌握动态规划的基本思想与算法设计方法
  • TC第15章
  • 以空间换时间
  • 动态规划与指数时间的有效降低

09-22

  • 掌握利用贪心策略设计算法的思路与方法
  • TC第16章第1、2、3节
  • 贪心算法的正确性证明

09-29

  • 掌握摊还分析的基本概念以及主要的摊还分析手段
  • TC第17章

10-13

  • 掌握图的基本概念以及图论的基本证明方式
  • CZ第一章
  • CZ第二章2.1;2.2;2.3
  • CZ第三章3.1
  • 图论应用的广泛性以及图论证明方法的独特性
  • 理解图与关系的联系

2020-10-20

  • 理解树的基本数学性质
  • 掌握用带权树建立数学模型的方法
  • 最小生成树算法
  • CZ 第4章
  • 树的数学性质在计算机问题求解中的意义
  • 理解贪心算法策略在最小生成树问题上的应用

2020-10-27

  • 理解动态等价关系的概念以及在问题求解中的意义
  • 掌握以union-find为代表的相应数据结构
  • 进一步理解抽象数据类型的意义
  • TC第21章
  • 算法分析的困难性

2020-11-3

  • 掌握在计算机中表示图的方式
  • 掌握图的深度优先与广度优先遍历方法
  • TC第22章
  • 图表示中形式与效率的关系
  • 不同遍历方法的算法意义

2020-11-10

  • 掌握单源最短路径问题的解决方法
  • 理解最短路径的数学性质并理解其在算法正确性证明中的作用
  • TC第24章
  • 贪心策略在不同算法中的不同体现

2020-11-17

  • 掌握多源最短路径问题的解决方法
  • TC第25章
  • 不同领域表面上完全不同的问题如何归结为同一个模型上的问题

2020-11-24

  • 理解图的连通度的概念与相关理论
  • CZ 5.1-5.4
  • CZ 12.1, 12.2
  • 连通性的度量方式及其等效性

2020-12-01

  • 哈密尔顿回路问题、TSP问题
  • CZ第6章
  • 如何针对具体问题建立图模型,并利用图上的“旅行”概念对问题的解进行描述

2020-12-15

  • 掌握图中匹配与覆盖的概念、关键问题与算法
  • CZ第8章
  • 点与边、匹配与覆盖的对称性

2020-12-08

  • 掌握网络最大流问题的算法
  • TC第26章
  • 最大流与最小割集的关系在算法正确性证明中的影响
  • 叠加式算法及其分析

3-13-flow.zip

2020-12-16

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

(注: Theorem 10.10 证明有误)

  • 图模型应用的广泛性

3-14-planar-and-coloring.zip

2020-12-23

  • 掌握矩阵计算中一些基本问题的算法以及其在线性系统中的应用
  • TC 第28章
  • 线性系统及其在问题求解中的重要性

3-15-matrix.zip

2020-12-30

3-16:线性规划

  • 掌握线性规划的基本概念、问题描述方式以及基本算法
  • TC第29章
  • 线性规划的意义与适用性

3-16-linear-programming.zip