版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法设计与分析一、 说明(一) 课程性质计算机科学是一种创造性思维活动,其教育必须面向设计。计算机算法设计与分析正是一门面向设计,且处于计算机学科核心地位的教育课程。设计一个高效的程序不仅需要编程小技巧,更需要合理的数据组织和清晰高效的算法,这正是计算机科学领域里数据结构与算法设计所研究的主要内容。(二) 教学目的通过对本课程的学习与研究,使学生掌握算法设计的主要方法,培养对算法的计算复杂性正确分析的能力,为独立设计算法和对算法复杂性分析奠定坚实的理论基础,对学生将来从事计算机系统结构、系统软件和应用软件的研究与开发提供一个广泛扎实的计算机算法知识基础。(三) 教学内容算法及算法复杂性基本概念
2、,算法描述,有效算法最常用的设计策略递归和分治法,动态规划法的设计要点与适用性,贪心算法,回溯法和分支限界法,许多难解问题的高效算法概率算法,以及NP完全理论和NP难问题的近似解法。传统算法实例分析,算法领域研究热点介绍。(四) 教学时数课堂教学36学时,实验部分36学时,总计36+36/2=54学时(五) 教学方式讲授+上机实验+课题设计对每一教学内容,首先介绍一种算法设计策略的基本思想,然后从解决计算机科学和应用中的实际问题入手,由简到繁地描述几个经典的精巧算法。同时对每个算法所需的时间和空间进行分析,使学生既能学到一些常用的精巧算法,又能通过对算法设计策略的反复应用,牢固掌握这些算法设计
3、的基本策略,以期收到融会贯通之效。在为各种算法设计策略选择用于展示其设计思想与技巧的具体应用问题时,有意义重复选择某些经典问题,使学生能深刻地体会到一个问题可以用多种设计策略求解。同时通过对解同一问题的不同算法的比较,使学生更容易体会到每一种具体算法的设计要点。随着内容的逐步展开,学生也将进一步感受到综合应用多种设计策略可以更有效地解决问题。二、 本文(一) 课堂教学部分第一章 算法概述教学要点:算法的基本概念,算法的计算复杂性 教学时数:建议2学时 教学内容:第一节 算法与程序 (0.5学时)掌握算法的概念及特性理解算法与程序的区别了解算法的描述方法第二节 算法复杂性分析 (1.5学时)掌握
4、算法复杂性分析的概念熟练掌握算法时间复杂性和空间复杂性的表示方法及O的定义了解,和O的定义 考核要求:识记相关概念,领会复杂性分析方法第二章 递归与分治策略教学要点:递归概念,分治策略,递归算法设计 教学时数:建议5学时 教学内容:第一节 递归概念 (1学时)熟练掌握递归概念说明递归算法的工作原理第二节 分治法的基本思想 (0.5学时)熟练掌握分治法的基本思想和一般原则理解分治算法设计模式掌握分治算法的复杂性分析方法第三节 基与分治策略的递归算法设计 (3.5学时)熟练应用分治法设计递归算法:1.大整数乘法 (0.5学时)2.Strassen矩阵乘法 (0.5学时)3.棋盘覆盖 (0.5学时)
5、4.归并排序(0.5学时) 5.快速排序 (0.5学时)了解分治法所能解决的一些典型问题应用递归算法复杂性分析的一般方法分析各种具体算法的复杂性考核要求:领会递归与分治的基本概念应用分治策略解决实际问题并设计递归算法递归算法的复杂性分析第三章 动态规划教学要点:动态规划算法的设计思想 、适用性以及算法的设计要点。教学时数: 建议6学时。教学内容:第一节 动态规划算法的基本思想 (2.5学时)掌握动态规划算法的基本思想理解动态规划算法和分治法的异同熟练掌握用动态规划算法求解问题的步骤第二节 动态规划算法的基本要素 (1.5学时) 熟练掌握用动态规划算法求解问题的两个重要性质,即:最优子结构性质和
6、子问题重叠性质 理解自顶向下备忘录方法的基本思想第三节 动态规划算法设计(2学时) 熟练应用动态规划思想解决具体应用问题1. 最长公共子序列 (1学时)2 .最大子段和 (1学时)了解动态规划算法所能解决的一些典型问题掌握动态规划算法的复杂性分析方法考核要求: 领会动态规划算法的思想 、算法设计步骤及基本要素掌握用动态规划思想解决实际问题并设计动态规划算法动态规划算法复杂性分析 第四章 贪心算法教学要点:贪心算法思想 、基本要素及贪心算法设计教学时数:建议3学时 教学内容:第一节 贪心算法的基本思想 (1学时)理解贪心算法的基本思想理解局部最优和整体最优的概念第二节 贪心算法的基本要素 (1学
7、时)熟练掌握用贪心算法求解问题的两个重要性质。即: 贪心选择性质和最优子结构性质了解贪心选择性质和最优子结构性质的证明方法理解贪心算法和动态规划算法的差异第三节 贪心算法设计 (1学时)熟练应用贪心算法解决具体应用问题 了解贪心算法可能解决的一些典型问题 掌握贪心算法的复杂性分析方法 考核要求: 领会贪心酸法的思想及基本要素 应用贪心算法思想解决实际问题并设计贪心算法 贪心算法复杂性分析第五章 回溯法 教学要点: 回溯放的基本思想及算法框架,递归回溯,迭代回溯,回溯算法设计 教学时数: 建议4学时 教学内容:第一节 回溯法的算法框架 (2学时)理解问题的解空间掌握回溯法的基本思想熟练掌握回溯法
8、解题的步骤理解递归回溯和迭代回溯了解子集树与排列树的概念第二节 回溯算法设计 (2学时)熟练应用回溯算法解决具体应用问题转载问题了解回溯法解决的一些典型问题掌握回溯算法复杂性分析方法考核要求: 领会回溯法的基本思想识记用回溯算法解题的步骤,子集树,排列树应用回溯法解决实际问题并设计回溯算法回溯算法复杂性分析 第六章 分支界限法教学要点:分支界限法基本思想,分支界限法与回溯法的异同,分支界限算法设计教学时数:建议3学时教学内容:第一节 分支界限法的基本思想 (1.5学时)掌握分支界限法的基本思想理解分支界限法与回溯法的异同理解分支界限法的搜索策略熟练应用剪枝函数来加速搜索第二节 分支界限法算法设
9、计 (1.5学时)熟练应用分支界限法解决具体应用问题单源最短路径设计和应用剪枝函数了解分支界限法解决的一些典型问题熟练应用队列式分支界限法和优先队列式分支界限法考核要求:领会分支界限法的基本思想应用分支界限法设计算法识记分支界限法与回溯法的异同第七章 概率算法教学要点:数据概率算法,蒙特卡罗算法,拉斯维加斯算法,舍伍德算法,各类算法的优缺点教学时数:建议5学时教学内容:第一节 概率算法的描述 (1学时)理解概率算法的基本思想和基本特征掌握概率算法的分类区别各种概率算法了解概率算法的复杂度第二节 数据概率算法 (1学时)理解数据概率算法的内涵掌握数据概率算法的设计了解数据概率算法求解的一些典型问
10、题第三节 舍伍德(Sherwood)算法 (1学时)理解舍伍德算法的基本思想了解舍伍德算法的复杂度掌握舍伍德算法求解的一些典型问题第四节 拉斯维加斯(Las Vegas)算法 (1学时)理解拉斯维加斯算法的基本思想和基本特征了解拉斯维加斯算法的复杂性掌握拉斯维加斯算法的设计了解拉斯维加斯算法求解的一些经典问题第五节 蒙特卡罗(Moute Carlo)理解蒙特卡罗算法的基本思想应用蒙特卡罗算法解决实际应用问题了解蒙特卡罗算法求解的一些经典问题考核要求:领会各类概率算法的基本思想掌握各类概率算法的设计识记各类概率算法的优缺点第八章 NP完全性的理论教学要点:P类与NP类问题,NP完全问题,典型的N
11、P完全问题教学时数:建议5学时教学内容:第一节 计算模型 (1.5学时)理解三个重要的计算模型,即:随机存取和RAM,随机存取存储程序机RASP,图灵机第二节 P类与NP类问题 (1学时)理解“易”解和“难”解问题的概念掌握非确定图灵机(DNTM)模型及其时间复杂度理解P类与NP类语言理解多项式时间验证的概念理解COOK定理的内涵及其重要性第三节 典型的NP完全问题 (1学时)理解一些典型的NP完全问题了解典型的NP完全问题的证明考核要求:领会三个重点的计算模型领会P类与NP类问题,NP完全问题的概念设计RAM和RASP程序识记一些典型的NP完全问题第九章 近似算法教学要点: NP完全问题有数
12、近似算法的设计与分析方法教学时数: 建议2学时教学内容:第一节 近似算法 (1学时)理解近似算法的思想的应用范围理解近似算法的性能第二节 近似算法设计 (1学时)掌握近似算法的设计与分析方法了解近似算法求解的一些典型问题考核要求:领会近似算法的设计与分析方法(二) 实验部分1基本要求(1)熟练操作有关C+/JAVA编程环境(2)运用理论部分介绍的各类算法设计思想在相关环境下设计,编写,调试和运行求解实际问题的程序2项目总表序号 实验项目名称学时项目类别项目类型 1熟悉C+或JAVA编程的环境 2 基础 必做 2 排列问题 2 设计 必做 3 棋盘覆盖问题 2 设计 必做 4用栈模拟递归,消去算
13、法Quick sort中的递归 2 综合 必做 5 Sarassen矩阵乘法 2 设计 选做 6矩阵连乘问题 (动态和备忘录) 2 设计 必做 7 图象压缩 2 设计 必做 8找硬币(递归算法,动态规划算法,贪心算法) 4 综合 必做 9 活动安排问题 2 设计 必做 10 哈夫曼编码 2 设计 必做 11 多机调度问题 2 设计 选做序号 实验项目名称学时项目类别项目类型 12 多会场多活动安排问题 2 综合 选做 13 装载问题 2 设计 必做 14 批处理作业调度问题 2 设计 选做 15 图的M着色问题 2 设计 必做 16 运动员最佳配对问题 2 设计 选做 17 布线问题 2 设计 必做 18 装载问题 2 设计 必做 19 最大团问题 2 设计 选做 20 用随机投点法计算值 2 设计 必做 21 线性时间选择(Sherwood算法) 2 设计 必做 22 n后问题(Las Vegas算法) 2 设计 必做 23 矩阵互逆问题(Monte Carlo算法) 2 设计 必做 注:必做项目数17个,选做项目数6个。3实验内容及其基本要求见实验教学大纲4考核要求 熟练应用C+或JAVA编程环境综合分析各类应用问题并设计相应算法编写、调试、运行程序,以求解相应问题各实验项目实验报告三、参考书目1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一周工作计划表模板(共4篇)
- 社会调查报告模板6篇
- 员工培训记录表员工
- 湖北汽车工业学院科技学院《高电压技术》2023-2024学年第一学期期末试卷
- 课件论坛教学课件
- 重介洗煤系统的密度控制
- 湖北汽车工业学院《液压与气压传动A》2021-2022学年第一学期期末试卷
- 高中蜀相课件
- 《央企负面舆情分析》课件
- 小班安全的活动场所
- 中国世界遗产欣赏智慧树知到期末考试答案章节答案2024年浙江农林大学
- MOOC 实验室安全学-武汉理工大学 中国大学慕课答案
- 学校危险化学品安全教育
- 屋顶绿化养护管理规范
- 2024年中储粮质检中心有限公司招聘笔试参考题库附带答案详解
- 私募基金纠纷案件裁判指引
- 阴道流血症状护理
- 园林植物器官的识别-园林植物生殖器官的识别
- 炼钢厂安全生产教育培训课件
- 拼音四线三格A4打印版
- 机械专业职业生涯发展报告
评论
0/150
提交评论