“2019级--学期安排 (第二学期)”的版本间的差异
来自问题求解
(→学习周历) |
(→学习周历) |
||
(未显示2个用户的44个中间版本) | |||
第35行: | 第35行: | ||
'''''(可参照习题课扩展材料部分所给出的阅读建议)''''' | '''''(可参照习题课扩展材料部分所给出的阅读建议)''''' | ||
− | * Kenneth H. Rosen: | + | * Kenneth H. Rosen: Discrete Mathematics and Its Applications, 7th Edition. McGraw-Hill, 2011 |
* '''[TAOCP-4A]''' Donald E. Knuth: [[Media:The_Art_of_Computer_Programmin_Volume4A_Combinatorial_Algorithms.pdf | The Art of Computer Programming Vol4A: Combinatorial Algorithms Part 1]], 2011 | * '''[TAOCP-4A]''' Donald E. Knuth: [[Media:The_Art_of_Computer_Programmin_Volume4A_Combinatorial_Algorithms.pdf | The Art of Computer Programming Vol4A: Combinatorial Algorithms Part 1]], 2011 | ||
第112行: | 第112行: | ||
* [[Media:2-2-efficiency.zip | 2-2-efficiency]] | * [[Media:2-2-efficiency.zip | 2-2-efficiency]] | ||
| | | | ||
+ | *[[http://oj.problemoverflow.top/2019-2/3/ 算法复杂度]] | ||
|- | |- | ||
| | | | ||
第128行: | 第129行: | ||
* [[Media:2-3-counting.zip | 2-3-counting]] | * [[Media:2-3-counting.zip | 2-3-counting]] | ||
| | | | ||
+ | *[[http://oj.problemoverflow.top/2019-2/4/ 组合与计数]] | ||
|- | |- | ||
| | | | ||
− | + | 2020-03-19 | |
| | | | ||
* [[Media:2-4-计算机问题求解-2020-03-19-分治法与递归.pptx | 2-4: 分治法与递归]] | * [[Media:2-4-计算机问题求解-2020-03-19-分治法与递归.pptx | 2-4: 分治法与递归]] | ||
第144行: | 第146行: | ||
* [[Media:2-4-recurrence.zip | 2-4-recurrence]] | * [[Media:2-4-recurrence.zip | 2-4-recurrence]] | ||
| | | | ||
+ | *[[http://oj.problemoverflow.top/2019-2/5/ 分治法与递归]] | ||
|- | |- | ||
| | | | ||
− | + | 2020-03-26 | |
| | | | ||
− | * [[Media:2-5-递归及其数学基础- | + | * [[Media:2-5-递归及其数学基础(part-1).pptx |2019-2-5-linear-recurrences (马)]] |
+ | * [[Media:2019-2-5-linear-recurrences.pdf | 2019-2-5-linear-recurrences (魏)]] | ||
+ | * [[Media:2019-2-5-linear-recurrences-handout.pdf | 2019-2-5-linear-recurrences-handout (魏)]] | ||
| | | | ||
* 进一步理解递归的数学基础 | * 进一步理解递归的数学基础 | ||
第159行: | 第164行: | ||
* [[Media:2-5-solving-recurrence.zip | 2-5-solving-recurrence]] | * [[Media:2-5-solving-recurrence.zip | 2-5-solving-recurrence]] | ||
| | | | ||
+ | *[[http://oj.problemoverflow.top/2019-2/6/ 分治法与递归2]] | ||
|- | |- | ||
| | | | ||
− | + | 2020-04-02 | |
| | | | ||
− | * [[Media: | + | * [[Media:计算机问题求解-2022-03-30-算法方法.pptx | 2-6: 算法方法]] |
| | | | ||
* 通过具体示例了解算法设计的基本策略 | * 通过具体示例了解算法设计的基本策略 | ||
第171行: | 第177行: | ||
* 理解复杂算法背后的简单原理 | * 理解复杂算法背后的简单原理 | ||
| | | | ||
− | * | + | * [[Media:2-6-algorithmic-methods.zip | 2-6-algorithmic-methods]] |
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/7/ 算法方法]] | |
|- | |- | ||
| | | | ||
− | + | 2020-04-09 | |
| | | | ||
− | * [[Media:2-7- | + | * [[Media:2-7-计算机问题求解-2020-04-09-离散概率基础.pptx | 2-7: 离散概率基础]] |
| | | | ||
* 理解离散概率的基本概念 | * 理解离散概率的基本概念 | ||
第187行: | 第193行: | ||
* 正确理解“期望”的概念,为理解平均情况时间复杂度分析建立基础 | * 正确理解“期望”的概念,为理解平均情况时间复杂度分析建立基础 | ||
| | | | ||
− | * | + | * [[Media:2-7-discrete-probability.zip | 2-7-discrete-probability]] |
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/8/ 离散概率]] | |
|- | |- | ||
| | | | ||
− | + | 2020-04-16 | |
| | | | ||
− | * [[Media:2-8- | + | * [[Media:2-8-计算机问题求解-2020-04-16概率和随机算法.pptx | 2-8: 概率分析与随机算法]] |
| | | | ||
* 理解概率在算法设计中的作用 | * 理解概率在算法设计中的作用 | ||
第207行: | 第210行: | ||
* 随机变量在算法分析中的意义 | * 随机变量在算法分析中的意义 | ||
| | | | ||
− | * | + | * [[Media:2-8-probabilistic-analysis.zip | 2-8-probabilistic-analysis]] |
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/9/ 随机算法]] | |
|- | |- | ||
| | | | ||
− | + | 2020-04-23 | |
| | | | ||
− | * [[Media:2-9- | + | * [[Media:2-9-sorting and selection.pdf | 2019-2-9-sorting and selection.pdf]] |
+ | *[[media:2-9-sorting_and_selection(handout).pdf|2019-2-9-sorting_and_selection(handout).pdf]] | ||
| | | | ||
* 深入理解快速排序算法的设计思想与分析方法 | * 深入理解快速排序算法的设计思想与分析方法 | ||
第227行: | 第228行: | ||
* 如何证明问题复杂度的下界 | * 如何证明问题复杂度的下界 | ||
| | | | ||
− | * | + | * [[Media:2-9-sorting-selection.zip | 2-9-sorting-selection]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/10/ 排序与选择]] | |
|- | |- | ||
| | | | ||
− | + | 2020-04-30 | |
| | | | ||
− | * [[Media:2-10- | + | * [[Media:2-10-计算机问题求解-2020-04-30-基本数据结构.pptx | 2-10: 基本数据结构]] |
| | | | ||
* 掌握堆栈、队列、链表、指针、根树的概念、实现以及在算法设计中的应用 | * 掌握堆栈、队列、链表、指针、根树的概念、实现以及在算法设计中的应用 | ||
第248行: | 第242行: | ||
* MA第2, 3章 | * MA第2, 3章 | ||
| | | | ||
− | * | + | * 基本数据结构 |
| | | | ||
− | * | + | * [[Media:2-10-data-structures.zip | 2-10-data-structures]] |
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/11/ 基础数据结构-1]] | |
|- | |- | ||
| | | | ||
− | + | 2020-05-07 | |
| | | | ||
− | * [[Media:2- | + | * [[Media:2-11_Heap&HeapSort.pdf | 2019-2-11_Heap&HeapSort ]] |
| | | | ||
* 理解并掌握堆的结构、实现以及算法应用 | * 理解并掌握堆的结构、实现以及算法应用 | ||
第271行: | 第260行: | ||
* 从数据结构到抽象数据类型的思想发展 | * 从数据结构到抽象数据类型的思想发展 | ||
| | | | ||
− | * | + | * [[Media:2-11-heapsort.zip | 2-11-heapsort]] |
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/12/ 基础数据结构-2]] | |
|- | |- | ||
| | | | ||
− | + | 2020-05-14 | |
| | | | ||
− | * [[media: | + | * [[media:2019-2-12_Hashing.pdf |2-12: Hashing方法]] |
| | | | ||
* 掌握Hashing方法的原理、处理冲突的方法以及分析方法 | * 掌握Hashing方法的原理、处理冲突的方法以及分析方法 | ||
第291行: | 第276行: | ||
* Hashing方法中的冲突处理 | * Hashing方法中的冲突处理 | ||
| | | | ||
− | * | + | * [[Media:2-12-hashing.zip | 2-12-hashing]] |
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/13/ 哈希]] | |
|- | |- | ||
| | | | ||
− | 2019- | + | 2019-05-21 |
| | | | ||
− | * [[Media:2-13-搜索树- | + | * [[Media:2-13-搜索树-2020-05-21.pptx | 2-13:搜索树]] |
| | | | ||
* 掌握利用树结构存储与搜索数据的方法 | * 掌握利用树结构存储与搜索数据的方法 | ||
| | | | ||
− | * | + | * MA 第4.1节 |
+ | * TC第12章 | ||
| | | | ||
− | * | + | * 搜索树的结构与操作 |
| | | | ||
− | * | + | * [[Media:2-13-bst.zip | 2-13-bst]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | + | *[[http://oj.problemoverflow.top/2019-2/14/ 搜索树]] | |
|- | |- | ||
| | | | ||
− | 2019- | + | 2019-05-28 |
| | | | ||
− | * [[media: | + | * [[media:计算机问题求解-2020-05-28-B树.pptx | 2-14:B 树]] |
| | | | ||
* 掌握 B 树的基本性质及其操作 | * 掌握 B 树的基本性质及其操作 | ||
第331行: | 第307行: | ||
* 如何在经典数据结构的基础上,针对应用特征,优化设计,提高效率 | * 如何在经典数据结构的基础上,针对应用特征,优化设计,提高效率 | ||
| | | | ||
− | * | + | * [[Media:2-14-b-tree.zip | 2-14-b-tree]] |
− | * | + | | |
− | * | + | *[[http://oj.problemoverflow.top/2019-2/15/ 编程复习]] |
+ | |- | ||
+ | | | ||
+ | 2019-06-04 | ||
+ | | | ||
+ | * [[Media:红黑树.pptx | 2-15: 红黑树]] (改为课堂练习) | ||
+ | | | ||
+ | * 掌握红黑树数据结构的基本性质及其操作 | ||
+ | | | ||
+ | * TC第13章 | ||
+ | | | ||
+ | * 红黑树的概念 | ||
+ | | | ||
+ | * [[Media:2-15-rb-tree.zip | 2-15-rb-tree]] | ||
+ | | | ||
+ | |- | ||
+ | | | ||
+ | * | ||
+ | | | ||
+ | * | ||
+ | | | ||
+ | * | ||
+ | | | ||
+ | * | ||
+ | | | ||
+ | * | ||
+ | | | ||
+ | * [[Media: 2-correction.zip | 2019-2-correction]] | ||
| | | | ||
|} | |} |
2022年3月30日 (三) 09:52的最新版本
基本要求
- 理解数据抽象,理解并能够应用常用的数据结构
- 掌握重要算法设计策略以及算法分析的基本方法
- 理解并能够应用支持上述内容的离散数学工具与方法
- 程序设计能力
考核方法
所有形式的考核,均不准抄袭。
考核形式 | 分值 |
---|---|
作业 | 15 |
OT | 10 |
OJ | 15 |
机试 | 10 |
笔试 | 50 |
指定教材
- DH: David Harel et al.: Algorithmics - The Spirit of Computing, 3rd ed. Addison-Wesley, 2004
- CS: Clifford Stein et al.: Discrete Mathematics for Computer Scientists, 1st ed. Addison-Wesley, 2010
- TC: Thomas Cormen et al.: Introduction to Algorithms, 3rd ed. MIT, 2009
- MA: Manoochehr Azmoodeh. Abstract Data Types and Algorithms, Macmillan Education, UK, 1990
推荐课外阅读材料
(可参照习题课扩展材料部分所给出的阅读建议)
- Kenneth H. Rosen: Discrete Mathematics and Its Applications, 7th Edition. McGraw-Hill, 2011
- [TAOCP-4A] Donald E. Knuth: The Art of Computer Programming Vol4A: Combinatorial Algorithms Part 1, 2011
- [GKP] Ronald L. Graham, Donald E. Knuth, Oren Patashnik: Concrete Mathematics: A Foundation for Computer Science, 2nd Edition, 1994.
- [PP] Jon Bentley: Programming Pearls, 2nd Edition, 1999.
- [AoA] Robert Sedgewick, Philippe Flajolet: Book: An Introduction to the Analysis of Algorithms, 2nd Edition, 2012.
- [TheBook] Martin Aigner: Book: Proofs from THE BOOK, Fifth Edition, 2014.
- [MCS] Eric Lehman, F Thomson Leighton, Albert R Meyer: Mathematics for Computer Science, MIT, 2018.
更多阅读材料将随课堂进度添加。
学习周历
日期 | 论题 | 学习目的 | 阅读材料 | 引导要点 | 书面作业 | 编程作业 |
---|---|---|---|---|---|---|
2020-02-20 |
|
|
|
|||
2020-02-27 |
|
|
|
| ||
2020-03-05 |
2-2:算法的效率 |
|
|
|
| |
2020-03-12 |
2-3:组合与计数 |
|
|
|
| |
2020-03-19 |
|
|
|
| ||
2020-03-26 |
|
|
|
| ||
2020-04-02 |
|
|
|
| ||
2020-04-09 |
|
|
|
| ||
2020-04-16 |
|
|
|
| ||
2020-04-23 |
|
|
|
| ||
2020-04-30 |
|
|
|
| ||
2020-05-07 |
|
|
|
| ||
2020-05-14 |
|
|
|
| ||
2019-05-21 |
|
|
|
| ||
2019-05-28 |
|
|
|
| ||
2019-06-04 |
|
|
|
|
||
|
|
|
|
|