“2021级--学期安排(第二学期)”的版本间的差异
来自问题求解
(→学习周历) |
(→学习周历) |
||
(未显示同一用户的41个中间版本) | |||
第26行: | 第26行: | ||
== 指定教材 == | == 指定教材 == | ||
− | + | * '''SM''': Seymour Lipschutz and Marc Lipson: [[Media:Schaum's_Outlines_-_Discrete_Mathematics,_3rd_Ed._by_Seymour_Lipschutz.pdf | Theory and Problems of Discrete Mathematics]], 3rd ed. | |
* '''DH''': David Harel et al.: [[Media:Algorithmics-the_Spirit_of_Computing,_3rd_by_David_Harel.pdf | Algorithmics - The Spirit of Computing]], 3rd ed. Addison-Wesley, 2004 | * '''DH''': David Harel et al.: [[Media:Algorithmics-the_Spirit_of_Computing,_3rd_by_David_Harel.pdf | Algorithmics - The Spirit of Computing]], 3rd ed. Addison-Wesley, 2004 | ||
* '''CS''': Clifford Stein et al.: [[Media:Discrete_Mathematics_for_Computer_Scientists.pdf | Discrete Mathematics for Computer Scientists]], 1st ed. Addison-Wesley, 2010 | * '''CS''': Clifford Stein et al.: [[Media:Discrete_Mathematics_for_Computer_Scientists.pdf | Discrete Mathematics for Computer Scientists]], 1st ed. Addison-Wesley, 2010 | ||
第65行: | 第65行: | ||
2022-02-16 | 2022-02-16 | ||
| | | | ||
− | * [[Media:计算机问题求解-2022-02- | + | * [[Media:计算机问题求解-2022-02-16-布尔代数.pptx|1-13: 布尔代数]] |
| | | | ||
* 理解布尔代数基本概念 | * 理解布尔代数基本概念 | ||
第75行: | 第75行: | ||
* 布尔代数 | * 布尔代数 | ||
| | | | ||
− | * | + | * [[Media:2021-1-13-boolean-algebra.zip|1-13-boolean-algebra.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
− | | 2022-02- | + | | 2022-02-23 |
| | | | ||
− | * 2-1:算法正确性 | + | * [[media:计算机问题求解-2022-02-23-算法正确性.pptx|2-1:算法正确性]] |
| style="width: 280px;" | | | style="width: 280px;" | | ||
* 理解并能够区分算法错误与程序错误 | * 理解并能够区分算法错误与程序错误 | ||
第90行: | 第90行: | ||
* 循环不变式 | * 循环不变式 | ||
| style="width: 200px;" | | | style="width: 200px;" | | ||
− | * | + | * [[media:2021-2-1-correctness.zip|2-1-correctness.zip]] |
| style="width: 200px;" | | | style="width: 200px;" | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-03- | + | 2022-03-02 |
| | | | ||
− | + | * [[Media:算法的效率2022-03-2.pptx| 2-2:算法的效率]] | |
− | * [[Media: | ||
− | |||
| | | | ||
* 理解算法的时间复杂性的概念与渐近表示方式 | * 理解算法的时间复杂性的概念与渐近表示方式 | ||
第109行: | 第107行: | ||
* 如何做算法复杂度分析 | * 如何做算法复杂度分析 | ||
| | | | ||
− | * | + | * [[media:2021-2-2-efficiency.zip|2-2-efficiency.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-03- | + | 2022-03-09 |
| | | | ||
− | + | * [[Media:2021-2-3-counting.pdf | 2-3:组合与计数]] | |
− | * [[Media: | ||
− | |||
| | | | ||
* 掌握在算法分析中常用的计数原理与方法 | * 掌握在算法分析中常用的计数原理与方法 | ||
第126行: | 第122行: | ||
* 组合计数技巧与常见形式 | * 组合计数技巧与常见形式 | ||
| | | | ||
− | * | + | * [[media:2021-2-3-counting.rar|2021-2-3-counting.rar]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-03- | + | 2022-03-16 |
| | | | ||
− | * [[Media: | + | * [[Media:计算机问题求解-2022-03-16-分治法与递归.pptx | 2-4: 分治法与递归]] |
| | | | ||
* 掌握利用分治法设计算法的思路 | * 掌握利用分治法设计算法的思路 | ||
第143行: | 第139行: | ||
* 算法设计中的分治思想 | * 算法设计中的分治思想 | ||
| | | | ||
− | * | + | * [[media:2021-2-4-recurrence.zip|2-4-recurrence.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-03- | + | 2022-03-23 |
| | | | ||
− | * [[Media: | + | * [[Media:递归及其数学基础2022-03-23.pptx |2-5:递归及其数学基础]] |
− | |||
− | |||
| | | | ||
* 进一步理解递归的数学基础 | * 进一步理解递归的数学基础 | ||
第161行: | 第155行: | ||
* 如何解递归式 | * 如何解递归式 | ||
| | | | ||
− | * | + | * [[media:2021-2-5-solving-recurrence.zip|2-5-solving-recurrence.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022- | + | 2022-03-30 |
| | | | ||
− | * [[Media: | + | * [[Media:计算机问题求解-2022-03-30-算法方法.pptx | 2-6: 算法方法]] |
| | | | ||
* 通过具体示例了解算法设计的基本策略 | * 通过具体示例了解算法设计的基本策略 | ||
第176行: | 第170行: | ||
* 理解复杂算法背后的简单原理 | * 理解复杂算法背后的简单原理 | ||
| | | | ||
− | * | + | * [[media:2021-2-6-algorithmic-methods.zip|2-6-algorithmic-methods.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-04- | + | 2022-04-06 |
| | | | ||
− | * [[Media: | + | * [[Media:计算机问题求解-2022-04-06-离散概率基础.pptx | 2-7: 离散概率基础]] |
| | | | ||
* 理解离散概率的基本概念 | * 理解离散概率的基本概念 | ||
第192行: | 第186行: | ||
* 正确理解“期望”的概念,为理解平均情况时间复杂度分析建立基础 | * 正确理解“期望”的概念,为理解平均情况时间复杂度分析建立基础 | ||
| | | | ||
− | * | + | * [[media:2021-2-7-discrete-probability.zip|2-7-discrete-probability.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-04- | + | 2022-04-13 |
| | | | ||
− | * [[Media:2-8-计算机问题求解-2022-04- | + | * [[Media:2-8-计算机问题求解-2022-04-13概率和随机算法.pptx | 2-8: 概率分析与随机算法]] |
| | | | ||
* 理解概率在算法设计中的作用 | * 理解概率在算法设计中的作用 | ||
第209行: | 第203行: | ||
* 随机变量在算法分析中的意义 | * 随机变量在算法分析中的意义 | ||
| | | | ||
− | * | + | * [[media:202102-8-probabilistic-analysis.zip|2-8-probabilistic-analysis.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-04- | + | 2022-04-20 |
| | | | ||
− | * [[Media: | + | * [[Media:2021-2-9-sorting_and_selection.pdf | 2-9:排序与选择.pdf]] |
− | |||
| | | | ||
* 深入理解快速排序算法的设计思想与分析方法 | * 深入理解快速排序算法的设计思想与分析方法 | ||
第227行: | 第220行: | ||
* 如何证明问题复杂度的下界 | * 如何证明问题复杂度的下界 | ||
| | | | ||
− | * | + | * [[media:2021-2-9-sorting-selection.zip|2-9-sorting-selection.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-04- | + | 2022-04-27 |
| | | | ||
− | * [[Media: | + | * [[Media:计算机问题求解-2022-04-27基本数据结构.pptx | 2-10: 基本数据结构]] |
| | | | ||
* 掌握堆栈、队列、链表、指针、根树的概念、实现以及在算法设计中的应用 | * 掌握堆栈、队列、链表、指针、根树的概念、实现以及在算法设计中的应用 | ||
第243行: | 第236行: | ||
* 基本数据结构 | * 基本数据结构 | ||
| | | | ||
− | * | + | * [[media:2021-2-10-data-structures.zip|2-10-data-structures.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-05- | + | 2022-05-04 |
| | | | ||
− | * [[Media:2-11_Heap&HeapSort.pdf | + | * [[Media:2021-2-11_Heap&HeapSort.pdf| 2-11: Heap&HeapSort ]] |
| | | | ||
* 理解并掌握堆的结构、实现以及算法应用 | * 理解并掌握堆的结构、实现以及算法应用 | ||
第259行: | 第252行: | ||
* 从数据结构到抽象数据类型的思想发展 | * 从数据结构到抽象数据类型的思想发展 | ||
| | | | ||
− | * | + | * [[media:2021-2-11-heapsort.zip|2-11-heapsort.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-05- | + | 2022-05-11 |
| | | | ||
− | * [[media: | + | * [[media:2021-2-12_Hashing.pdf |2-12: Hashing方法]] |
| | | | ||
* 掌握Hashing方法的原理、处理冲突的方法以及分析方法 | * 掌握Hashing方法的原理、处理冲突的方法以及分析方法 | ||
第275行: | 第268行: | ||
* Hashing方法中的冲突处理 | * Hashing方法中的冲突处理 | ||
| | | | ||
− | * | + | * [[media:2021-2-12-hashing.zip|2-12-hashing.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-05- | + | 2022-05-18 |
| | | | ||
* [[Media:2-13-搜索树-2022-05-21.pptx | 2-13:搜索树]] | * [[Media:2-13-搜索树-2022-05-21.pptx | 2-13:搜索树]] | ||
第291行: | 第284行: | ||
* 搜索树的结构与操作 | * 搜索树的结构与操作 | ||
| | | | ||
− | * | + | * [[media:2021-2-13-bst.zip|2-13-bst.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-05- | + | 2022-05-25 |
| | | | ||
* [[media:计算机问题求解-2022-05-28-B树.pptx | 2-14:B 树]] | * [[media:计算机问题求解-2022-05-28-B树.pptx | 2-14:B 树]] | ||
第306行: | 第299行: | ||
* 如何在经典数据结构的基础上,针对应用特征,优化设计,提高效率 | * 如何在经典数据结构的基础上,针对应用特征,优化设计,提高效率 | ||
| | | | ||
− | * | + | * [[media:2021-2-14-b-tree.zip|2-14-b-tree.zip]] |
| | | | ||
* | * | ||
|- | |- | ||
| | | | ||
− | 2022-06- | + | 2022-06-01 |
| | | | ||
− | * [[Media:红黑树.pptx | 2-15: 红黑树]] | + | * [[Media:计算机问题求解-2022-06-1-红黑树.pptx| 2-15: 红黑树]] |
| | | | ||
* 掌握红黑树数据结构的基本性质及其操作 | * 掌握红黑树数据结构的基本性质及其操作 | ||
第321行: | 第314行: | ||
* 红黑树的概念 | * 红黑树的概念 | ||
| | | | ||
− | * | + | * [[media:2021-2-15-rb-tree.zip|2-15-rb-tree.zip]] |
| | | | ||
|- | |- |
2022年6月6日 (一) 12:16的最新版本
基本要求
- 理解数据抽象,理解并能够应用常用的数据结构
- 掌握重要算法设计策略以及算法分析的基本方法
- 理解并能够应用支持上述内容的离散数学工具与方法
- 程序设计能力
考核方法
所有形式的考核,均不准抄袭。
考核形式 | 分值 |
---|---|
作业 | 20 |
OT | 10 |
OJ | 15 |
机试 | 15 |
笔试 | 40 |
指定教材
- SM: Seymour Lipschutz and Marc Lipson: Theory and Problems of Discrete Mathematics, 3rd ed.
- 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.
更多阅读材料将随课堂进度添加。
学习周历
日期 | 论题 | 学习目的 | 阅读材料 | 引导要点 | 书面作业 | 编程作业 |
---|---|---|---|---|---|---|
2022-02-16 |
|
|
|
| ||
2022-02-23 |
|
|
|
| ||
2022-03-02 |
|
|
|
| ||
2022-03-09 |
|
|
|
| ||
2022-03-16 |
|
|
|
| ||
2022-03-23 |
|
|
|
| ||
2022-03-30 |
|
|
|
| ||
2022-04-06 |
|
|
|
| ||
2022-04-13 |
|
|
|
| ||
2022-04-20 |
|
|
|
| ||
2022-04-27 |
|
|
|
| ||
2022-05-04 |
|
|
|
| ||
2022-05-11 |
|
|
|
| ||
2022-05-18 |
|
|
|
| ||
2022-05-25 |
|
|
|
| ||
2022-06-01 |
|
|
|
|||
|
|
|
|
|
|