admin 管理员组

文章数量: 887021


2023年12月23日发(作者:个人主页界面)

算法设计与分析

课程教学大纲一、课程的基本信息

适应对象:计算机科学与技术

课程代码: 24D01314

学时分配:36

赋予学分:2

先修课程:C程序设计、数据结构、离散数学、高等数学、概率论与数理统计

后续课程:数据库原理、软件工程、编译原理

二、课程性质与任务

性质:算法设计与分析是计算科学的核心问题之一,也是计算机科学与技术专业本科一门重要的专业基础课。是计算机学科、计算机软件研发人员的主干必修课。算法的研究是计算机科学的核心问题之一,具有极大的应用价值和理论价值,因为它所涉及的范围十分广泛,不论是从事计算机硬件设计,还是从事计算机软件设计,都需要认真研究算法。并以广泛用于计算机科学中的算法为例,对种类不同难度的算法进行系统的介绍与比较。本课程主要针对计算机系统或应用中具有广泛工程背景的典型非数值计算问题类,介绍抽象问题类的计算机解题模型,阐述算法设计的典型方法,如分治法、贪心法、动态规划、检索与周游、回溯法、分支限界法、基本并行程序设计法等,分析不同算法的时间和空间复杂度。是程序设计课程和数据结构课程的后续和提高课程,是建立数值计算问题计算机解题模型的理论基础和解题的算法设计的方法论。本课程的先导课程为C程序设计、数据结构、离散数学、高等数学、概率论与数理统计。

任务:通过本课程的学习,完成教学大纲所规定的教学目的与教学要求。

三、教学目的与要求

目的:通过本课程的学习,培养学生分析问题和解决问题的能力,使学生掌握算法设计的基本方法,为学生解决应用中的非数值计算问题奠定问题建模、算法设计和分析的理论基础,并掌握经典算法设计技术和算法实现的编程技巧。本课程将培养学生严格的设计与分析算法的思维方式,改变随意拼凑算法的习惯。

要求:通过本课程中许多常见且有代表性算法的学习,使学生理解和掌握算法设计的主

56

要方法,同时掌握算法分析的基本方法和技巧,培养对算法时间、空间复杂性进行正确分析的能力,为独立的设计算法和给定算法进行复杂性分析打下良好的基础。

四、教学内容与安排

第1章 绪论(2学时)

课程简介

算法复杂度的基本概念及时间复杂度的估算方法

第2章 算法基本工具和优化技巧(5学时)

循环与递归

算法与数据结构

优化算法的基本技巧和数学模型

第3章 分治与递归(7学时)

基本策略

检索与分类

选择、消除递归

第4章 贪心法(5学时)

基本策略

背包问题

作业排序

第5章 动态规划(6学时)

基本原理

多段图

最短路径

0/1背包问题

第6章 周游(2学时)

树周游

图检索与周游

第6章 回溯法(5学时)

基本原理

N皇后问题

图着色问题,0/1背包问题

第7章 分枝限界法(4学时)

基本原理

分枝限界算法

五、教学设备和设施

计算机与多媒体教学软件,软件包括C语言或C++

六、课程考核与评估

平时考核与期末考试相结合

,ft, and , Addison-WesleyPublishing Company,1978。

4、《Introduction To Algorithms》(Second Edition),、 son、R.. and ,The MIT

Press,2001。

5、《计算机算法基础》(第二版),余祥宣、崔国华、邹海明,华中理工大学出版社,2003年

七、附录

1、《算法设计与分析》, 王晓东编著, 清华大学出版社,2003年。

2、《Fundamentals of Computer Algorithms》,E. Horowitz

and S. Sahni,Computer Science Press,1978。

3、《The Design and Analysis of Computer Algorithms》,


本文标签: 算法 课程 设计 问题 分析