《算法分析与设计》课程教学大纲

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《 算法分析与设计 》 课程教学大纲

课程编号: 18A83

制定单位: 软件与通信工程学院

制 定 人(执笔人): 尹爱华

审 核 人:

制定(或修订)时间:2016年09月

江西财经大学教务处

一、课程总述

本课程大纲以2014年软件工程本科专业人才培养方案为依据编制。课程名称算法分析与设计

英文名称Algorithm Analysis And

Design

课程代码48303

课程性质专业选修先修课程C语言、数据结构、离散数学

总学时数48 周学时数 3

开课院系件与通信工程学院任课教师尹爱华、涂保东、李刚

编写人尹爱华编写时间2016-09

课程负责人大纲主审人

使用教材

《算法设计技巧与分析》 M.H.Alsuwaiyel著,吴伟昶方世昌等译电子

工业出版社 2014年6月第5次印刷

教学参考资料《算法导论》(第三版)Thomas H.Cormen Charles E.Leiserson Ronald L.Rivest Clifford Stein 著,殷建平,徐云,王刚等译机械工业出版社 2012年2月第4次印刷

课程教学目的

本课程面向本科二、三年级学生,讲授算法分析方法、算法设计一般原则并针对不同问题熟练实现典型算法,通过对典型问题的建模、简单实例的求解等练习,引导学生初步掌握基础的算法分析、描述、实现与设计等技能。目标是为学生进行专业课程学习打下坚实的理论和方法基础,培养学生具备基本的问题分析与建模、算法分析与设计能力。本课程是其他多门软件系统开发实践后续课程的前导课程,它与C/C++程序设计、数据结构、离散数学、编译原理、操作系统和软件工程等课程形成一个相对完整的课程体系。

课程教学要求

了解典型算法的发展简史、算法分析基本方法和算法设计基本原则,理解算法、算法分析、算法描述与算法设计等基本概念;初步掌握问题分析与建模、算法复杂度分析、算法正确性分析和算法设计等技能;结合先前掌握的程序设计语言基础,初步掌握算法调试与检测的方法和技术;熟练掌握算法描述方法。

本课程的重点和难点重点:

(1)算法正确性分析;(2)算法复杂度分析;(3)算法实现;(4)算法调试与检测;(5)算法设计。

难点:

(1)算法正确性分析;(2)算法设计;

课程考试书面考试与上机考试结合

平时成绩:30%,实验(兼顾考勤及课堂表现);中期测试:30%;

期末大作业:40%,设计性实验。

二、教学时数分配

教学时数分配

章目教学内容

课堂讲授实验(上机)

1 算法分析基本概念

2 0

2 归纳法(Induction) 2 4

3 分治法( Divide and Conquer ) 2 4

4 动态规划( Dynamic Programming ) 2 4

5 检查(中期测试)0 2

6 贪心法( Greedy Algorithm ) 2 4

7 图的遍历(Graph traversal) 2 4

8 回溯法( Back Tracking ) 2 4

9 问题的复杂性与实例 4 4

合计18 30

三、单元教学目的、教学重难点和内容设置第1章算法分析基本概念

【教学目的】

了解算法分析基本方法与内容

理解算法时间复杂度的计算方法

掌握算法描述的方法

【重点难点】

算法时间复杂度的计算方法

【教学内容】

第一节时间复杂性、空间复杂性

第二节输入大小和问题实例

第三节递推关系

第四节表、图、树、堆等基础数据结构

第2章归纳法

【教学目的】

了解归纳法在算法设计中的作用

理解算法设计的关键点

掌握三种常见的高效算法

熟练掌握三种算法的编程实现

【重点难点】

算法复杂度分析方法

【教学内容】

第一节基数排序

第二节整数幂计算

第三节寻找多数元素

第四节堆排序

第3章分治法

【教学目的】

了解分治思想在算法设计中的作用

理解分治范式的复杂度分析

掌握四种常见算法

熟练掌握编程实现四种算法

【重点难点】

分治范式及其在算法设计中的运用【教学内容】

第一节归并排序

第二节快速排序

第三节寻找第 k 小元素

第四节平面上最近点对问题

第4章动态规划

【教学目的】

了解动态规划思想在算法设计中的作用

理解动态规划范式分析

掌握三种常见算法的设计方法

熟练掌握实现三种常见算法

【重点难点】

动态规划范式在算法设计中的运用

【教学内容】

第一节最长公共子序列问题

第二节动态规划范式

第三节图中所有点对的最短路径问题

第四节0-1背包问题

第5章贪心法

【教学目的】

了解贪心算法基本设计思想

理解贪心算法分析方法

掌握三种常见算法的设计方法

熟练掌握实现三种常见算法

【重点难点】

贪心算法在算法设计中的运用

【教学内容】

第一节单源点最短路径问题

第二节最小耗费生成树(Kruskal算法)第三节最小耗费生成树(Prim算法)

第四节文件压缩(选讲)

第6章图的遍历(选讲)

相关文档
最新文档