数据结构
数据结构封面图

数据结构

刘大有, 等编著

出版社:高等教育出版社

年代:2010

定价:28.0

书籍简介:

本书是《数据结构》国家精品课程的研究成果之一,是国家“十一五”规划教材。本书系统介绍了数据结构概念、原理与技术,正文部分主要包括绪论,基本数据结构,排序、查找与内存管理,相关工具和文件等五部分。其中:在第一章绪论中,主要对算法描述语言ADL,算法书写规范,数据结构与算法的基本概念,算法分析基础和算法正确性证明等进行了介绍;第二至第五章是基本数据结构部分,主要涉及线性表、堆栈与队列,数组和字符串,树与二叉树,图结构等内容;在第七至第九章,从算法的视角讨论了排序、查找和内存管理等方面的内容,给出了若干典型算法的描述,时间复杂性分析和相关算法的比较等;第六和第十一章分别对递归和随机数两种主要工具进行了讲解,其中随机数是数据结构的新内容;文件,一种复杂数据结构,在第十章中被阐明。本书有如下特点: 采用(ADL和C++)两种语言描述算法;算法与数据结构紧密结合;强调“数学严格”,对书中典型算法都给出了时间复杂性分析,对与某些算法正确性相关的一些问题给出了证明,并注重分析与证明的严格性;突出启发式教学与因材施教内容的设计与撰写;对科研成果转化为教学内容进行了探索;每章后都附加乐精选的习题,不仅为每道习题提供了重要的属性值,而且对较难习题给出了分级启发式提示和答案。本书正文后面是附录,主要包括:本书ADL算法的C++程序,一些基本数据结构的C++类实现,习题答案或解题思路。同时提供了随书光盘,光盘中包括本书ADL算法的C++程序,较难习题答案的C++代码,以及相关的测试和运行支持程序,可供读者自学和上机使用。本书可作为高等院校计算机专业、软件专业及相关专业的教材和教学参考书,也可供相关专业的工程技术人员参考使用。

作者介绍:

刘大有,吉林大学教授、博士生导师。国家基金委专家评审组成员,吉林省计算机学会理事长,中国人工智能学会常务理事,知识工程与分布智能专委会副主任,中国计算机学会人工智能与模式识别专委会副主任。1997-2008年曾任国务院学位委员会学科评议组成员。在知识工程.专家系统、分布智能.智能体,时空推理和数据挖掘等方面取得了系统的创造性成果.为提高我国智能推理与智能系统等方面的研究与应用水平做出了突出贡献承担国家和省部级项目50余项,出版著作9部,发表论文390余篇,三大检索270余篇;获国家科技进步奖2项、省部级科技进步奖9项;获国家教学成果二等奖1项、省教学成果一等奖2项、国家精品课程和国家级教学团队称号;并获国务院特殊津贴,省突出贡献专家,首批和二批省管优秀专家.一、二批省高级专家等荣誉。

书籍目录:

第一章 绪论

1.1 为什么要学习数据结构

1.2 数据结构概念

1.2.1 数据的逻辑结构

1.2.2 数据的存储结构

1.2.3 对数据结构的操作

1.2.4 数据结构示例

1.3 算法

1.3.1 算法及其特性

1.3.2 算法的描述

1.3.3 算法的评价准则

1.4 算法的正确性证明

1.5 算法分析基础

1.5.1 算法时间复杂性的分析方法

1.5.2 复杂性函数的渐近表示

1.5.3 算法时间与空间分析

1.5.4 计算复杂性和算法的效率

小结

参考文献与推荐读物

习题

第二章 线性表、堆栈和队列

2.1 线性表的定义和基本操作

2.2 线性表的顺序存储结构

2.3 线性表的链接存储结构

2.3.1 单链表

2.3.2 循环链表

2.3.3 双向链表

2.4 复杂性分析

2.5 堆栈

2.5.1 堆栈的定义和基本操作

2.5.2 顺序栈

2.5.3 链式栈

2.5.4 顺序栈与链式栈的比较

2.5.5 堆栈应用——括号匹配

2.6 队列

2.6.1 队列的定义和基本操作

2.6.2 顺序队列

2.6.3 链式队列

2.6.4 顺序队列与链式队列的比较

2.6.5 队列与堆栈的扩展

小结

参考文献与推荐读物

习题

第三章 数组和字符串

3.1 数组

3.1.1 数组的存储和寻址

3.1.2 一维数组类

3.2 矩阵

3.2.1 矩阵类

3.2.2 特殊矩阵

3.2.3 三元组表

3.2.4 十字链表

3.3 字符串

3.3.1 字符串的定义与字符串类

3.3.2 模式匹配算法

小结

参考文献与推荐读物

习题

第四章 树

4.1 树的基本概念

4.1.1 树的定义

4.1.2 树的相关术语

4.2 二叉树

4.2.1 二叉树定义和主要性质

4.2.2 二叉树顺序存储

4.2.3 二叉树链接存储

4.2.4 二叉树遍历

4.2.5 创建二叉树

4.2.6 复制二叉树

4.3 线索二叉树

4.3.1 线索二叉树定义

4.3.2 线索二叉树存储

4.3.3 线索二叉树基本算法

4.4 树和森林

4.4.1 树与二叉树的转换

4.4.2 树的顺序存储

4.4.3 树的链接存储

4.4.4 树和森林的遍历

4.5 压缩与哈夫曼树

4.5.1 文件编码

4.5.2 扩充二叉树

4.5.3 哈夫曼树和哈夫曼编码

4.6 应用

4.6.1 表达式求值

4.6.2 分类与决策树

小结

参考文献与推荐读物

习题

第五章 图

5.1 图的基本概念

5.2 图的存储结构与类定义

5.2.1 存储结构

5.2.2 Graph类

5.3 图的遍历算法

5.3.1 深度优先遍历

5.3.2 广度优先遍历

5.4 拓扑排序

5.5 关键路径

5.6 最短路径问题

5.6.1 无权最短路径问题

5.6.2 正权最短路径问题

5.6.3 每对顶点之间的最短路径

5.7 最小支撑树

5.7.1 普里姆算法

5.7.2 克鲁斯卡尔算法

5.8 图的应用

5.8.1 可及性与Warshall算法

5.8.2 连通分量

5.8.3 图在网络分析和信息检索

中的应用

小结

参考文献与推荐读物

习题

第六章 递归

6.1 递归的定义

6.2 基本递归过程

6.3 递归过程实现与堆栈

6.4 递归法求解问题

6.4.1 委员会问题

6.4.2 回溯

6.5 递归的效率

小结

参考文献与推荐读物

习题

第七章 排序

7.1 排序问题的基本概念

7.2 插入排序

7.2.1 直接插入排序

7.2.2 Shell排序

7.3 交换排序

7.3.1 冒泡排序

7.3.2 快速排序

7.4 选择排序

7.4.1 直接选择排序

7.4.2 堆排序

7.5 合并排序

7.6 基于关键词比较的排序算法分析

7.6.1 平方阶排序算法及改进算法

7.6.2 线性对数阶排序算法

7.6.3 分治排序的一般方法

7.6.4 基于关键词比较的排序算法下界

7.7 分布排序

7.7.1 基数分布

7.7.2 值分布

7.8 外排序

7.8.1 外存储器

7.8.2 磁带排序

7.8.3 磁盘排序

小结

参考文献与推荐读物

习题

第八章 查找

8.1 顺序查找

8.1.1 无序表的顺序查找

8.1.2 有序表的顺序查找

8.2 基于关键词比较的查找

8.2.1 对半查找

8.2.2 一致对半查找

8.2.3 斐波那契查找

8.2.4 插值查找

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.5.1 高度平衡树

8.5.2 重量平衡树

8.6 红黑树

8.6.1 红黑树的性质

8.6.2 旋转

8.6.3 插入

8.6.4 删除

8.7 B树及其变形树

8.7.1 多又树

8.7.2 B树

8.7.3 B树变形树

8.8 数字查找

8.8.1 检索结构查找

8.8.2 数字树查找

8.9 散列

8.9.1 散列函数

8.9.2 冲突调节

8.9.3 删除

8.9.4 重量平衡树的应用——按位置查找

小结

参考文献与推荐读物

习题

第九章 内存管理

9.1 概述

9.2 均匀大小记录的分配和回收算法

9.2.1 记录分配算法

9.2.2 访问计数器法

9.2.3 废料收集方法

9.3 不同大小记录的分配和回收算法

9.3.1 查找分配策略

9.3.2 边界标识法

9.3.3 压缩分配

9.4 伙伴系统

9.4.1 伙伴系统概述

9.4.2 分配记录和释放记录算法

小结

参考文献与推荐读物

习题

第10章 文件

10.1 文件的基本概念

10.1.1 文件及其分类

10.1.2 文件的逻辑结构与存储结构

10.2 顺序文件

10.2.1 顺序无序文件

10.2.2 顺序有序文件

10.2.3 增补文件

10.3 散列文件

10.3.1 散列文件

10.3.2 可扩充的散列文件

10.4 索引文件

10.4.1 动态索引结构和静态索引结构

10.4.2 ISAM文件

10.4.3 VSAM文件

10.5 多关键字文件

10.5.1 多重链表文件

10.5.2 倒排文件

小结

参考文献与推荐读物

习题

第11章 随机数

11.1 生成随机数

11.1.1 均匀分布随机数

11.1.2 其他分布随机数

11.2 随机数检验

11.2.1 一般检验方法

11.2.2 经验检验方法

11.3 随机排列与随机组合

11.3.1 随机排列

11.3.2 随机组合

11.4 应用

11.4.1 随机算法

11.4.2 使用随机数的快速排序算法

小结

参考文献与推荐读物

习题

附录

附录1 各章算法的C++实现

附录2 习题参考答案或解题思路

内容摘要:

《数据结构(第2版)》是国家精品课程“数据结构”的研究成果之一,是面向21世纪课程教材和普通高等教育“十一五”国家级规划教材。《数据结构(第2版)》系统介绍了数据结构的概念、原理与技术,主要内容包括绪论,基本数据结构,排序、查找与内存管理,相关工具和文件等。其中,第一章绪论主要对算法描述语言(ADL)、算法书写规范、数据结构与算法基本概念、算法分析基础和算法正确性证明等进行了介绍;第二至五章是基本数据结构部分,主要涉及线性表、堆栈和队列,数组和字符串,树与二叉树,图结构等内容;第七至九章从算法的视角讨论了排序、查找和内存管理等方面的内容,给出了若干典型算法的描述、时间复杂性分析和相关算法的比较等;第六章和十一章分别对递归和随机数两种主要工具进行了讲解,其中随机数是数据结构的新内容;文件这种复杂的数据结构则在第十章中阐明。
《数据结构(第2版)》的附录主要包括书中ADL算法的C++程序、一些基本数据结构的C++类实现以及习题答案或解题思路。《数据结构(第2版)》配套教学资源中包括电子教案、ADL算法的C++程序、较难习题答案的C++代码以及相关的测试和运行支持程序,可供读者自学和上机使用。
《数据结构(第2版)》可作为高等学校计算机相关专业的教材和教学参考书,也可供相关专业的工程技术人员参考使用。

编辑推荐:

《数据结构(第2版)》特色:
·采用两种语言描述算法
《数据结构(第2版)》正文采用算法描述语言ADL描述算法。附录提供算法的C++实现。这样做有利于读者将注意力聚焦于数据结构与算法的关键部分.弥补了用C++语言描述算法既占用较多篇幅,又涉及较多程序设计细节的不足。
·强调“数据结构的严格性”
《数据结构(第2版)》对典型算法或给出时间复杂性分析或分析结果,特别对时间复杂性阶相同的相关算法,既给出算法复杂性的阶,又给出阶前面的系数;对某些算法,给出其关键问题(或步骤)的正确性证明。注重分析与证明的严格性。
·突出启发式教学与因材施教
《数据结构(第2版)》对一些较难的知识点设计了启发式教学案例。在相关算法的衔接处,阐明后续算法形成的思想及其主要特点;在展开算法描述之前,给出算法关键思想的刻画;在每章结尾处。给出相关算法的比较。此外,对习题给出了难度级别,对较难习题给出了分级提示。

书籍规格:

书籍详细信息
书名数据结构站内查询相似图书
9787040302134
如需购买下载《数据结构》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位高等教育出版社
版次2版印次1
定价(元)28.0语种简体中文
尺寸24 × 19装帧平装
页数印数 4000

书籍信息归属:

数据结构是高等教育出版社于2010.8出版的中图分类号为 TP311.12 的主题关于 数据结构-高等学校-教材 的书籍。