课程名称 数 据 结 构
?
m=
N]!n 英文名称 Data Structures
UcDS9f_87 课程编号 不填 总学时 60 学 分 不填
z^q0/' 预修课程 C语言 开课学期 不填
)uIe&B
大纲撰写人 黄刘生
Ic:(Gi- % 一、教学目标和基本要求
}DEg-j,F 目的:使学生较全面地掌握各种常用的数据结构,提高其数据抽象和程序设计能力,为学习后续软件课程提供坚实的基础。
bv9]\qC]T< 基本要求:使学生能够从逻辑结构、存储结构和数据的运算三个方面去掌握各种数据结构的特性, 对算法的时、空复杂性有一定的分析能力,使之能够针对具体的应用问题, 选择合适的数据结构及设计结构清晰、正确有效的算法解决之。
_476pZ_ 二、课程简介
)!Z*.? 数据结构是计算机学科一门重要的专业基础课,该课程系统地讨论各种常用的数据结构及其应用,以及查找和排序的各种方法及其综合分析比较,培养学生数据抽象和程序设计的能力,算法时、空复杂性的分析能力。
d(x\^z 三、教学重点、难点
ZW8vz
a 1. 概论:重点是了解数据结构的逻辑结构、存储结构及数据的运算三方面的概念及其相互关系,难点是抽象数据类型和算法复杂度的分析方法。
5 +YH.4R 2. 线性表:重点是熟练掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是能够使用所学到的基本知识设计有效算法解决与线性表相关的应用问题。
n
QtWvT 3. 栈和队列:重点是掌握栈和队列在两种存储结构上实现的基本运算,难点是循环队列中对边界条件的处理。
PbgP\JeX 4. 串:重点是掌握串上实现的模式匹配算法,这也是本章的难点。
m
3hrb- 5. 树:重点掌握二叉树的遍历算法及其有关应用,难点是使用本章所学到的有关知识设计出有效算法解决与树或二叉树相关的应用问题。
3{^9]7UC 6. 图:重点掌握图在邻接矩阵与邻近表上实现的遍历算法。难点是求图的最小生成树、最短路径、拓扑排序等应用算法及其时间性能分析。
eIEeb,#i 7. 动态存储管理: 重点是内存空间的分配与回收算法,以及可利用空间表的结构。本章难点是无用单元收集算法的理解与掌握。
R)(T^V`{ 8. 查找:重点掌握顺序查找、二分查找、二叉查找树上查找以及散列表上查找的基本思想和算法实现。本章难点是二叉查找树的删除算法及B-树上的插入和删除算法。
B=T'5
& 9. 文件:本章重点是介绍存储在外存上的数据絇OST
http://www.freekaobo.com/post.php? HTTP/1.0
4qh?,^Dq Pro和更新操作。
,RI Gc US 8f4b&ah LTCb@L{^i 四、教材名称及主要参考书
vHc%z$-d 《数据结构C语言版》严蔚敏、吴伟民,清华大学出版社,2000。
YQ)kRhFA 《数据结构第2版》黄刘生、唐策善,中国科技大学出版社,2001。
e/&{v8Hmb "Data Structures with C++" Williaw Ford et al., Prentice Hall Inc., 1996.
(ejvF):| "Data Structures & Program Design in C, 2nd Ed." Robert Kruse et al., Prentice Hall Inc., 1997.
syj0.JD 五、课程章节主要内容及学时分配
{n.PF8A5X 9Cp-qA%t 第一章 概 论(3学时)
vjCu4+w($Z 第一节 基本概念和术语
Xp% v.M 第二节 学习数据结构的意义
e@07 第三节 抽象数据类型
I@~QV@U 第四节 算法的描述和分析
J#(LlCs?@c 第二章 线性表(6学时)
RFc v^Xf 第一节 线性表的逻辑结构
|O+H[;TB6 第二节 线性表的顺序存贮结构
.bg~>T+< 第三节 线性表的链式存贮结构
6OIte-c 第四节 顺序表和链表的比较
yu|8_<bq 第三章 栈和队列(6学时)
~P,lz!he_ 第一节 栈
5
` ~JPt 第二节 队列
"|
g>'wM* 第三节 栈与队列的应用实例
@ioJ]$o7 第四章 串(4学时)
Bahm]2 第一节 串及其运算
-20bPiM$A 第二节 串的存贮结构
rf
g'G&A( 第三节 串的模式匹配
M h}m;NI 第六章 树(10学时)
3M7/?TMw{6 第一节 树的概念
i$#;Kpb`^ 第二节 二叉树
Sy_G,+$\ 第三节 二叉树的遍历
v$v-2y'% 第四节 线索二叉树
q`7PhA 第五节 树和森林
mdg8,n 第六节 哈夫曼树及其应用 第七节 树与等价问题、树的计数
hWLA<wdb 第六章 图(10学时)
u4?L 67x 第一节 图的概念
F~W6Bp^W 第二节 图的存贮结构
|aS.a&vwR 第三节 图的遍历
4e7-0}0 第四节 图的连通性问题
@b%=H/5\ 第五节 最短路径
$8h%a
8I 第六节 有向无环图及其应用
rXP,\ ]r+ 第七章 动态存储管理(5学时)
:eCwY 第一节 概述
Of#u 第二节 可利用空间表及分配算法
pah'>dAL 第三节 边界标识法
J*A,o~U| 第四节 伙伴系统
adcE'fA<_ 第五节 无用单元收集
]s'as9s9 第八章 查找(8学时)
Nh|uO?&C6 第一节 基本概念
jB2[( 第二节 静态查找
T?0eVvM 第三节 动态查找
F/
{!tx 第四节 散列查找
t3_O H^ 第九章 文件简介(2学时)
$h"\N$iSq
第一节 文件基本概念
F)QDJE0 第二节 顺序文件与索引文件
cV6D<,) 第三节 ISAM和VSAM文件
JH9J5%sp 第四节 散列文件
vvMT}-! 六、系教学委员会意见
j,eo2HaL 6nvz8f3*r] rM%1GPVob cm+Es6; /([kh~a 组长签字: 年 月 日
%tGO?JMkd 七、系主任意见
6bC3O4Rw ?fSG'\h> *g2x%aZWbG q<1~ vA9 CD~.z7,LC 系主任签字: 年 月 日