|
|
第502行: |
第502行: |
| </td> | | </td> |
| </tr> | | </tr> |
− | <tr>
| + | |
− | <td>5.27--5.31</td>
| |
− | <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2013-05-14.pdf 2-15:动态规划]</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>通过实例掌握动态规划的基本思想与算法设计方法</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第15章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>以空间换时间的关键是存储效率</li>
| |
− | <li>动态规划与指数时间的有效降低</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第15.1节练习1、3</li>
| |
− | <li>TC第15.2节练习2、4</li>
| |
− | <li>TC第15.3节练习3、5、6</li>
| |
− | <li>TC第15.4节练习3、5</li>
| |
− | <li>TC第15.5节练习1</li>
| |
− | <li>TC第15章问题4</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>实现矩阵连乘</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>6.3--6.7</td>
| |
− | <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2013-05-21.pdf 2-16:贪心算法]</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>掌握利用贪心策略设计算法的思路与方法</li>
| |
− | <li>掌握用分摊进行算法分析的思想与方法</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第16章第1、2、3节</li>
| |
− | <li>TC第17章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>贪心算法的正确性证明</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第16.1节练习2、3</li>
| |
− | <li>TC第16.2节练习1、2</li>
| |
− | <li>TC第16.3节练习2、5、8</li>
| |
− | <li>TC第16章问题1</li>
| |
− | <li>TC第17.1节练习3</li>
| |
− | <li>TC第17.2节练习2</li>
| |
− | <li>TC第17.4节练习1</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>Hoffman码</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>6.10--6.14</td>
| |
− | <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2013-05-28.pdf 2-17:用于动态等价关系的数据结构]</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>理解动态等价关系的概念以及在问题求解中的意义</li>
| |
− | <li>掌握以union-find为代表的相应数据结构</li>
| |
− | <li>进一步理解抽象数据类型的意义</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第21章</li>
| |
− | <li>SB第2章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>算法分析的困难性</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第21.1节练习2、3</li>
| |
− | <li>TC第21.2节练习1、3、6</li>
| |
− | <li>TC第21.3节练习1、2、3</li>
| |
− | <li>TC第21章问题1</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>编一个程序自动生成迷宫</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>6.17--6.21</td>
| |
− | <td>2-18:图的基本概念</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>掌握图的基本概念以及图论的基本证明方式</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>DW第1章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>图论应用的广泛性以及图论证明方法的独特性</li>
| |
− | <li>理解图与关系的联系</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>DW第1.1节练习4、5、10、14、16、31</li>
| |
− | <li>DW第1.2节练习5、7、11、17、18、20、38、40</li>
| |
− | <li>DW第1.3节练习1、10、14、15、18、61</li>
| |
− | <li>DW第1.4节练习1、5、8、10、11、21</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>WS第11章项目3</li>
| |
− | <li>WS第11章项目5</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>6.24--6.28</td>
| |
− | <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2013-06-11.pdf 2-19:图的计算机表示以及遍历]</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>掌握在计算机中表示图的方式</li>
| |
− | <li>掌握图的深度优先与广度优先遍历方法</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第22章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>图表示中形式与效率的关系</li>
| |
− | <li>不同遍历方法的算法意义</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第22.1节练习3、8</li>
| |
− | <li>TC第22.2节练习3、4、5</li>
| |
− | <li>TC第22.3节练习6、7、8、9、12</li>
| |
− | <li>TC第22.4节练习2、3</li>
| |
− | <li>TC第22.5节练习5、7</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>实现深度与广度遍历</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>7.1--7.5</td>
| |
− | <td>2-20:树</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>理解树的基本数学性质</li>
| |
− | <li>掌握用加权树建立数学模型的方法</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>DW第2章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>树的数学性质在计算机问题求解中的意义</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>DW第2.1节练习2、7、9、15、18、21、23、29、33、37、48</li>
| |
− | <li>DW第2.2节练习2、6、7、8、10</li>
| |
− | <li>DW第2.3节练习1、2、6、12、13、14、18、21</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>WS第14章项目10</li>
| |
− | <li>WS第14章项目11</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>暑假自学</td>
| |
− | <td>2-21:最小生成树算法</td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>理解贪心算法策略在最小生成树问题上的应用</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>TC第23章</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>如何评价同一问题的不同算法</li>
| |
− | </ul>
| |
− | </td>
| |
− | <td>
| |
− | </td>
| |
− | <td>
| |
− | <ul>
| |
− | <li>Prim和Kruskal算法</li>
| |
− | </ul>
| |
− | </td>
| |
− | </tr>
| |
| </table> | | </table> |
日期 |
论题 |
学习目的 |
阅读材料 |
引导要点 |
书面作业 |
编程任务 |
2.18--2.22 |
2-1:算法方法 |
|
|
|
- DH第4章练习1、2、8、9、11、12、13、14
|
|
2.25--3.1 |
2-2:算法正确性 |
- 理解并能够区分程序错误与算法错误
- 理解算法正确的概念及其证明方法
|
|
|
- DH第5章练习4、6、8、9、10、11、12、13、14
|
|
3.4--3.8 |
2-3:算法的效率 |
|
|
|
|
|
3.11--3.15 |
2-4:算法问题与解题的算法 |
- 理解计算机算法的相关概念
- 掌握算法复杂性的基本度量方法
|
|
- 算法设计与算法分析是计算机问题求解不可互却的两个方面
|
- TC第2章问题1、2、3、4
- TC第3章问题2、3、4
|
|
3.18--3.28 |
2-5:组合与计数 |
|
|
|
- CS第1.1节问题9、13
- CS第1.2节问题15
- CS第1.3节问题6、9、14
- CS第1.5节问题8、10、15
|
- 任给k个元素的字母表;编程输出所有可能的组合串,且每个串中没有重复字母。如果可以任意某一个或多个字母可重复的次数,修改你的算法。复杂性是否会增加?
|
3.31--4.11 |
2-6:分治法与递归 |
- 掌握利用分治法设计算法的思路
- 深入理解递归在算法设计中的作用
|
|
|
- TC第4.1节练习5
- TC第4.3节练习3、7
- TC第4.4节练习2、8
- TC第4.5节练习4
- TC第4章问题1、3、4
|
|
4.14--4.18 |
2-7:递归及其数学基础 |
- 进一步理解递归的数学基础
- 更深入地掌握递归算法的分析方法
|
|
|
- CS第4.1节问题16、17
- CS第4.2节问题8、11、17
- CS第4.3节问题9、13、16
- CS第4.4节问题1、4、6
- CS第4.5节问题8、9、10
|
|
4.21--4.30 |
2-8:离散概率基础-1 |
- 理解离散概率的基本概念
- 掌握简单离散概率计算的基本方法
|
|
- 正确理解期望值,由此建立算法分析中期望效率理解的基础
|
- CS第5.1节问题6、10、11、12、13
- CS第5.2节问题2、9、10、14、15
- CS第5.3节问题3、4、8、11、12、13
- CS第5.4节问题5、6、8、10、17、20、21
|
- 利用一个现成的随机数生成函数,模拟3个色子的试验;加大试验次数,比较试验结果与理论概率分布
|
5.5--5.9 |
2-9:概率分析与随机算法 |
- 理解概率在算法设计中的作用
- 掌握基于概率的算法分析的基本方法
|
|
|
- CS第5.6节问题4、8
- CS第5.7节问题1、2、4、6、12、16、18
- TC第5.2节练习1、2、4
- TC第5.3节练习1、2、3、4
- TC第5章问题2
|
|
5.13--5.23 |
2-10:排序与选择 |
- 深入理解快速排序算法的设计思想与分析方法
- 通过排序理解问题复杂度的下限,并探索一些线性排序算法
- 掌握以中位数为代表的统计算法
|
|
|
- TC第7.1节练习2
- TC第7.2节练习4
- TC第7.3节练习2
- TC第7.4节练习2
- TC第7章问题4、5
- TC第8.1节练习3、4
- TC第8.2节练习4
- TC第8.3节练习4
- TC第8.4节练习2
- TC第8章问题2
- TC第9.1节练习1
- TC第9.3节练习5、7
|
|
5.26--5.30 |
2-11:基本数据结构 |
- 掌握堆栈、队列、链表、指针、根树的概念、实现以及在算法设计中的应用
|
|
|
- TC第10.1节练习4、5、6
- TC第10.2节练习1、2、3、6
- TC第10.3节练习4、5
- TC第10.4节练习2、3、4
- TC第10章问题3
|
|
5.6--5.10 |
2-12:堆与堆排序 |
- 理解并掌握堆的结构、实现以及算法应用
- 通过堆的应用与实现理解抽象数据类型的基本概念以及分层抽象的思想
|
|
|
- TC第6.1节练习2、4、7
- TC第6.2节练习2、5、6
- TC第6.3节练习3
- TC第6.4节练习2、4
- TC第6.5节练习5、7、9
|
|
5.13--5.17 |
2-13:Hashing方法 |
- 掌握Hashing方法的原理、处理冲突的方法以及分析方法
|
|
|
- CS第5.5节问题8、11、14
- TC第11.2节练习3、5、6
- TC第11.3节练习3、4
- TC第11.4节练习2、3
- TC第11章问题1、2
|
- 用至少两个不同的Hash函数实现hashing,并比较冲突情况
|
5.20--5.24 |
2-14:搜索树 |
|
|
|
- TC第12.1节练习2、5
- TC第12.2节练习5、8、9
- TC第12.3节练习5
- TC第12章问题1
- TC第13.1节练习5、6、7
- TC第13.2节练习2
- TC第13.3节练习1、5
- TC第13.4节练习1、2、7
|
|