 
			 
				| 书名: | 数据结构:C++语言版 | 
| 作者/主编: | 秦锋,汤亚玲 | 
| 出版社: | 人民邮电出版社 | 
| ISBN号: | 9787115358615 | 
| 出版年份: | 2014年9月 | 
| 版次: | 第1版 | 
| 总页数: | 268页 | 
| 开本: | |
| 图书定价: | 39元 | 
| 实际重量: | 380g | 
| 新旧程度: | 正版全新 | 
前言
第1章 绪论
1.1 数据结构的概念
1.1.1 什么是数据结构
1.1.2 学习数据结构的意义
1.2 基本概念和术语
1.2.1 数据与数据元素
1.2.2 数据的逻辑结构
1.2.3 数据的存储结构
1.2.4 数据运算
1.2.5 数据类型
1.2.6 抽象数据类型
1.3 算法和算法分析
1.3.1 算法定义及描述
1.3.2 算法评价
1.3.3 算法性能分析与度量
本章小结
习题
第2章 C++程序设计基础知识
2.1 C++的基本操作
2.1.1 C++的基本输入与输出
2.1.2 函数及其参数传递
2.2 类与对象
2.2.1 类定义
2.2.2 对象定义与声明
2.2.3 类与对象的使用
2.2.4 对象数组
2.2.5 动态存储分配
2.2.6 构造函数与析构函数
2.2.7 继承和派生
2.2.8 虚函数
本章小结
习题
第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.3.1 单链表结构
3.3.2 单链表运算
3.3.3 循环链表结构
3.3.4 双向链表结构
3.4 顺序表与链式表的比较
3.5 算法应用举例
本章小结
习题
第4章 栈和队列
4.1 栈
4.1.1 栈的抽象数据类型
4.1.2 顺序栈
4.1.3 链栈
4.1.4 栈的应用
4.2 队列
4.2.1 队列的抽象数据类型
4.2.2 顺序队列
4.2.3 链队列
4.2.4 队列的应用
4.3 递归
4.3.1 递归算法书写要点及方法
4.3.2 递归过程的调用和返回
4.3.3 递归的应用
4.3.4 递归函数的非递归化
本章小结
习题
第5章 串
5.1 C++语言的字符和字符串
5.1.1 C++语言的字符和字符串
5.1.2 一个简单的C++函数
5.2 串及其基本运算
5.2.1 串的基本概念
5.2.2 串的基本运算
5.3 串的顺序存储及基本运算
5.3.1 串的定长顺序存储
5.3.2 顺序串的数据类型定义
5.3.3 定长顺序串的基本运算
5.3.4 模式匹配
5.4 串的链式存储结构
5.5 串操作应用
本章小结
习题
第6章 数组和广义表
6.1 数组
6.1.1 数组的定义
6.1.2 数组的内存映像
6.2 特殊矩阵的压缩存储
6.2.1 对称矩阵
6.2.2 三角矩阵
6.2.3 稀疏矩阵
6.3 广义表
6.3.1 广义表的定义
6.3.2 广义表的存储
6.3.3 广义表基本操作的实现
本章小结
习题
第7章 树和二叉树
7.1 树的基本概念
7.1.1 树的定义及其表示
7.1.2 基本术语
7.2 二叉树
7.2.1 二叉树的定义
7.2.2 二叉树的性质
7.2.3 二叉树的存储结构
7.2.4 二叉树抽象数据类型
7.3 遍历二叉树
7.3.1 先序遍历
7.3.2 中序遍历
7.3.3 后序遍历
7.3.4 按层次遍历二叉树
7.3.5 遍历算法的应用举例
7.4 线索二叉树
7.4.1 线索的概念
7.4.2 线索的描述
7.4.3 线索的算法实现
7.4.4 线索二叉树上的运算
7.5 树与森林
7.5.1 树的存储结构
7.5.2 树、森林和二叉树的转换
7.5.3 树和森林的遍历
7.6 哈夫曼树
7.6.1 基本术语
7.6.2 哈夫曼树的建立
7.6.3 哈夫曼树的应用
本章小结
习题
第8章 图
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.3.4 图的遍历的其他应用
8.4 生成树和小生成树
8.4.1 生成树及生成森林
8.4.2 小生成树的概念
8.4.3 构造小生成树的Prim算法
8.4.4 构造小生成树的Kruskal算法
8.5 短路径
8.5.1 单源点的短路径
8.5.2 每对顶点之间的短路径
8.6 有向无环图及其应用
8.6.1 有向无环图的概念
8.6.2 AOV网与拓扑排序
8.6.3 AOE网与关键路径
本章小结
习题
第9章 查找
9.1 基本概念
9.2 静态查找表
9.2.1 顺序查找
9.2.2 有序表的查找
9.2.3 分块查找
9.3 动态查找表I—树表查找
9.3.1 二叉排序树
9.3.2 平衡二叉树(AVL树)
9.3.3 B-树和B+树
9.4 动态查找表Ⅱ—哈希表查找(杂凑法)
9.4.1 常用的哈希方法
9.4.2 处理冲突的方法
9.4.3 哈希表的操作
本章小结
习题
第10章 排序
10.1 基本概念
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 树型选择排序
10.4.3 堆排序
10.5 归并排序
10.6 分配排序
10.6.1 多关键码排序
10.6.2 链式基数排序
10.7 各种内排序方法的比较和选择
本章小结
习题
本书在简要回顾基本C++程序设计概念的基础上,全面地介绍了队列、堆栈、树、图等基本数据结构。本书将C++语言作为数据结构的算法描述语言。一方面对传统的数据结构内容进行了C++语言实现,另一方面将数据结构与面向对象技术结合起来,围绕抽象数据类型的概念来讨论每一种数据结构及算法。书中大量C++语言的程序实例既是数据结构的具体实现,又是面向对象技术的算法基础。本书理论与实践并重,每章都有大量的习题,强调数据结构的应用价值。
本书可作为计算机类及信息类相关的核心教材,也可供广大研究开发人员自学参考使用。
这本书简直是为我这种初学者量身定做的!我之前尝试过其他几本号称“入门”的教材,结果不是代码晦涩难懂,就是理论部分讲得过于抽象,完全抓不住重点。但是这本,从最基础的数组、链表开始,就用极其清晰的图示和逐步深入的讲解,让我感觉自己真的在一步步构建知识体系。作者在讲解指针和内存管理那几章时,真是下了大功夫,不是简单地抛出概念,而是结合实际的内存模型,用C++特有的方式去解释,这对于后续学习面向对象和复杂数据结构(比如树和图)打下了无比坚实的基础。特别是它对时间复杂度和空间复杂度的分析,不是那种冷冰冰的公式堆砌,而是用生动的例子展示算法效率的差异,让我一下子就理解了为什么我们要追求更优的算法。读完前几章,我甚至有信心去挑战一些力扣上的简单题了,这种学习的成就感是其他书没给我的。它不仅是本教材,更像是一位耐心的导师,随时准备帮你扫清学习路上的每一个障碍。
评分这本书的排版和示例代码的规范性也值得称赞。在学习数据结构时,代码的可读性至关重要,因为算法本身逻辑就已经比较复杂了,如果代码风格混乱,那简直是雪上加霜。这本书的C++代码示例,从命名规范到注释的详略得当,都体现了专业出版物的严谨态度。特别是涉及到模板编程和类继承来构建复杂结构时,作者对`const`的正确使用、析构函数的处理,以及如何安全地管理动态内存的细节把握得非常到位,这对于我们这些在实际项目中经常要和遗留代码打交道的开发者来说,是学习优秀编程习惯的绝佳范例。它潜移默化地教会了我如何在C++中写出既高效又健壮的代码,不仅仅是如何让程序跑起来,更是如何让程序“优雅”地跑起来。这对于提升我的整体代码质量帮助非常大。
评分我原本以为C++版的数据结构会充斥着大量的模板元编程或者过于现代化的STL容器封装,结果大出所料,它非常注重基础和核心概念的“裸奔”实现。作者似乎刻意地让读者绕开STL提供的便利,去亲手构建那些复杂结构,比如自己动手实现一个平衡二叉搜索树(AVL或红黑树),或者亲手编写一个哈希表的冲突解决机制。这种“手搓”的过程虽然辛苦,但带来的收获是巨大的。我清晰地看到了递归是如何在树的遍历中发挥作用的,也深刻体会了在插入和删除操作中保持树的平衡是多么精妙的设计。这种实践导向的教学方式,极大地增强了我对指针操作的熟练度,同时也让我对C++的内存模型有了更直观的认识。这本书的习题设计也很有针对性,大多不是简单的套用公式,而是需要你结合所学的结构特性进行优化和修改,非常锻炼解决问题的能力。
评分作为一名已经工作几年,但感觉基础知识有所松动的工程师,我这本书带给我的“查漏补缺”体验是极其高效的。我之前总是在面试中被问到堆栈的区别和应用场景,每次都只能含糊其辞。这本教材在讲解栈和队列时,不仅清晰区分了它们的LIFO和FIFO特性,更重要的是,它用非常巧妙的篇幅对比了用数组、链表以及C++标准库中特定容器实现这两种结构时的性能权衡和适用边界。这种对比性的分析视角,让我瞬间理解了为什么在某些需要快速访问队列头部的场景,我们必须选择链式结构而不是顺序存储。对于那些已经有编程经验的人来说,这种高级别的抽象和比较,能够迅速帮你把散乱的知识点串联起来,形成一个完整的知识网络,而不是孤立的知识点。翻阅起来非常流畅,不会有那种“为了讲理论而硬凑内容”的感觉。
评分这本书的深度和广度都超出了我的预期,远非市面上那些只停留在表面概念的“速成”书籍可比。真正让我眼前一亮的是它在高级数据结构部分的处理。关于图论算法的阐述,比如Dijkstra和Floyd-Warshall,作者没有直接跳到最优解的代码实现,而是先用不同的场景引入问题,比如最短路径、最小生成树等,让读者充分理解“为什么需要这个算法”。随后,对于每种算法的每一步操作,都配上了非常精妙的伪代码和C++实现细节,尤其是对优先队列在Dijkstra算法中应用的那部分,讲解得细致入微,让我彻底搞明白了优先队列内部是如何工作的,这在其他任何一本教材里都很难找到如此深入的剖析。对于那些打算未来从事高性能计算或者系统底层开发的朋友来说,这种对底层逻辑的深挖绝对是无价之宝。它培养的不是简单的“会写代码”的能力,而是“理解代码运行原理”的思维方式。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有