课程名称 数 据 结 构
{3=]cLtt 英文名称 Data Structures
#+Cu&l 课程编号 不填 总学时 60 学 分 不填
C)`y<O 预修课程 C语言 开课学期 不填
BDT1qiC 大纲撰写人 黄刘生
keWqL] 一、教学目标和基本要求
*J] }bX 目的:使学生较全面地掌握各种常用的数据结构,提高其数据抽象和程序设计能力,为学习后续软件课程提供坚实的基础。
c2<JS:!*
基本要求:使学生能够从逻辑结构、存储结构和数据的运算三个方面去掌握各种数据结构的特性, 对算法的时、空复杂性有一定的分析能力,使之能够针对具体的应用问题, 选择合适的数据结构及设计结构清晰、正确有效的算法解决之。
ey>V^Fj 二、课程简介
0SLS;s.GX 数据结构是计算机学科一门重要的专业基础课,该课程系统地讨论各种常用的数据结构及其应用,以及查找和排序的各种方法及其综合分析比较,培养学生数据抽象和程序设计的能力,算法时、空复杂性的分析能力。
0 lsX~d'W 三、教学重点、难点
F%pYnHr< 1. 概论:重点是了解数据结构的逻辑结构、存储结构及数据的运算三方面的概念及其相互关系,难点是抽象数据类型和算法复杂度的分析方法。
ohe0}~)V 2. 线性表:重点是熟练掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是能够使用所学到的基本知识设计有效算法解决与线性表相关的应用问题。
7 xm>+( 3. 栈和队列:重点是掌握栈和队列在两种存储结构上实现的基本运算,难点是循环队列中对边界条件的处理。
ACcxQK} 4. 串:重点是掌握串上实现的模式匹配算法,这也是本章的难点。
?4,e?S6,[ 5. 树:重点掌握二叉树的遍历算法及其有关应用,难点是使用本章所学到的有关知识设计出有效算法解决与树或二叉树相关的应用问题。
UFy"
hJchO 6. 图:重点掌握图在邻接矩阵与邻近表上实现的遍历算法。难点是求图的最小生成树、最短路径、拓扑排序等应用算法及其时间性能分析。
&(Ot(. 7. 动态存储管理: 重点是内存空间的分配与回收算法,以及可利用空间表的结构。本章难点是无用单元收集算法的理解与掌握。
1FiFP5 8. 查找:重点掌握顺序查找、二分查找、二叉查找树上查找以及散列表上查找的基本思想和算法实现。本章难点是二叉查找树的删除算法及B-树上的插入和删除算法。
VUaYK 9. 文件:本章重点是介绍存储在外存上的数据絇OST
http://www.freekaobo.com/post.php? HTTP/1.0
ki[Yu+';} Pro和更新操作。
hWujio/h qZ6Mk9@M Eh&et0&=g 四、教材名称及主要参考书
],HF)21 《数据结构C语言版》严蔚敏、吴伟民,清华大学出版社,2000。
3;6Criq} 《数据结构第2版》黄刘生、唐策善,中国科技大学出版社,2001。
s*k[Fbi "Data Structures with C++" Williaw Ford et al., Prentice Hall Inc., 1996.
rmOcA "Data Structures & Program Design in C, 2nd Ed." Robert Kruse et al., Prentice Hall Inc., 1997.
<