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

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

基本要求

  • 理解数据抽象,理解并能够应用常用的数据结构。
  • 掌握重要算法设计策略以及算法设计与分析的基本方法。
  • 理解并能够应用支持上述内容的离散数学工具与方法。

注意:程序设计能力要求贯穿于整个课程,不再单列。

指定教材

  • CS: Cliff Stein et al.: Discrete Mathematics for Computer Scientists, 1st ed. Addison-Wesley, 2010
  • GC: Gary Chartrand et al.: Introduction to Graph Theory, 1st ed. McGraw-Hill, 2004
  • TC: Thomas Cormen: Introduction to Algorithms, 3rd ed. MIT, 2009
  • TJ: Thomas Judson: Abstract Algebra - Theory and Applications, http://abstract.ups.edu/
  • WS: Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008

推荐课外读物

  • Larry Nyhoff: ADTs, Data Structures, and Problem Solving with C++, 2nd ed. Prentice Hall, 2004

学习周历

日期 论题 学习目的 阅读材料 引导要点 书面作业
8.31--9.4 3-1:单源最短通路算法
  • 掌握单源最短通路问题的解决方法
  • 理解最短通路的数学性质并理解其在正确性证明中的作用
  • 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
9.7--9.11 3-2:多源最短通路算法
  • 掌握多源最短通路问题的解法
  • 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
9.14--9.18 3-3:图的连通度与遍历
  • 理解图的连通度的概念
  • 掌握欧拉图与哈密尔顿图的概念, 并理解相关的算法
  • GC第5章第1、2、3节
  • GC第6章第1、2节
  • GC第5.1节练习3、4、6
  • GC第5.2节练习10、11、14
  • GC第5.3节练习20、22、30
  • GC第6.1节练习4、5、6
  • GC第6.2节练习13、16、21
9.21--9.25 3-4:有向图
  • 理解有向图与无向图连通意义的差异
  • 理解有向图模型在问题求解中的应用
  • GC第7章
  • GC第7.1节练习1、2、4、5
  • GC第7.2节练习9、10、13、14、15
9,28--10.2 3-5:最大流算法
  • 掌握网络最大流问题的算法
  • 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
10.5--10.9 3-6:图论中的其它专题
  • 理解图论中一些著名的问题以及它们在计算机问题求解中的地位,包括匹配和覆盖问题、图顶点着色问题与平面图判定问题
  • GC第8章第1节
  • GC第9章第1节
  • GC第10章第1、2、3节
  • 图模型应用的广泛性
10.12--10.16 3-7:矩阵计算
  • 掌握矩阵计算中一些基本问题的算法以及其在线性系统中的应用
  • TC第28章
  • 线性系统及其在问题求解中的重要性
  • TC第28.1节练习2、3、6、7
  • TC第28.2节练习1、2、3
  • TC第28.3节练习1、3
  • TC第28章问题1
10.19--10.23 3-8:线性规划
  • 掌握线性规划的基本概念,问题描述方式以及基本算法
  • TC第29章
  • 线性规划的意义与适用性
  • TC第29.1节练习4、5、6、7、9
  • TC第29.2节练习2、3、6
  • TC第29.3节练习2、3、5
  • TC第29.4节练习2
  • TC第29章问题1
10.26--10.30 3-9:多项式与FFT
  • 掌握计算机处理多项式的基本算法
  • 掌握快速傅立叶方法的计算机实现
  • TC第30章
  • 多项式的表示如何影响算法设计与实现
  • TC第30.1节练习2、4、5
  • TC第30.2节练习1、4、5、7
  • TC第30.3节练习2
  • TC第30章问题1
11.2--11.6 3-10:群与拉格郎日定理
  • 理解抽象代数结构的基本概念
  • 理解群的数学性质以及抽象代数典型推导方法
  • TJ第3、4、5、6章
  • 公理化系统的思想
  • TJ第3章练习3、6、7、17、28、36、38、41、48、52
  • TJ第4章练习1、12、21、24、32
  • TJ第5章练习3、5、16、27、29
  • TJ第6章练习11、12、16、21
  • TJ第9章练习6、7、8、9
11.9--11.13 3-11:环与域
  • 理解环与域的基本概念
  • 理解环与域的数学性质以及在计算机科学中的意义
  • TJ第16章第1、2、5节
  • 多个运算的代数系统的数学性质与推理方法
  • TJ第16章练习1、3、12、17、18、24、32、34、35、36、39、40
11.16--11.20 3-12:数论基础
  • 掌握数论的基础知识,理解典型的数论问题及其解决思路
  • TJ第2章
  • CS第2章第2节
  • 模算术的概念与处理方法在数论中的应用
  • TJ第2章练习13、14、15、16、19、22、28、29、30、31
  • TJ第2章编程练习1、3
  • CS第2.2节问题2、4、6、8、15、16、17、19
11.23--11.27 3-13:数论算法
  • 掌握数论中一些基本问题的算法
  • TC第31章第1、2、3、4、5、6节
  • 数论算法的问题大小度量方式的特殊性
  • TC第31.1节练习12、13
  • TC第31.2节练习4、5、6、9
  • TC第31.3节练习5
  • TC第31.4节练习2、3
  • TC第31.5节练习2、3
  • TC第31.6节练习2、3
11.30--12.4 3-14:密码算法
  • 掌握公钥密码系统的基本原理
  • 理解其中核心的数论算法
  • TJ第7章
  • TC第31章第7、9节
  • 数论算法的核心作用
  • TJ第7章练习3、7、9、12
  • TC第31.7节练习1、2
  • TC第31章问题2、3
12.7--12.11 3-15:代数编码
  • 理解如何能建立利于查错,纠错的编码系统
  • 理解抽象代数的应用意义
  • TJ第8章
  • 群的性质如何保证编码系统的性质
  • TJ第8章练习6、7、8、9、11、13、18、19、21、22、23
12.14--12.18 3-16:群与对称
  • 理解群在处理对称系统中的应用,进一步理解群的应用意义
  • TJ第12、13、14章
  • 对称群的结构与基本理论
  • TJ第12章练习2、3、6、11
  • TJ第14章练习2、3、4、8、11、12、16、17、19
12.21--12.25 3-17:串匹配
  • 掌握最常用的字符串匹配算法
  • TC第32章
  • 匹配算法的原理及其适用性
  • TC第32.1节练习2、3、4
  • TC第32.2节练习1、2、3、4
  • TC第32.3节练习2、3、5
12.28--1.1 3-18:计算几何算法
  • 理解计算几何中一些最基本的问题及其解法
  • TC第33章
  • 几何计算与计算机图形处理之间的关系