21世纪高等教育计算机规划教材

数据结构(C++语言版)

分享 推荐 0 收藏 13 阅读 3.9K
秦锋 , 汤亚玲 (主编) 陈桂芬 , 章曙光 , 汪军 , 林芳 , 司秀丽 , 陈学进 , 秦飞 (副主编) 978-7-115-35861-5

关于本书的内容有任何问题,请联系 张斌

本教材是在由秦锋教授负责的安徽省级精品《数据结构》课程基础之上发展并完善起来的教材,建立在多年的教学实际和经验积累之上,是安徽工业大学、安徽工程大学、安徽建工学院、吉林工业大学、福建工程大学等多所高校课程组集体智慧的结晶,编写的教材在多届学生的教学实践中取得了很好的教学效果,具体表现在以下几个方面:
1.教材定位准确,特色鲜明,针对性强

2.紧扣计算机类基本教学大纲,考研大纲,关注并融合了算法领域的最新研究成果,实用性强。

3.文字描述简练,语言流畅;注重思路导引和算法设计分析,便于学习和教学。全书自成体系,各章节衔接自然,语言简洁朴实易懂;从内容的组织编排上,做到结构合理,篇章之间衔接自然有序,符合学生的认知规律;第三章至第十章包含了基础知识点的详细阐述和丰富具体的应用实例。

4.教材内容严谨,配套材料齐全,国内多所高校使用均反响强烈,多次再版。
¥39.00 ¥33.15 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

  本书在简要回顾基本C++程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构。本书将C++语言作为数据结构的算法描述语言。一方面对传统的数据结构内容进行了C++语言实现,另一方面将数据结构与面向对象技术结合起来,围绕抽象数据类型的概念来讨论每一种数据结构及算法。书中大量C++语言的程序实例既是数据结构的具体实现,又是面向对象技术的算法基础。本书理论与实践并重,每章都有大量的习题,强调数据结构的应用价值。
  本书可作为计算机类及信息类相关专业的核心教材,也可供广大研究开发人员自学参考使用。

目录

目 录

第 1章 绪论 1
1.1 数据结构的概念 1
1.1.1 什么是数据结构 1
1.1.2 学习数据结构的意义 3
1.2 基本概念和术语 4
1.2.1 数据与数据元素 4
1.2.2 数据的逻辑结构 4
1.2.3 数据的存储结构 5
1.2.4 数据运算 5
1.2.5 数据类型 6
1.2.6 抽象数据类型 6
1.3 算法和算法分析 6
1.3.1 算法定义及描述 6
1.3.2 算法评价 7
1.3.3 算法性能分析与度量 10
本章小结 15
习题 15

第 2章 C++程序设计基础知识 18
2.1 C++的基本操作 18
2.1.1 C++的基本输入与输出 18
2.1.2 函数及其参数传递 21
2.2 类与对象 26
2.2.1 类定义 27
2.2.2 对象定义与声明 28
2.2.3 类与对象的使用 28
2.2.4 对象数组 29
2.2.5 动态存储分配 29
2.2.6 构造函数与析构函数 30
2.2.7 继承和派生 33
2.2.8 虚函数 35
本章小结 37
习题 38

第3章 线性表 40
3.1 线性表的定义及其运算 40
3.1.1 线性表的定义 40
3.1.2 线性表的运算 41
3.1.3 线性表的抽象数据类型描述 42
3.2 线性表的顺序存储结构 42
3.2.1 顺序表结构 42
3.2.2 顺序表运算 43
3.2.3 顺序表存储空间的动态分配 47
3.3 线性表的链式存储结构 47
3.3.1 单链表结构 47
3.3.2 单链表运算 49
3.3.3 循环链表结构 56
3.3.4 双向链表结构 57
3.4 顺序表与链式表的比较 58
3.5 算法应用举例 59
本章小结 62
习题 63

第4章 栈和队列 66
4.1 栈 66
4.1.1 栈的抽象数据类型 67
4.1.2 顺序栈 67
4.1.3 链栈 69
4.1.4 栈的应用 71
4.2 队列 81
4.2.1 队列的抽象数据类型 81
4.2.2 顺序队列 81
4.2.3 链队列 84
4.2.4 队列的应用 87
4.3 递归 89
4.3.1 递归算法书写要点及方法 90
4.3.2 递归过程的调用和返回 90
4.3.3 递归的应用 91
4.3.4 递归函数的非递归化 92
本章小结 93
习题 93

第5章 串 96
5.1 C++语言的字符和字符串 96
5.1.1 C++语言的字符和字符串 96
5.1.2 一个简单的C++函数 97
5.2 串及其基本运算 97
5.2.1 串的基本概念 97
5.2.2 串的基本运算 98
5.3 串的顺序存储及基本运算 99
5.3.1 串的定长顺序存储 99
5.3.2 顺序串的数据类型定义 100
5.3.3 定长顺序串的基本运算 103
5.3.4 模式匹配 104
5.4 串的链式存储结构 108
5.5 串操作应用 110
本章小结 111
习题 112

第6章 数组和广义表 114
6.1 数组 114
6.1.1 数组的定义 114
6.1.2 数组的内存映像 115
6.2 特殊矩阵的压缩存储 115
6.2.1 对称矩阵 115
6.2.2 三角矩阵 116
6.2.3 稀疏矩阵 116
6.3 广义表 120
6.3.1 广义表的定义 120
6.3.2 广义表的存储 121
6.3.3 广义表基本操作的实现 122
本章小结 123
习题 124

第7章 树和二叉树 127
7.1 树的基本概念 127
7.1.1 树的定义及其表示 128
7.1.2 基本术语 129
7.2 二叉树 129
7.2.1 二叉树的定义 129
7.2.2 二叉树的性质 130
7.2.3 二叉树的存储结构 132
7.2.4 二叉树抽象数据类型 133
7.3 遍历二叉树 135
7.3.1 先序遍历 135
7.3.2 中序遍历 136
7.3.3 后序遍历 137
7.3.4 按层次遍历二叉树 138
7.3.5 遍历算法的应用举例 139
7.4 线索二叉树 140
7.4.1 线索的概念 140
7.4.2 线索的描述 142
7.4.3 线索的算法实现 143
7.4.4 线索二叉树上的运算 144
7.5 树与森林 146
7.5.1 树的存储结构 146
7.5.2 树、森林和二叉树的转换 148
7.5.3 树和森林的遍历 150
7.6 哈夫曼树 151
7.6.1 基本术语 152
7.6.2 哈夫曼树的建立 153
7.6.3 哈夫曼树的应用 157
本章小结 158
习题 158

第8章 图 162
8.1 图的基本概念 162
8.1.1 图的定义和术语 162
8.1.2 图的基本操作 166
8.2 图的存储结构 166
8.2.1 邻接矩阵 166
8.2.2 邻接表 169
8.2.3 十字链表 171
8.2.4 邻接多重表 173
8.3 图的遍历 174
8.3.1 深度优先搜索 174
8.3.2 广度优先搜索 175
8.3.3 应用图的遍历判定图的连通性 177
8.3.4 图的遍历的其他应用 178
8.4 生成树和**小生成树 181
8.4.1 生成树及生成森林 181
8.4.2 **小生成树的概念 182
8.4.3 构造**小生成树的Prim算法 183
8.4.4 构造**小生成树的Kruskal算法 185
8.5 **短路径 187
8.5.1 单源点的**短路径 187
8.5.2 每对顶点之间的**短路径 190
8.6 有向无环图及其应用 193
8.6.1 有向无环图的概念 193
8.6.2 AOV网与拓扑排序 194
8.6.3 AOE网与关键路径 198
本章小结 202
习题 203

第9章 查找 206
9.1 基本概念 206
9.2 静态查找表 207
9.2.1 顺序查找 207
9.2.2 有序表的查找 208
9.2.3 分块查找 209
9.3 动态查找表I——树表查找 210
9.3.1 二叉排序树 211
9.3.2 平衡二叉树(AVL树) 215
9.3.3 B-树和B+树 222
9.4 动态查找表Ⅱ——哈希表查找(杂凑法) 226
9.4.1 常用的哈希方法 226
9.4.2 处理冲突的方法 228
9.4.3 哈希表的操作 230
本章小结 232
习题 232

第 10章 排序 236
10.1 基本概念 236
10.2 插入排序 237
10.2.1 直接插入排序 237
10.2.2 二分插入排序 239
10.2.3 希尔排序 239
10.3 交换排序 241
10.3.1 冒泡排序 241
10.3.2 快速排序 242
10.4 选择排序 244
10.4.1 简单选择排序 244
10.4.2 树型选择排序 245
10.4.3 堆排序 246
10.5 归并排序 249
10.6 分配排序 251
10.6.1 多关键码排序 251
10.6.2 链式基数排序 252
10.7 各种内排序方法的比较和选择 255
本章小结 256
习题 256

读者评论

  • 发一份答案啦 谢谢

    明窗尘发表于 2017/6/26 16:50:13
    • 您好,本书没有提供习题答案

      吴婷发表于 2017/6/28 14:10:06
  • 谁能发我一份课后习题答案啊,谢谢啦

    憨憨发表于 2017/6/3 10:17:43
    • 您好,本书没有提供习题答案

      吴婷发表于 2017/6/28 14:10:14
  • 谁能发我一份课后习题答案啊,谢谢啦

    憨憨发表于 2017/6/3 10:17:43
  • 有没有课后习题题目的电子版?

    ptxycjh发表于 2017/4/18 14:55:07
    • 课后习题题目的电子版是没有的

      吴婷发表于 2017/4/24 11:00:16

我要评论

同系列书

  • Java Web程序设计教程

    陈沛强 谷灵康 金京犬

    本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先...

    ¥48.00
  • C++程序设计——思想与方法 慕课版(第3版)

    翁惠玉 俞勇

    本书以C++语言为环境,重点讲授程序设计的思想和方法,包括过程化的程序设计和面向对象的程序设计,且本书非常强调...

    ¥49.80
  • 网页设计与制作(附微课视频 第2版)

    雷伟军

    本书依据教育部高等学校计算机基础课程教学指导委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关“网页...

    ¥45.00
  • 数据结构与算法分析(C++语言版)

    张琨 张宏 朱保平

    本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二...

    ¥45.00
  • 多媒体技术及应用

    李小英 谷长龙 段伟 蔡益红

    本书全面系统地介绍了多媒体技术的基础知识与应用软件的使用。全书共5章。第1章多媒体技术概论讲述了多媒体技术的基...

    ¥39.00

购买本书用户

相关图书

  • 数据库系统原理(微课版)

    本书对数据库系统的概念、原理、技术和方法进行系统、全面的阐述。本书共14章,内容包括数据库概述、关系数据库、关...

    ¥69.80
  • 人工智能原理及MATLAB实现

    许国根

    本书系统地阐述了人工智能算法的基本原理、实现技术及其应用,基本涵盖了其重要理论和方法,包括了最近发展起来的并被...

    ¥79.80
  • 实用软件工程(附微课视频 第3版)

    吕云翔

    本书按照典型的软件开发过程组织和编写内容,旨在培养读者具备软件工程思想及实际软件开发的能力。全书共11章, 内...

    ¥69.80
  • 计算机视觉开发实战——基于OpenCV

    郭佳

    本书以实践为导向,将理论与实践相结合,深入浅出地介绍了使用Python与OpenCV进行计算机视觉实践的基本知...

    ¥49.80
  • 脑科学导论

    莫宏伟 徐立芳

    本书较为全面地介绍了脑科学、神经科学的基本概念、知识和理论,以及脑科学、神经科学等方面的新成果和新发现。全书共...

    ¥79.80
人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部