内容简介
“数据结构”是计算机学科的专业核心基础课程,是一门集理论性和实践性于一体的课程。
“数据结构”的教学目的是:首先,让学生理解什么是“数据结构+算法一程序”,即让学生懂得设计程序求解问题时,不仅仅要实现一个有效、合理的算法,还要求设计出与之结合的恰当的数据结构;其次,培养学生的抽象能力,即如何为应用中所涉及的数据选择适当的逻辑结构、存储结构及相应算法;最后,培养学生的实践编程能力,使之编写的程序符合软件工程规范。总之,通过本门课程的学习,为学生学习后续课程和将来进行软件开发等打下坚实的基础。
本教材具有以下特点:
·每章开头的“知识点”和“学习要求”对本章的学习起到了“提纲挈领”的作用。
·全书对于理论知识点的讲解,循序渐进,思路清晰;针对每一个知识点,都配有相应的实例说明。
·所有算法(数据操作)都用C语言函数实现,几乎不用做任何修改就可被其他函数调用。为方便初学者实践验证“数据结构”的算法,前面几章还给出了算法实现的完整C源程序。
·基本上每章都配有实验及实验指导和习题,以检验每章的学习效果。
在计算机科学与技术领域,数据结构作为一门学科,主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。所以,“数据结构”教材主要包括三个方面的内容:数据的逻辑结构、数据的物理结构、对数据的操作(也称为算法,其设计取决于数据的逻辑结构,而实现取决于数据的物理存储结构)。
本书共分9章:第1章概述了数据结构的一些基本概念和术语,以及算法和算法分析的概念;第2章介绍线性表的逻辑结构和存储结构及运算实现;第3章介绍特殊线性表实例——栈和队列的定义及其存储结构,以及应用实例;第4章介绍串的基本概念及基本操作应用;第5章介绍数组和广义表的定义及存储结构;第6章主要介绍树和二叉树的定义及基本术语,详细讨论了二叉树的遍历运算及其应用;第7章介绍图的基本概念和图的几种存储结构,特别介绍了图的遍历、生成树、拓扑排序、关键路径、最短路径等内容;第8章介绍了查找,包括静态查找表、动态查找表和哈希表;第9章主要讨论了各种内部排序算法及其性能分析。