查看“2013级--学期安排 (第三学期)”的源代码
←
2013级--学期安排 (第三学期)
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==基本要求== <ul> <li>掌握典型应用中抽象出来的重要算法问题的求解方法。</li> <li>理解并能够应用支持上述内容的离散数学工具与方法。</li> </ul> 注意:程序设计能力要求贯穿于整个课程,不再单列。 ==指定教材== <ul> <li>'''CS''': Cliff Stein et al.: Discrete Mathematics for Computer Scientists, 1st ed. Addison-Wesley, 2010</li> <li>'''DW''': Douglas West: Introduction to Graph Theory, 2nd ed. Pearson, 2000</li> <li>'''TC''': Thomas Cormen: Introduction to Algorithms, 3rd ed. MIT, 2009</li> <li>'''TJ''': Thomas Judson: Abstract Algebra - Theory and Applications, http://abstract.ups.edu/</li> <li>'''WS''': Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008</li> </ul> ==推荐课外读物== <ul> <li>Larry Nyhoff: ADTs, Data Structures, and Problem Solving with C++, 2nd ed. Prentice Hall, 2004</li> </ul> ==学习周历== <table border="1px"> <tr> <th>日期</th> <th>论题</th> <th>学习目的</th> <th>阅读材料</th> <th>引导要点</th> <th>书面作业</th> <th>编程任务</th> </tr> <tr> <td>9.1--9.5</td> <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92.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>tbd</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>tbd</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>tbd</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>tbd</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>tbd</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> <tr> <td>tbd</td> <td>3-1:单源最短通路算法</td> <td> <ul> <li>掌握单源最短通路问题的解决方法</li> <li>理解最短通路的数学性质并理解其在正确性证明中的作用</li> </ul> </td> <td> <ul> <li>TC第24章</li> </ul> </td> <td> <ul> <li>贪心策略在不同算法中的不同体现</li> </ul> </td> <td> <ul> <li>TC第24.1节练习2、3、4</li> <li>TC第24.2节练习2</li> <li>TC第24.3节练习2、4、7</li> <li>TC第24.5节练习2、5</li> <li>TC第24章问题2、3</li> </ul> </td> <td> <ul> <li>Dijkstra算法</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-2:多源最短通路算法</td> <td> <ul> <li>掌握多源最短通路问题的解法</li> </ul> </td> <td> <ul> <li>TC第25章</li> </ul> </td> <td> <ul> <li>不同领域表面上完全不同的问题如何归结为同一个模型上的问题</li> </ul> </td> <td> <ul> <li>TC第25.1节练习4、5、6、9、10</li> <li>TC第25.2节练习2、4、6、8</li> <li>TC第25.3节练习2、3</li> <li>TC第25章问题2</li> </ul> </td> <td> <ul> <li>Floyd-Warshall算法</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-3:图中的匹配与覆盖</td> <td> <ul> <li>掌握图中匹配与覆盖的概念、关键问题与算法</li> </ul> </td> <td> <ul> <li>DW第3章</li> </ul> </td> <td> <ul> <li>点与边、匹配与覆盖的对称性</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>匈牙利算法</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-4:图的连通度与网络流</td> <td> <ul> <li>理解图中连通度的概念与相关理论</li> <li>理解图中的网络与流的概念与意义</li> </ul> </td> <td> <ul> <li>DW第4章</li> </ul> </td> <td> <ul> <li>连通性的意义</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第17章项目10</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-5:最大流算法</td> <td> <ul> <li>掌握网络最大流问题的算法</li> </ul> </td> <td> <ul> <li>TC第26章</li> </ul> </td> <td> <ul> <li>最大流与最小割集的关系在算法正确性证明中的影响</li> <li>叠加式算法及其分析</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>Ford-Fulkerson算法</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-6:图论中的其它专题</td> <td> <ul> <li>理解图论中一些著名的问题以及它们在计算机问题求解中的地位,包括图顶点着色问题、哈密尔顿回路问题与平面图</li> </ul> </td> <td> <ul> <li>DW第5章第1节</li> <li>DW第6章第1节</li> <li>DW第7章第2节</li> </ul> </td> <td> <ul> <li>图模型应用的广泛性</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>Fleury算法</li> <li>用枚举方式解TSP, 观察到问题规模多大时代价便不可容忍</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-7:矩阵计算</td> <td> <ul> <li>掌握矩阵计算中一些基本问题的算法以及其在线性系统中的应用</li> </ul> </td> <td> <ul> <li>TC第28章</li> </ul> </td> <td> <ul> <li>线性系统及其在问题求解中的重要性</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>LUP decomposition</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-8:线性规划</td> <td> <ul> <li>掌握线性规划的基本概念,问题描述方式以及基本算法</li> </ul> </td> <td> <ul> <li>TC第29章</li> </ul> </td> <td> <ul> <li>线性规划的意义与适用性</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>Simplex算法</li> </ul> </td> </tr> <tr> <td>10.28--11.1</td> <td>3-9:多项式与FFT</td> <td> <ul> <li>掌握计算机处理多项式的基本算法</li> <li>掌握快速傅立叶方法的计算机实现</li> </ul> </td> <td> <ul> <li>TC第30章</li> </ul> </td> <td> <ul> <li>多项式的表示如何影响算法设计与实现</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>实现一个多项式相乘的算法</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-10:群与拉格郎日定理</td> <td> <ul> <li>理解抽象代数结构的基本概念</li> <li>理解群的数学性质以及抽象代数典型推导方法</li> </ul> </td> <td> <ul> <li>TJ第3、4、5、6章</li> </ul> </td> <td> <ul> <li>公理化系统的思想</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第12章项目1</li> <li>WS第12章项目8</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-11:环与域</td> <td> <ul> <li>理解环与域的基本概念</li> <li>理解环与域的数学性质以及在计算机科学中的意义</li> </ul> </td> <td> <ul> <li>TJ第16章第1、2、5节</li> </ul> </td> <td> <ul> <li>多个运算的代数系统的数学性质与推理方法</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第15章项目10</li> <li>WS第15章项目11</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-12:数论基础</td> <td> <ul> <li>掌握数论的基础知识,理解典型的数论问题及其解决思路</li> </ul> </td> <td> <ul> <li>TJ第2章</li> <li>CS第2章第2节</li> </ul> </td> <td> <ul> <li>模算术的概念与处理方法在数论中的应用</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第13章项目3</li> <li>WS第13章项目8</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-13:数论算法</td> <td> <ul> <li>掌握数论中一些基本问题的算法</li> </ul> </td> <td> <ul> <li>TC第31章第1、2、3、4、5、8节</li> </ul> </td> <td> <ul> <li>数论算法的问题大小度量方式的特殊性</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>实现解模线性方程组的程序</li> <li>实现两个任意长度整数精确相乘的程序</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-14:密码算法</td> <td> <ul> <li>掌握公钥密码系统的基本原理</li> <li>理解其中核心的数论算法</li> </ul> </td> <td> <ul> <li>TJ第7章</li> <li>TC第31章第7、9节</li> </ul> </td> <td> <ul> <li>数论算法的核心作用</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>实现Miller-Rabin算法</li> <li>如果有兴趣,尝试了解与实现ASK算法</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-15:代数编码</td> <td> <ul> <li>理解如何能建立利于查错,纠错的编码系统</li> <li>理解抽象代数的应用意义</li> </ul> </td> <td> <ul> <li>TJ第8章</li> </ul> </td> <td> <ul> <li>群的性质如何保证编码系统的性质</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第16章项目6</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-16:群与对称</td> <td> <ul> <li>理解群在处理对称系统中的应用,进一步理解群的应用意义</li> </ul> </td> <td> <ul> <li>TJ第12、13、14章</li> </ul> </td> <td> <ul> <li>对称群的结构与基本理论</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>在计算机中展示S_3与S_4子对称的几和表示</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-17:串匹配</td> <td> <ul> <li>掌握最常用的字符串匹配算法</li> </ul> </td> <td> <ul> <li>TC第32章</li> </ul> </td> <td> <ul> <li>匹配算法的原理及其适用性</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>KMP算法,比较普通文本与由5个符号组成的很长的串上效率的差异</li> </ul> </td> </tr> <tr> <td>tbd</td> <td>3-18:计算几何算法</td> <td> <ul> <li>理解计算几何中一些最基本的问题及其解法</li> </ul> </td> <td> <ul> <li>TC第33章</li> </ul> </td> <td> <ul> <li>几何计算与计算机图形处理之间的关系</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>距离最近点对算法</li> </ul> </td> </tr> </table>
返回至
2013级--学期安排 (第三学期)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息