课程

代码

B204205
B204226

课程名称

数据结构

Data Structure

1、学分:●2.5 3.5   学时:●48 60 (理论学时:●38 46  实验学时:●10 14

2、课程性质:学科专业基础课

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

4、适用对象:本科

5、先修课程:计算机语言(C)

6、教材与参考书目:

《数据结构(C语言版)》,严蔚敏 吴伟民,清华大学出版社,1997

《数据结构(用面向对象方法与数据结构描述) 》,殷人昆,清华大学出版社,1998

数据结构数据结构与程序设计 (美)Robert L.Kruse/Alexander J.Ryba/钱丽萍译》,

清华大学出版社,2004

《算机算法设计与分析(第2版)》,王晓东, 电子工业出版社, 2004

7、考核方式:考试、闭卷                              平时成绩30%、期终考试70

8、教学环境:课堂、多媒体,实验室

“数据结构”是计算机程序设计的重要理论基础。也是计算机专业教学中的核心专业基础课程。它所讨论的知识内容和提倡的技术方法,对进一步学习计算机领域的其他课程、从事软件工程的开发,都有着不可替代的作用。是从事计算机科学研究及应用的科技人员必须具备的重要基础知识。

1 结论 2学时)

1.1什么是数据结构 (理解)

1.2基本概念和术语 (掌握)

1.3抽象数据类型的表示与实现 (了解)

1.4算法和算法分析

1.4.1算法 (掌握)

1.4.2算法设计的要求 (掌握)

1.4.3算法效率的度量  ●(了解) ▲(掌握)

1.4.4算法的存储空间需求 ●(了解) ▲(掌握)

 

2 线性表  ●(4+2学时)▲(6+2学时)

2.l线性表的类型定义 (掌握)

2.2线性表的顺序表示和实现 (掌握)

2.3线性表的链式表示和实现

2.3.1线性链表(掌握)

2.3.2循环链表(掌握)

2.3.3双向链表 ●(理解) ▲(掌握)

2.4一元多项式的表示及相加(了解)

 

3 栈和队列 4+2学时)

3.1 (掌握)

3.1.l抽象数据类型栈的定义 

3.1.2栈的表示和实现 

3.2栈的应用举例(了解)

3.2.1数制转换

3.2.2括号匹配的检验

3.2.3行编辑程序

3.2.4迷宫求解

3.2.5表达式求值

3.3栈与递归的实现 (了解)

3.4队列

3.4.1抽象数据类型队列的定义 (掌握)

3.4.2链队列--队列的链式表示和实现 (掌握)

3.4.3循环队列--队列的顺序表示和实现 (掌握)

3.5离散事件模拟 (了解)

 

4 2+2学时)

4.1串类型的定义 (掌握)

4.2串的表示和实现

4.2.1定长顺序存储表示 (掌握)

4.2.2堆分配存储表示 (了解)

4.2.3串的块链存储表示 (了解)

4.3串的模式匹配算法 (理解)

4.3.l求子串位置的定位函数IndexS,T,pos

4.3.2模式匹配的一种改进算法

4.4串操作应用举例 (了解)

4.4.1文本编辑

4.4.2建立词索引表

 

5 数组和广义表(2学时)

5.1数组的定义 (掌握)

5.2数组的顺序表示和实现 (掌握)

5.3矩阵的压缩存储 (理解)

5.3.l特殊矩阵 (理解)

5.3.2稀疏矩阵 (理解)

5.4广义表的定义 (掌握)

5.5广义表的存储结构 (理解)

5.6 m元多项式的表示(了解)

5.7广义表的递归算法 (了解)

5.7.1求广义表的深度 

5.7.2复制广义表 

5.7.3建立广义表的存储结构

 

6 树和二叉树  ●(6+2学时)▲(10+2学时)

6.1树的定义和基本术语 (掌握)

6.2二叉树 (掌握)

6.2.1二叉树的定义

6.2.2二叉树的性质

6.2.3二叉树的存储结构

6.3遍历二叉树和线索二叉树

6.3.1遍历二叉树 (掌握)

6.3.2线索二叉树 (理解)

6.4树和森林 (理解)

6.4.1树的存储结构

6.4.2森林与二叉树的转换

6.4.3树和森林的遍历

6.5树与等价问题 ●(了解) ▲(理解)

6.6赫夫曼树及其应用 (掌握)

6.6.1最优二叉树(赫夫曼树)

6.6.2赫夫曼编码

6.7回溯法与树的遍历 ●(了解) ▲(理解)

6.8树的计数 (了解)

 

7 ●(8学时) ▲(6+2学时)

7.1图的定义和术语 (掌握)

7.2图的存储结构 (掌握)

7.2.1数组表示法 (掌握)

7.2.2邻接表 (掌握)

7.2.3十字链表  (理解)

7.2.4邻接多重表 (理解)

7.3图的遍历

7.3.l深度优先搜索 (掌握)

7.3.2广度优先搜索 (掌握)

7.4图的连通性问题

7.4.1无向图的连通分量和生成树●(了解) ▲(理解)

7.4.2有向图的强连通分量 ●(了解) ▲(理解)

7.4.3最小生成树 (掌握)

7.4.4关节点和重连通分量 (了解)

7.5有向无环图及其应用 (了解)

7.5.1拓扑排序

7.5.2关键路径

7.6最短路径 ●(了解) ▲(掌握)

7.6.1从某个源点到其余各项点的最短路径

7.6.2每一对顶点之间的最短路径

 

8 查找 ●(6学时) ▲(6+2学时)

8.1静态查找表 (掌握)

8.1.l顺序表的查找 (掌握)

8.1.2有序表的查找 (掌握)

8.1.3静态树表的查找 ●(了解) ▲(掌握)

8.1.4索引顺序表的查找 ●(了解) ▲(掌握)

8.2动态查找表 (了解)

8.2.1二叉排序树和平衡二叉树

8.2.2 B- 树和B+

8.2.3键树

8.3哈希表 (理解)

8.3.1什么是哈希表

8.3.2哈希函数的构造方法

8.3.3处理冲突的方法

8.3.4哈希表的查找及其分析

 

9 内部排序 ●(6学时) ▲(8+2学时)

9.1概述 (掌握)

9.2插入排序

9.2.1直接插入排序 (掌握)

9.2.2其他插入排序 ●(了解) (理解)

9.2.3希尔排序 ●(了解) (理解)

9.3快速排序 (掌握)

9.4选择排序

9.4.1简单选择排序 (掌握)

9.4.2树形选择排序 ●(了解) (理解)

9.4.3堆排序 ●(了解) (理解)

9.5归并排序 ●(了解) (理解)

9.6基数排序 (了解)

9.6.1多关键字的排序

9.6.2链式基数排序

9.7各种内部排序方法的比较讨论(掌握)

课内

实验

序号        实验名称       实验学时   每组人数   实验性质   开出要求

实验一  线性表                  2                   1              验证        必做

实验二  栈和队列              2                   1              验证        必做

实验三  串的匹配              2                   1              验证        ▲必做

实验四  二叉树的遍历       2                   1              验证        必做

实验五  图的深/广度遍历  2                   1              验证        ▲必做

实验六  查找                     2                   1              验证        必做

实验七  排序                     2                   1              验证        必做

备注

●表示 48学时; ▲表示 60学时