- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“算法设计与分析”课程教学大纲与教学规程
“算法设计与分析”课程教学大纲和教学规程
1. 课程基本信息
课程编号:
课程名称(中文):算法设计与分析
课程名称(英文):The design and analysis of algorithms
开课学期: 见培养方案与教学计划
课程类别: 专业基础课程
课程学时数与学分: 56学时(4学分,不含实验课时,4学时/周)
实验学时数与学分: 28学时(学分计算并入计算机科学实验课程,4学时/次/周)
先修课程: 高等数学或数学分析,线性代数或高等代数,概率论与数理统计,离散数学,高级语言程序设计,数据结构
教学形式: 课堂讲授 + 课外教学 + 实验教学(实验课程实行单列)
使用教材:
张德富,算法设计与分析,国防工业出版社,2009,8。
教学参考书:
[1] T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms(the second edition),The MIT Press,2001
该书国内已引进,见《算法导论(第二版)》(影印版,中文本),高等教育出版社,2003
[2] M. H. Alsuwaiyel,Algorithms Design Techniques and Analysis,World Scientific Publishing Company,1998
M. H. Alsuwaiyel,吴伟昶 等译,《算法设计技巧与分析》(中文版),电子工业出版社,2004
[3] Sartaj Sahni著,汪诗林等译,《数据结构、算法与应用--C++语言描述》,机械工业出版社,2003
[4] 王晓东编著,《计算机算法设计与分析》,电子工业出版社,2005
[5] Gilles Brassard, Paul Bratley. 《FUNDAMENTALS OF ALGORITHMICS》(算法基础),清华大学出版社,2005
注:[1]和[2]两本书为主要教学参考书。
大纲制定者: 张德富、赵致琢、苏 畅(厦门大学计算机科学系)
大纲审定者: 赵致琢(厦门大学计算机科学系)
2.课程性质、类别与任务
“算法设计与分析”是计算机科学与技术专业一门重点专业基础课程,也是学科核心专业基础课程之一,属于必修课程。本课程主要介绍算法的基础知识,包括抽象计算模型、算法基本概念、算法复杂性分析基础、算法设计的基本方法、以及算法复杂性理论基础。通过本课程的学习,要求学生理解并熟练掌握:了解可支持算法运行的抽象机器计算模型,算法的定义和复杂性概念,算法设计的基本技术方法,包括递归与分治法、贪心法、动态规划方法、回溯法、分支限界法以及高级图论算法等,理解并掌握算法复杂性的分析方法、NP完全性理论基础等计算复杂性的基本知识以及完全性证明概要。通过教学和实践,培养学生运用数学工具和方法分析问题和从算法的角度运用数学工具解决问题的基本能力,培养学生设计算法和分析算法复杂性的基本能力,训练学生的逻辑思维能力和想象力,从而使他们能够正确地分析和评价一个算法,进一步设计出真正有效或更有效的算法,并使之了解算法理论的基础知识和发展概况。在教学中,鼓励学生运用算法知识解决各个学科的实际计算问题,培养学生初步的独立开展科研工作的能力和理论联系实践,解决实际问题的能力,同时,为后续课程以及将来的研究工作提供必要的算法设计与分析的基础。
此外,配合实验课程的教学,学生应理论联系实际,理论指导实践,通过规范地完成一系列算法设计实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步的提高。
3.课程教学的基本要求(教学内容和教学重点)
“算法设计与分析”内容的重点是各种常用的算法设计方法和复杂性分析方法,包括递归与分治法、贪心法、动态规划方法、回溯法、分支限界法,以及高级图论算法、时空复杂性的分析方法、NP完全性理论基础。课程教学的基本要求是通过教学活动,使每一个学生较好地掌握课程的主要内容,同时具备对实际问题应用所学知识设计出有效算法并编程实现这些算法的能力。课程的教学内容主要包括如下知识点,其中,属于重点的内容用黑体标示,今后教学改革拟增加的内容用“{……}”标示,部分非重要内容用括弧标注为“一般了解”:
基本概念:问题; 抽象计算模型;算法的概念;算法正确性;算法效率;问题下界
算法的评估:时间复杂性和空间复杂性分析;算法的最优、最差和平均效率;渐近复杂性符号和基本效率类型;非递归算法的数学分析;{概率分析(一般了解);分摊分析(一般了解);算法的经验分析;算法可视计算方法};
递归:递归设计;递归算法转非递归算法;递归算法的设计实例;递归算法的数学分析,{三种求解递归方程的方法};
分治法:分治法的基
文档评论(0)