《数据结构简明教程(C语言版)》是2003年5月1日由东南大学出版社出版的教材。全书共分理论教学(第1-10章)和实践训练(第11章)两大部分。本教材可作为高等院校非计算机本科和计算机专科的教学用书,也可用作其他计算机套用技术人员和专业人员的参考用书
基本介绍
- 书名:数据结构简明教程(C语言版)
- ISBN:7810890921
- 页数:189页
- 出版社:东南大学出版社
- 出版时间:2003年5月1日
- 装帧:平装
- 开本:16
内容简介
本教材内容取材适中、重点突出、文字流畅、深入浅出。其中,第1章阐述了数据结构的一些基本概念;第2-5章主要讨论了线性表、栈和伫列、数组和广义表等;第6-7章讨论了树和图两种非线性结构及其套用;第8-9章分别介绍了几种查找和排序方法;第10章介绍了档案的基本概念和组织方法。第11章包括实验和课程设计两项实践内容,旨在使学生进一步巩固和加深对本课程基本概念和基本知识的理解和掌握。。
图书目录
第1章 绪论
1.1 数据结构概述
1.1.1 数据结构基本概念
1.1.2 数据结构的分类
1.1.3 数据结构在计算机学科中的地位
1.2 算法
1.2.1 算法的概念和特性
1.2.2 算法的描述
1.2.3 算法分析
1.3 抽象数据类型
1.4 小结
习题1
第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.4 循环线性鍊表及其操作
2.5 双向鍊表及其操作
2.5.1 双向鍊表
2.5.2 双向鍊表的基本操作
2.6 小结
习题2
第3章 栈和伫列
3.1 栈
3.1.1 栈的概念
3.1.2 栈的存储结构
3.1.3 栈的套用
3.2 伫列
3.2.1 伫列的概念
3.2.2 伫列的存储结构
3.2.3 伫列的套用
3.3 小结
习题3
第4章 精组和广义表
第5章 串
第6章 树
第7章 图
第8章 查找
第9章 排序
第10章 档案
第11章 课程实践
参考文献
数据结构
数组 (Array)
在程式设计中,为了处理方便, 把具有相同类型的若干变数按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字元数组、指针数组、结构数组等各种类别。
栈 (Stack)
是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
伫列 (Queue)
一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。伫列中没有元素时,称为空伫列。
鍊表 (Linked List)
是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过鍊表中的指针连结次序实现的。鍊表由一系列结点(鍊表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
树 (Tree)
是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关係N,N满足 以下条件: (1)有且仅有一个结点 k0,他对于关係N来说没有前驱,称K0为树的根结点。简称为根(root)。 (2)除K0外,k中的每个结点,对于关係N来说有且仅有一个前驱。 (3)K中各结点,对关係N来说可以有m个后继(m>=0)。
图 (Graph)
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关係。
堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关係f为散列函式(Hash function),按这个思想建立的表为散列表。