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

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

基本要求

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

考核方法

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

考核形式 分值
作业 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