算法设计教学大纲课件

发布时间:2018-10-19 12:49:10   来源:文档文库   
字号:

安徽科技学院理学院

课程名称:算法设计

适用专业:计算机科学与技术

(本科)

计算机科学技术专业教研室制

2006.6

《算法设计》理论课教学大纲

课程名称:算法设计(Algrithm Design

课程编号

课程类别:选修课

36 学时(理论36学时)

2学分

考核方式:考试

适用专业:计算机科学与技术本科专业

前修课程:高等数学 离散数学 线形代数 C语言程序设计 数据结构

建设开课学期:第6学期

一、课程性质、目的任务

随着计算机的广泛应用,对计算机算法的研究变得日益重要。《算法设计》是计算机科学与技术专业的一门选修课,本课程将覆盖计算机软件实现中的大部分算法,并具有一定的深度和广度,使学生对计算机常用算法有一个全盘的了解;本课程的任务是:培养学生具有针对给定问题设计和实现高效算法的能力。

二、教学基本要求

通过本课程教学,应使学生:

1熟悉、掌握课堂教学中所学的大部分算法设计思想;

2)具有针对所给的问题设计和实现高效算法的能力。

三、教学内容与学时分配

四、参考教材及图书资料

1.王晓东.计算机算法设计与分析.北京:电子工业出版社

2.卢开澄.计算机算法导引——设计与分析. 北京:清华大学出版社

3.顾立尧.霍义兴.算法设计分析的理论与方法.上海:上海交通大学出版社

4.霍红卫.分布式算法导论. 北京:机械工业出版社

五、教学方法与考核

1.教学方法

为充分发挥学生的积极性、主动性,启发引导、培养学生具有自我开拓和获得知识的能力,在内容的讲授上本着“少而精的原则,突出重点,分解难点,深入浅出,举一反三,着重培养学生分析问题和解决问题能力。并就课程的各部分内容,分别采用细讲法,培养学生的基本功;采用精讲法,培养学生主动获取知识的能力;采用引导启发式,培养学生分析问题、解决问题的能力。另不同程度采取课堂讨论式、自学提问式。

2.课程考核方法

主要有:理论课考查、作业评定。

①平时占20%:理论课考查、作业评定;

②期末考试占80%:综合笔试。

六、大纲正文

第一章 算法基础

[目的要求]

1. 了解算法与程序的概念

2. 掌握算法复杂性分析及其有关的概念

[基本内容]

1. 算法的定义特征,算法与程序;

2. 冒泡排序;

3. 伪代码使用约定;

4. 算法复杂度分析;

5. 算法的运行时间;

[重点难点]

1.重点

算法的定义特征、冒泡排序、算法复杂度分析

2. 难点

算法复杂度分析

[课时安排]

建议:3学时。

第二章 递归与分治策略

[目的要求]

1.理解递归的概念

2.掌握递归方程构建的思想;

3.掌握递归方程的求解方法;

4.了解分治法的基本思想

5.掌握二叉查找算法;

6.掌握用分治法求最大值与最小值的算法;

7.掌握Strassen矩阵算法

8.理解整数相乘算法;

9.掌握合并排序和快速排序算法

10.了解线性时间选择算法

11.了解最近点对问题算法

[基本内容]

1.递归的概念

2.递归方程构建的思想;

3.递归方程的求解方法(递归树与主方法);

4.分治法的基本思想

5.叉查找算法;

6.用分治法求最大值与最小值的算法;

7.Strassen矩阵算法

8.整数相乘算法;

9.合并排序和快速排序算法

10.线性时间选择算法

11.最近点对问题算法

[重点难点]

1.重点:

递归方程的求解方法(递归树与主方法)、叉查找算法、Strassen矩阵算法合并排序和快速排序算法

2. 难点:

递归方程构建、递归方程的求解方法(递归树与主方法)、Strassen矩阵算法合并排序和快速排序算法线性时间选择算法、最近点对问题算法

[课时安排]

建议:10学时。

第三章 动态规划

[目的要求]

1.掌握动态规划算法的概念和步骤;
2.掌握0-1背包问题的算法设计和分析;

3.掌握矩阵链乘算法设计和分析;
4.掌握动态规划算法的基本要素;

5.理解备忘录方法;
6.了解装配线调度问题算法设计和分析;
7.理解最长公共子序列问题算法设计和分析;
8.掌握最优二分检索树算法设计和分析。
9.了解凸多边形最优三角剖分算法;

[基本内容]

1.动态规划算法的概念和步骤;
2.0-1背包问题;

3.矩阵链乘;
4.动态规划算法的基本要素;

5.备忘录方法;
6.装配线调度问题;
7.最长公共子序列问题;
8.最优二分检索树。
9.凸多边形最优三角剖分;

[重点难点]

1.重点:

动态规划算法的概念和步骤0-1背包问题矩阵链乘动态规划算法的基本要素最优二分检索树

2. 难点:

0-1背包问题矩阵链乘

[课时安排]

建议:8学时。

第四章 贪心法

[目的要求]

1.掌握贪心算法的概念思想;

2.掌握贪心算法的基本要素;
3.掌握背包问题的算法设计和分析;

4.理解活动选择问题算法设计和分析;
5.理解哈夫曼编码的算法分析;

6.掌握最小生成树的PrimKruskal算法的设计与分析;

7.了解最小生成树的Boruvka算法的设计与分析;
8.掌握单源最短路径的Dijkstra算法的设计与分析;
9.理解贪心算法的理论基础;

[基本内容]

1.贪心算法的概念思想;

2.贪心算法的基本要素;
3.背包问题的算法设计和分析;

4.活动选择问题算法设计和分析;
5.哈夫曼编码的算法分析;

6.最小生成树的PrimKruskal算法和Boruvka算法;
7.单源最短路径的Dijkstra算法;
8.贪心算法的理论基础;

[重点难点]

1.重点:

贪心算法的概念思想贪心算法的基本要素背包问题最小生成树的PrimKruskal算法单源最短路径的Dijkstra算法贪心算法的理论基础

2. 难点:

贪心算法的思想背包问题单源最短路径的Dijkstra算法贪心算法的理论基础

[课时安排]

建议:7学时。

第五章 回溯法

[目的要求]

1.掌握回溯法的概念思想;

2.掌握子集树排列树搜索树的构造;
3.理解N皇后问题的算法设计和分析;

4.理解子集和数问题算法设计和分析;
5.理解0-1背包问题算法设计和分析;

6.了解着色问题算法的设计与分析;

[基本内容]

1.回溯法的概念思想;

2.子集树排列树搜索树的构造;
3.N皇后问题;

4.子集和数问题;
5.0-1背包问题;

6.着色问题;

[重点难点]

1.重点:

回溯法的思想子集树的构造排列树的构造搜索树的构造N皇后问题子集和数问题背包问题

2. 难点:

回溯法的思想N皇后问题子集和数问题背包问题

[课时安排]

建议:4学时。

第六章 分枝限界法

[目的要求]

1.掌握分枝限界法的概念思想;

2.理解0-1背包问题算法设计和分析;
3.理解作业调度问题的算法设计和分析;

[基本内容]

1.分枝限界法的概念思想(先进先出状态空间树优先队列状态空间树)

2.0-1背包问题算法设计和分析;
3.作业调度问题的算法设计和分析;

[重点难点]

1.重点:

分枝限界法的思想0-1背包问题算法设计和分析

2. 难点:

分枝限界法的思想0-1背包问题算法设计和分析

[课时安排]

建议:4学时。

第七章 NP完全性问题

[目的要求]

1.了解NP完全性问题的概念;

2.了解P类问题和NP类问题;

3.了解NP完全问题;

4.了解一些典型的NP完全问题;

[基本内容]

1.NP完全性问题的概念;

2.P类问题和NP类问题;

3.NP完全问题;

4.一些典型的NP完全问题;

[重点难点]

1.重点:

P类问题和NP类问题NP完全问题

2. 难点:

P类问题和NP类问题NP完全问题

[课时安排]

建议:自学。

课程负责人:

大纲主撰人:刘斌

大纲审核人:

计算机科学技术教研室

20065

本文来源:https://www.2haoxitong.net/k/doc/b34fd771f02d2af90242a8956bec0975f565a460.html

《算法设计教学大纲课件.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式