新書推薦:
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
|
內容簡介: |
本书系统地介绍了数据结构的有关内容,主要包括数据结构与算法的相关概念,线性表、栈、递归、队列、数组、广义表、串、树、二叉树、堆、哈夫曼树、图等常用的数据逻辑结构和存储结构,各种数据结构的基本操作,以及查找、排序算法等。
本书算法全部用类C语言描述,各章均附有习题。本书力求结构清晰、算法突出。在内容的组织上,本书强调知识的实用性,既注重理论的完整性,化繁为简,又注重将理论融入具体实例,化难为易,以达到准确、清楚地阐述相关概念和原理的目的。本书注重对数据结构各章节知识阐述的条理性,书中给出的示例也具有较强的实用性,以便读者对数据结构能够有全面、透彻的认识。
本书可作为高等院校计算机相关专业本科生的专业教材或参考用书,也可作为计算机相关从业技术人员的自学和参考用书。
|
目錄:
|
第1章 绪论
1.1 数据结构
1.1.1 数据结构的定义
1.1.2 “数据结构”课程的地位
1.1.3 “数据结构”课程的学习特点
1.2 基本概念和术语
1.3 算法与算法分析
1.3.1 算法
1.3.2 算法描述
1.3.3 算法分析
1.4 数据结构与表示
1.4.1 数据结构与程序设计关系
1.4.2 函数的模块化
1.4.3 算法描述规范与设计风格
1.4.4 与参数传递的相关技术
1.4.5 C语言中的结构体、共用体和枚举类型
本章小结
习题
第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.4.1 一元多项式的顺序存储及加法的实现
2.4.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.2.4 递归算法到非递归算法的转换
3.2.5 递归与非递归的比较
3.3 队列
3.3.1 队列的基本定义
3.3.2 队列的顺序存储
3.3.3 队列的链式存储
3.4 应用举例
3.4.1 数制的转换
3.4.2 表达式的计算
3.4.3 缓冲区的处理
3.4.4 舞伴问题
本章小结
习题
第4章 数组与广义表
4.1 数组
4.1.1 数组的定义
4.1.2 数组的运算
4.1.3 数组的抽象数据类型定义
4.2 数组的顺序存储
4.2.1 一维数组的地址计算
4.2.2 二维数组的地址计算
4.2.3 三维数组的地址计算
4.2.4 n维数组的地址计算
4.3 特殊矩阵的压缩存储
4.3.1 规律分布的特殊矩阵
4.3.2 稀疏矩阵
4.4 广义表
4.4.1 广义表的定义
4.4.2 广义表的存储结构
本章小结
习题
第5章 串
5.1 串的基本概念
5.2 串的存储结构
5.2.1 串的顺序存储
5.2.2 串的链式存储
本章小结
习题
第6章 树和二叉树
6.1 树
6.1.1 树的定义
6.1.2 树的基本术语
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的分类
6.2.3 二叉树的性质
6.2.4 二叉树的存储结构
6.3 遍历二叉树
6.3.1 先序遍历
6.3.2 中序遍历
6.3.3 后序遍历
6.3.4 层序遍历
6.3.5 遍历算法的应用
6.4 二叉搜索树
6.4.1 二叉搜索树的定义
6.4.2 二叉搜索树的基本操作
6.5 平衡二叉树
6.5.1 平衡二叉树的定义
6.5.2 平衡二叉树的调整
6.5.3 平衡二叉树的建立
6.6 堆
6.6.1 堆的定义
6.6.2 堆的基本操作
6.7 哈夫曼树
6.7.1 哈夫曼树的定义
6.7.2 哈夫曼树的建立
6.7.3 哈夫曼编码
本章小结
习题
第7章 图
7.1 图的定义与基本术语
7.1.1 图的定义
7.1.2 图的基本术语
7.1.3 图的抽象数据类型
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 短路径问题
本章小结
习题
第8章 查找
8.1 查找的基本概念
8.2 基于线性表的查找法
8.2.1 顺序查找法
8.2.2 折半查找法
8.2.3 分块查找法
8.3 计算式查找法——哈希查找法
8.3.1 哈希查找法的基本概念
8.3.2 哈希函数的构造方法
本章小结
习题
第9章 排序
9.1 排序的相关概念及分类
9.1.1 排序的相关概念
9.1.2 内部排序方法的分类
9.1.3 记录类型定义
9.2 插入类排序
9.2.1 直接插入排序
9.2.2 折半插入排序
9.2.3 希尔排序
9.3 交换类排序
9.3.1 冒泡排序
9.3.2 快速排序
9.4 选择类排序
9.4.1 简单选择排序
9.4.2 树形选择排序
9.4.3 堆排序
9.5 归并排序
9.6 基数排序
9.6.1 多关键字排序
9.6.2 基数排序
9.7 各种排序方法的综合比较
本章小结
习题
参考文献
附录 PTA使用说明
|
內容試閱:
|
“数据结构”是计算机程 序设计的重要理论技术基础 ,它不仅是计算机学科的核 心课程,还是其他理工类专 业的热门选修课程。本书是 为“数据结构”课程编写的教 材,其内容选取符合教学大 纲要求,并兼顾学科的广度 和深度,适用面广。 从课程性质上讲,“数据 结构”是一门专业基础课。 通过学习,学生可以学会分 析、研究计算机加工的数据 的结构特性,以便为应用涉 及的数据选择适当的逻辑结 构、存储结构及相应的算法 ,并初步掌握算法的时间分 析和空间分析。此外,此课 程的学习过程是复杂程序设 计的训练过程,要求学生编 写的程序结构清楚、正确、 易读,符合软件工程的规范 。 本书共9章内容。其中, 第1章绪论,主要内容包括 数据结构、数据、抽象数据 类型、算法等基本概念,除 此之外,为了便于读者阅读 教材中的各种数据结构中操 作的实现函数,还补充了C 语言中的一些构造类型和函 数的参数传递等知识;第2 章~第7章分别讲解线性表 、栈与队列、数组与广义表 、串、树和二叉树、图等基 本类型的数据结构,每章内 容的安排以逻辑结构、抽象 数据类型定义、在不同存储 结构下算法的实现为主要框 架,逐步展开,思路清晰; 第8章和第9章分别讲解查找 和排序算法,主要介绍各种 经典算法的思想及其实现, 并从效率上进行定性或定量 的分析和比较。 全书采用C语言作为数据 结构和算法的描述语言,对 各种抽象数据类型的定义和 实现简明清晰,既不拘泥于 C语言的细节,又容易转换 成能够上机执行的C程序。 本书由张丽萍和吕生荣 任主编并负责全书的统稿工 作。具体编写分工如下:第 1章和第2章由翟晔编写,第 3章由尹志凌编写,第4章和 第8章由闫盛编写,第5章和 附录由张丽萍编写,第6章 由殷雁君编写,第7章由李 慧哲编写,第9章由吕生荣 编写。 由于编者水平有限,加 之时间仓促,书中不足之处 在所难免,恳请广大读者批 评指正。
|
|