全部课程 >算法设计与分析(外语)    Design and Analysis of Algorithms

课程基本信息

课程编码:05B30041

课程类别:未设置

先修课程:程序设计基础、面向对象程序设计、离散数学、数据结构

适用专业:计算机类专业

开课院部:外语学院

课程负责人:
课程教学团队:
课程资源:
没有资源记录!

课程展示


课程简介

算法设计与分析是计算机软件开发人员的必修课程,软件的效率和稳定性取决于软件中所采用的算法。通过本课程的学习,使学生理解和掌握算法设计的主要方法,开阔编程思路,培养学生对算法复杂性进行正确分析的基本能力,为独立地设计求解问题的最佳算法和对给定算法进行复杂性分析奠定坚实的基础。

Design and analysis of algorithms is a required course of computer software students, the efficiency of the software depends on the algorithm. Through learning the course, make students understand and master the method of algorithm design, broaden programming concepts, cultivate the students to the basic ability of correct analysis of algorithm complexity.

课程教学要求

序号

专业毕业要求

课程教学要求

关联程度

1

工程知识

从生产规划、网络游戏和问题求解等多个计算机应用领域,归纳出算法领域的问题

H

2

问题分析

应用适当的数学模型,分析问题域及其需求,能够抽象并优化出表达问题的高效或者近似有效模型。

H

3

设计/开发解决方案

根据数学模型,合理运用数据结构,并设计出相关的高效算法,应用到求解较复杂的工程问题中。

H

4

研究

面对现有算法技术无法直接求解或者难以求解时,可以尝试现有算法策略或者借鉴新技术来构建新方法

H

5

使用现代工具

熟练运用流行的RAD编程快速开发工具,合理选用编程语言附带的算法库,提高算法的设计和开发效率。

M

6

工程与社会

对生产实践中抽象出问题的求解,能够使学生直接进入现实软件企业软件研发的编码设计过程。

M

7

环境和可持续发展

 

 

8

职业规范

遵守编码规范和职业道德,具有良好的职业操守。

M

9

个人和团队

具有良好的协作能力,在较大的问题解决中加强团队开发与合作。

M

10

沟通

具有良好的交流能力,应用现代软件开发技术清晰有效地表达分析和求解的过程。

M

11

项目管理

综合应用现代软件工程方法进行基本的代码重用和项目管理。

M

12

终身学习

通过学习算法设计与分析,掌握算法策略设计的基础方法在职业发展中能自主地、持续学习新技术和新工具。

M

课程教学内容

章节

名称

主要内容

重难点关键词

学时

类型

算法概述

1. 用计算机求解问题与算法

2. 算法的常用描述工具

3. 现代常用算法

1. 算法的伪码

2. 算法的描述工具

2

理论讲授

算法分析基础

1. 算法分析体系及计量

2. 可计算与NP完全问题

3. 递归算法的时间性能计算

1. 算法分析的常用指标

2. 递归算法的性能计算

3. NP 完全问题

2

理论讲授

算法的基本工具和优化

1. 递归和循环程序设计方法

2. 数据结构的灵活运用

3. 优化算法的基本技巧

4. 用数学方法优化算法

1. 递归体归纳

2. 算法的数学模型优化

6

理论讲授

基本的算法策略

1. 迭代法

2. 蛮力法

3. 分治法

4. 贪心法

5. 动态规划

1. 枚举法的优化

2. 动态规划状态转移方程的归纳

10

理论讲授

图搜索算法

1. 图搜索的概念

2. 广度优先搜索与分支算法

3. 深度优先搜索

4. 回溯法

5. 分支与限界

1. 回溯法的优化编程

2. 分支限界算法的优化剪枝

12

理论讲授

算法设计实践

1. “循环赛日程表”问题的多种算法策略建模和实现

2. “最大子段和”问题的多种算法策略建模和实现

3. “背包问题”的全面分析与实现

1. 递推法的运用。

2. 0-1背包问题多种算法求解和优化

2

理论讲授

基础算法设计

1. 分别用蛮力法和数学建模法求解线性同余方程组;

2. 趣味矩阵填充;

3. 数字趣题求解;

4. 数字的分拆和输出。

1. 循环体与递归体的归纳

2. 用数学模型优化算法设计

2

上机实验

算法基本策略的应用

1. 用迭代法求解代数方程的根;

2. 用贪心法求解钞票换零;

3. 用动态规划求解资源分配问题;

1. 算法策略的合理运用

2. 动态规划的建模和编程实现

4

上机实验

图搜索算法的应用

1. 用搜索算法完成王后覆盖问题;

2. 用搜索算法分油问题;

3. 用非递归回溯算法完成数独求解;

4. 用分支与限界策略求解分配问题

1. 图搜索;

2. 回溯法;

3. 分支与限界。

6

上机实验(设计性)

考核要求及成绩评定

序号

成绩类别

考核方式

考核要求

权重(%)

备注

1

期末成绩

期末考试

笔试闭卷

100%

百分制,60分及格

2

平时成绩

平时表现

上课上机出勤

 

缺勤3次则无法获得学分

3

作业

6次

 

检查重点内容的掌握情况:基础编码、循环和递归、算法优化、迭代法、贪心法、分治法

4

实验报告

3次

 

检查三个实验项目的完成及相关知识的掌握情况

5

期中考试

笔试闭卷

 

考试题型与期末考试相同

学生学习建议

  • 学习方法建议

本课程在教学实践中需要同时注重算法策略的选择、编码实现和算法优化,学生在学习过程中需要注意下列3个方面的结合:

1.理论与实践相结合。学习过程中可以有意识地选择生活中不是很大型的软件,思考其功能的实现方法,并自行考虑优化解决方案且予以编码实现。

2.实例与项目相结合。结合课堂教学和课本上所示范的典型应用,能够举一反三,完成比较综合的上机实验项目,编程能力偏上学生可以动手独立完成一些简单的单机版小游戏,有较高编程能力的学生可以考虑实现游戏的AI机制。

3.教学与竞赛相结合。可以直接使用部分难度中等偏上的ACM等较大型程序竞赛原题作为课内实战案例或者课外自学材料,以利于开阔视野,提高编程和算法设计能力。

本课程上机实验建议采用不低于Visual C++ 2005版本或者g++,JDK作为实验环境。

 

  • 学生课外阅读参考资料

王晓东. 《计算机算法设计与分析》(第3版).北京:电子工业出版社,2007.

Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein. Introduction to Algorithms (第3版). MIT Press. 2008.

课程改革与建设

在课程建设方面,应注重运用现代教育技术和信息技术加大课程建设力度,切实发挥各类精品资源和平台在教学实践中的作用,引导学生自主学习,提高学生的编程实践能力。在课程改革方面,建议加大考试改革力度,注重日常编程能力的深化训练,加大对该部分训练的考查和对结果的评价运用。

课程文档下载

课程其它文档下载

本站 所有信息归:武汉工程大学教务处 版权所有 鄂ICP064787

技术支持: 北京文华在线教育科技股份有限公司    建议在IE8以上浏览器1024*768分辨率下浏览本站