admin 管理员组

文章数量: 1184232


2024年4月16日发(作者:文件转换格式怎么转换)

《数据结构》教学大纲

一、课程基本信息.课程中文名称:数据结构

1

.课程英文名称:

Data Structures3,课程类别:必修

4

.适用专业:信息工程.总学时:

72

学时(其中理论

54

学时,上机

18

学时)

5

.总学分:

4

二、本课程在教学计划中的地位、作用和任务

本课程是计算机专业的专业基础课,是该专业的主干课之一,是研究数据之间的关系以及对 数

据如何进行有效处理的学科。课程的任务是介绍一些最常用的数据结构,说明数据结构内 在的

逻辑关系,讨论它们在计算机中的存储表示,并结合各种典型应用说明它们在进行各种 运算(操

作)时的动态性质及实际的执行算法。

三、理论教学内容与教学基本要求

.

第一章绪论

(3

学时)

教学内容:什么是数据结构;数据结构的基本概念和常用的术语;数据结构开展的历史以及 数

据结构在计算机科学中地位;算法描述和算法分析。

教学基本要求:了解数据结构的开展和地位;了解各种算法描述方法和算法设计的基本要求; 理

解数据结构、逻辑结构、存储结构和抽象数据类型的基本概念;掌握对算法的评价标准 和算法

效率的度量方法。

教学重点:理解数据结构、逻辑结构、存储结构和抽象数据类型的基本概念;掌握对算法的 评

价标准和算法效率的度量方法。

教学难点:算法的评价标准和算法效率的度量方法。

1 .

第二章线性表

(9

学时)教学内容:线性表的逻辑结构;线性表的顺序存储结构;线性表的链

式存储结构;线性表应 用举例。

教学基本要求:理解线性表的概念、逻辑结构特性以及两种存储结构特性,针对实际应用能 从

时间和空间复杂度的角度选用适当的存储结构;熟练掌握线性表的顺序存储结构及其各种 基本

运算;熟练掌握线性表的链式存储结构(单链表、循环链表、双向链表)及其各种基本 运算,

能在实际应用中选用适当的链表结构。

教学重点:线性表的概念、逻辑结构特性以及两种存储结构特性,线性表的顺序存储结构及 其

各种基本运算;线性表的链式存储结构(单链表、循环链表、双向链表)及其各种基本运 算。

教学难点:线性表的各种基本运算。

2 .

第三章字符串

(3

学时)教学内容:串类型的定义;串的表示和实现;串操作的应用举例;

教学基本要求:了解串的应用;掌握串的基本概念、顺序和链式存储结构;掌握串的各种基

本运算;熟练掌握顺序存储结构上串的各种操作。

教学重点:串的基本概念、顺序和链式存储结构及各种基本运算;教学难点:串的各种基本运

算。

3 .

第四章栈和队列

(6

学时)教学内容:栈;栈的应用;栈与递归过程;队列;

教学基本要求:掌握栈和队列的定义、表示、实现和应用;掌握栈的顺序存储结构和链式存 储

结构以及相应操作的实现;了解递归的概念和递归过程的实现;掌握队列的顺序存储结构 (循

环队列)和链式存储结构的实现。

教学重点:栈和队列的定义、表示、实现和应用;栈的顺序存储结构和链式存储结构以及相 应

操作的实现;队列的顺序存储结构(循环队列)和链式存储结构的实现。

教学难点:栈和队列的顺序存储结构和链式存储结构以及相应操作的实现。

4 .

第五章树和二叉树

(9

学时)教学内容:树的定义;二叉树;遍历二叉树和线索二叉树;树和

森林;哈夫曼树及其应用。 教学基本要求:熟练掌握二叉树的定义、性质、各种存储结构的特

点及适用范围;熟练掌握 二叉树的各种遍历算法;理解线索二叉树的概念、存储结构及线索化

算法;掌握树和森林 与二叉树间的转换,掌握树和森林的遍历算法;掌握哈夫曼树的概念、存

储结构;掌握建 立哈夫曼树和哈夫曼编码的方法及带权路径长度的计算;理解树的基本概念及

其存储结构。 教学重点:二叉树的定义、性质、各种存储结构的特点及适用范围;二叉树的各

种遍历算法; 树和森林与二叉树间的转换。

教学难点:二叉树的各种遍历算法,线索二叉树线索化算法。

5 .

第六章集合与字典

(9

学时)教学内容:静态查找表;动态查找表;哈希表;

教学基本要求:理解查找及其算法的时间复杂度;理解静态查找表的概念;理解二叉平衡 树,

B

树的概念;理解哈希表的含义;掌握二叉排序树查找算法;掌握哈希函数的构造方 法,哈希

表的建立和查找以及处理冲突的基本方法;熟练掌握顺序查找、折半查找和分块查 找算法,能

对其性能进行分析。

教学重点:顺序查找、折半查找和分块查找算法,哈希函数的构造方法,哈希表的建立和查 找

以及处理冲突的基本方法。

教学难点:哈希函数的构造方法,哈希表的建立和查找以及处理冲突的基本方法,各种查找 算

法的性能进行分析。

6 .

第八章内部排序

(6

学时)教学内容:基本概念;插入排序;快速排序;选择排序;归并排序;

基数排序;各种内部排 序方法的比拟讨论。

教学基本要求:了解内部排序的概念;了解归并排序、基数排序的算法;掌握插入类排序的 算

法,直接插入排序、希尔排序;掌握交换类排序的算法,冒泡排序、快速排序;掌握选 择类排

序的算法,简单项选择择排序、堆排序;掌握各种排序方法的特点,能够对各种排序算法 进行

评价,并能加以灵活应用。

教学重点:插入类排序的算法,直接插入排序、希尔排序;掌握交换类排序的算法,冒泡 排序、

快速排序,掌握选择类排序的算法,简单项选择择排序、堆排序。

教学难点:各种排序方法的特点,能够对各种排序算法进行评价,并能加以灵活应用。

7 .

第九章图

(9

学时)教学内容:图的定义和术语;图的存储结构;图的遍历;图的连通性问题;

有向无环图及其 应用;最短路径。

教学基本要求:理解图的基本概念,掌握图的邻接矩阵和邻接表的存储结构;理解带权最短 路

径的概念,掌握用

Dijkstra

方法求最短路径的算法;掌握构造最小生成树的方法及其算 法;掌

握求拓扑排序和关键路径的方法,理解其算法;熟练掌握图的深度优先和广度优先 遍历算法。

教学重点:图的基本概念,掌握图的邻接矩阵和邻接表的存储结构,图的深度优先和广度优 先

遍历算法,用

Dijkstra

方法求最短路径的算法;构造最小生成树的方法及其算法;求拓 扑排序

和关键路径的方法。

教学难点:用

Dijkstra

方法求最短路径的算法;构造最小生成树的方法及其算法;求拓扑 排序

和关键路径的方法。

四、实验教学内容与要求

根据实验大纲和要求进行。详见实验大纲。

五、考核方式

考试六、成绩评定

期末考试考试占

70%,

平时成绩和实验成绩占

30%

七、本课程对学生创新能力培养的措施

选择一些算法作为作业让学生独立去实现,采用激励与催促手段,随后加以检查和评讲。

八、教材与参考书教 材:张乃孝.算法与数据结构.北京:高等教育出版社,

2006

参考书:

[1]

严蔚敏,吴伟民.数据结构(第二版).北京:清华大学出版社,

1992

[2]

张乃孝.数据结构

与算法学习辅导及习题详解.北京:电子工业出版社,

2004

九、其它必要的说明

.

本课程的教学重点应强调对基本概念的理解、对实用设计方法的掌握和与

实际工程的密 切结合。

1

.

在本课程的教学过程中应明确与先修课程、后续课程之间的关系,提高学生对程序设计 的

整体认识。

2

.

在本课程的教学过程中应加强对学生的素质教育,培养学生独立发现问题、分析问题和 解

决问题的能力,培养学生的自学能力。

3

.

本课程课内外学时的比例为

1 : 1〜1 1.5


本文标签: 算法 结构 排序 方法