《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。
本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。
本书概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(C语言版),便于教学,又便于自学。
本书后附有光盘。光盘内容可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。
本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
第1章 绪论
1.1 什么是数据结构
1.2 基本概念和术语
1.3 抽象数据类型的表现与实现
1.4 算法和算法分析
第2章 线性表
2.1 线性表的类型定义
2.2 线性表的顺序表示和实现
2.3 线性表的链式表示和实现
2.4 一元多项式的表示及相加
第3章 栈和队列
3.1 栈
3.2 栈的应有和举例
3.3 栈与递归的实现
3.4 队列
3.5 离散事件模拟
第4章 串
4.1 串类型的定义
4.2 串的表示和实现
4.3 串的模式匹配算法
4.4 串操作应用举例
第5章 数组和广义表
5.1 数组的定义
5.2 数组的顺序表现和实现
5.3 矩阵的压缩存储
5.4 广义表的定义
5.5 广义表的储存结构
5.6 m元多项式的表示
5.7 广义表的递归算法第6章 树和二叉树
6.1 树的定义和基本术语
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.3 遍历二叉树和线索二叉树
6.3.1 遍历二叉树
6.3.2 线索二叉树
6.4 树和森林
6.4.1 树的存储结构
6.4.2 森林与二叉树的转换
6.4.3 树和森林的遍历
6.5 树与等价问题
6.6 赫夫曼树及其应用
6.6.1 最优二叉树(赫夫曼树)
6.6.2 赫夫曼编码
6.7 回溯法与树的遍历
6.8 树的计数
第7章 图
7.1 图的定义和术语
7.2 图的存储结构
7.2.1 数组表示法
7.2.2 邻接表
7.2.3 十字链表
7.2.4 邻接多重表
7.3 图的遍历
7.3.1 深度优先搜索
7.3.2 广度优先搜索
7.4 图的连通性问题
7.4.1 无向图的连通分量和生成树
7.4.2 有向图的强连通分量
7.4.3 最小生成树
7.4.4 关节点和重连通分量
7.5 有向无环图及其应用
7.5.1 拓扑排序
7.5.2 关键路径
7.6 最短路径
7.6.1 从某个源点到其余各顶点的最短路径
7.6.2 每一对顶点之间的最短路径
第8章 动态存储管理
8.1 概述
8.2 可利用空间表及分配方法
8.3 边界标识法
8.3.1 可利用空间表的结构
8.3.2 分配算法
8.3.3 回收算法
8.4 伙伴系统
8.4.1 可利用空间表的结构
8.4.2 分配算法
8.4.3 回收算法
8.5 无用单元收集
8.6 存储紧缩
第9章 查找
9.1 静态查找表
9.1.1 顺序表的查找
9.1.2 有序表的查找
9.1.3 静态树表的查找
9.1.4 索引顺序表的查找
9.2 动态查找表
9.2.1 二叉排序树和平衡二叉树
9.2.2 B树和B+树
9.2.3 键树
9.3 哈希表
9.3.1 什么是哈希表
9.3.2 哈希函数的构造方法
9.3.3 处理冲突的方法
9.3.4 哈希表的查找及其分析
第10章 内部排序
10.1 概述
10.2 插入排序
10.2.1 直接插入排序
10.2.2 其他插入排序
10.2.3 希尔排序
10.3 快速排序
10.4 选择排序
10.4.1 简单选择排序
10.4.2 树形选择排序
10.4.3 堆排序
10.5 归并排序
10.6 基数排序
10.6.1 多关键字的排序
10.6.2 链式基数排序
10.7 各种内部排序方法的比较讨论
第11章 外部排序
11.1 外存信息的存取
11.2 外部排序的方法
11.3 多路平衡归并的实现
11.4 置换一选择排序
11.5 最佳归并树
第12章 文件
12.1 有关文件的基本概念
12.2 顺序文件
12.3 索引文件
12.4 ISAM文件和VSAM文件
12.4.1 ISAM文件
12.4.2 VSAM文件
12.5 直接存取文件(散列文件)
12.6 多关键字文件
12.6.1 多重表文件
12.6.2 倒排文件
附录A 名词索引
附录B 函数索引
参考书目
"Itsnotjustwhatitlookslikeandfeelslike.Designishowitworks."-SteveJobsTheresanewr...
《重塑制造业(实践篇)》内容简介:麻省理工学院创新经济生产委员会权威之作,《重塑制造业》姊妹篇。深入追踪3596家企业调研,10
数据库应用技术:Access2000 内容简介 MicrosoftAccess2000作为目前应用广泛的数据库管理系统,具有用户界面良好,功能强大,操作简单的优...
《微信营销与运营一册通》内容简介:《微信营销与运营一册通》深入介绍了当今最为火热的话题——微信营销,内容全面、系统和深入。
《如厕书》内容简介:31个发生在厕所的神奇小故事,一部充满想象力的短篇小说集! 家庭主妇销毁偷吃证据,职员被困马桶尴尬时刻,甚
《破茧成蝶2——以产品为中心的设计革命》内容简介:互联网下半场来袭,从业者需要做出怎样的变化,以应对风云突变的大环境呢?本书
《Flutter开发实战详解》内容简介:《Flutter开发实战详解》以实战为导向,由浅入深地介绍了Flutter开发过程中的基础体系、实战技巧
《设计必修课:中文版After Effects CC动画制作+视频剪辑+特效包装设计教程(微课视频全彩版)》内容简介:本书After Effects 是Ad
《大唐兴亡三百年5》内容简介:唐朝是一个令后人无比向往的伟大朝代,但它近300年错综复杂的历史,也让人望而却步——正史《唐书》
C程序设计语言(第2版.新版) 内容简介 本书是由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写的一部介绍标准C语言及其...
codylindley是一名客户端工程师(也称为前端开发人员)及flash开发者。他在html、css、javascript、flash、客户端性能技术方面有
《基于浏览器的深度学习》内容简介:本书是Web开发和深度学习的跨界,主要介绍基于浏览器的深度学习技术,具体内容包括神经网络架构
《Web设计技术手册第三版》作为一本完备而简洁的手册,涵盖了在设计Web页面时需要知道的所有知识。为体现受标准推动的Web设计现状
《智能风控:原理、算法与工程实践》内容简介:本书以Python作为实现智能风险管理的编程语言,而我个人也十分推崇运用Python分析金
Java办公自动化项目方案精解(附光盘) 内容简介 本书采用当今*流行的Java语言来实现前台的控制界面。后台数据库考虑到读者的广泛性,采用当今功能*为强大的O...
《和田玉收藏投资购买宝典》内容简介:《和田玉收藏投资购买宝典》融知识性、实用性、文化性于一体,对和田玉的起源和发展、和田玉
2015-数据分析-基于内容与结构的网络舆情分析报告 本书特色 在web2.0技术与应用不断深化以及移动应用不断产生的新时代,互联网已成为社会民意与民声的重要来...
RAW格式数码照片处理完全解析-(附光盘) 本书特色 raw格式是目前所有数码摄影人士都非常喜爱的影像格式,但由于raw格式图片在转换过程中步骤繁多,让许多影友...
信息系统项目管理师教程-(第3版) 本书特色 本书是全国计算机技术与软件专业技术资格(水平)考试办公室组织编写的考试指定用书,本书根据2017年出版的《信息系统...
《简笔画15分钟速成!卡通形象卷》内容简介:《幸福手绘三部曲简笔画15分钟速成!卡通形象卷》是一本纯手工绘制的卡通形象图集,作