| “数据结构”是计算机学科的专业核心基础课程,是一门集理论性和实践性于一体的课程。 “数据结构”的教学目的是:首先,让学生理解什么是“数据结构+算法一程序”,即让学生懂得设计程序求解问题时,不仅仅要实现一个有效、合理的算法,还要求设计出与之结合的恰当的数据结构;其次,培养学生的抽象能力,即如何为应用中所涉及的数据选择适当的逻辑结构、存储结构及相应算法;最后,培养学生的实践编程能力,使之编写的程序符合软件工程规范。总之,通过本门课程的学习,为学生学习后续课程和将来进行软件开发等打下坚实的基础。 本教材具有以下特点: ·每章开头的“知识点”和“学习要求”对本章的学习起到了“提纲挈领”的作用。 ·全书对于理论知识点的讲解,循序渐进,思路清晰;针对每一个知识点,都配有相应的实例说明。 ·所有算法(数据操作)都用C语言函数实现,几乎不用做任何修改就可被其他函数调用。为方便初学者实践验证“数据结构”的算法,前面几章还给出了算法实现的完整C源程序。 ·基本上每章都配有实验及实验指导和习题,以检验每章的学习效果。 在计算机科学与技术领域,数据结构作为一门学科,主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。所以,“数据结构”教材主要包括三个方面的内容:数据的逻辑结构、数据的物理结构、对数据的操作(也称为算法,其设计取决于数据的逻辑结构,而实现取决于数据的物理存储结构)。 |
| 前言 第1章 概论 1.1 什么是数据结构 1.1.1 基本概念和术语 1.1.2 数据的存储结构 1.1.3 数据结构与数据类型 1.2 为什么要学习数据结构 1.2.1 数据结构的重要性 1.2.2 数据结构的一个应用例子 1.3 算法和算法分析 1.3.1 算法的特点 1.3.2 算法的度量 本章小结 习题 第2章 线性表 2.1 线性表的定义及基本操作 2.1.1 线性表的定义 2.1.2 线性表的基本操作 2.2 线性表的顺序存储 2.2.1 顺序表的定义 2.2.2 顺序表的基本操作 2.3 线性表的链式存储 2.3.1 单链表 2.3.2 双向链表 2.3.3 循环链表 2.3.4 静态链表 2.4 线性表的存储方式小结 2.5 线性表的应用 2.5.1 顺序表的应用 2.5.2 链表的应用 本章小结 实验 习题 第3章 栈和队列 3.1 栈 3.1.1 栈的定义 3.1.2 栈的基本操作 3.1.3 栈的顺序存储 3.1.4 栈的链式存储 3.2 队列 3.2.1 队列的定义 3.2.2 队列的基本操作 3.2.3 队列的顺序存储 3.2.4 队列的链式存储 3.3 栈和队列的应用 3.3.1 栈的应用 3.3.2 队列的应用 本章小结 实验 习题 第4章 串 4.1 串的基本概念及基本运算 4.1.1 串的基本概念 4.1.2 串的基本操作 4.2 串的存储结构 4.2.1 串的顺序存储结构 4.2.2 串的链式存储结构 4.3 串的模式匹配运算 4.3.1 基本的模式匹配算法 4.3.2 模式匹配的改进算法——KMP算法 本章小结 实验 习题 第5章 数组和广义表 5.1 数组的存储结构与寻址 5.1.1 一维数组的存储结构 5.1.2 二维数组的 |
商品评论(0条)