数据结构(C++语言描述)

国家级精品课程配套教材
分享 推荐 1 收藏 16 阅读 3.6K
张同珍 (作者) 978-7-115-56985-1

关于本书的内容有任何问题,请联系 许金霞

1.在内容组织上采用标准化,让学生在学习中有章可循。统一采用逻辑结构、基本操作、物理结构、基本操作实现和典型应用的标准轨迹进行各个模块的讨论,师生用此方法容易给整本书建立出清晰的结构脉络。
2.在内容组织上还采用模块化,将线性、非线性由浅入深划分出各个模块。无论在理论上还是实际设计、动手实现的培养上都采用承上启下,逐步深入的过程。
3.在简单结构讨论中注重对分析脉络的熟悉、基于顺序结构和链式结构基本功的讲解和训练,在算法设计和实现中提出一些操作性很强的法则,为后续复杂结构打下必要的基础。
4.针对每个模块,几乎所有典型基本操作算法都分析其思维历程,用图示详细演示算法的思想,最后给出完整的C++语言实现。通过快速运行程序可以使得学生获得感性、直观的认识,反过来又促进学生对理论内容的进一步理解,也有利于学生动手能力的培养。
5.各模块典型应用既有涉及理工类的问题求解,也有日常生活工作中的一些实际例子,有利于学生将所学结合到各类实际应用中。

内容摘要

本书在结构顺序编排上,根据数据之间关系的不同,由简入繁,分为集合、线性、树、图结构4个部分。在内容的编排上,涵盖了计算机专业数据结构课程的教学大纲要求,兼顾了相关专业硕士研究生入学考试内容范围,主要内容包括绪论、线性表、栈和队列、树、图、查找和排序。
本书内容丰富,条理清晰,深入浅出,表现形式多样,讲解详尽,适合作为高等院校计算机类、电类、信息类、自控类专业“数据结构”相关课程的教材,也可作为全国高校研究生入学考试参考书。

诚邀您加入【人邮社数据结构教师交流群】

目录

目录

第 1章 绪论
1.1 数据结构定义
1.1.1 数据的逻辑结构
1.1.2 数据的存储结构
1.1.3 基本操作的实现
1.1.4 典型应用
1.2 算法及算法分析
 1.2.1算法及其要求
 1.2.2时间复杂性的度量
 1.2.3空间复杂性的度量
1.3 数据结构的C++语言实现
 1.3.1面向对象
 1.3.2泛型机制
 1.3.3 const机制
 1.3.4 异常处理
1.4 小结
1.5 习题

第 2章 线性表
2.1 线性表的定义及ADT
2.2线性表的顺序存储结构
2.2.1 顺序表
2.2.2 顺序表基本操作的实现
 2.3线性表的链接存储结构
2.3.1单链表
2.3.2单链表基本操作的实现
2.3.3单向循环链表
2.3.4双链表、双向循环链表
2.4 线性表的应用
2.4.1一元多项式的加法
2.4.2字符串的存储和实现
2.4.3 稀疏矩阵
2.5 小结
2.6 习题

第3章 栈和队列
3.1栈
3.1.1 栈的定义
3.1.2 栈的顺序存储及实现
3.1.3 栈的链式存储及实现
3.2栈的应用
3.2.1 括号配对检查
3.2.2表达式计算
3.3队列
3.3.1队列的定义及ADT
3.3.2 队列的顺序存储及实现
3.3.3 队列的链式存储及实现
3.3.4 优先队列
3.4 队列的应用
 3.5 小结
 3.6 习题

第4章 树及二叉树
4.1 树的定义、术语及结构
4.2 二叉树
4.2.1 二叉树的定义
4.2.2 二叉树的性质
4.2.3 二叉树的存储和实现
 4.3 二叉树的遍历
4.3.1 二叉树的遍历及实现
4.3.2 二叉线索树
4.3.3 遍历序列确定二叉树
 4.4 表达式树
4.4.1 基本概念
4.4.2 表达式树的建立
4.4.3 表达式的计算
 4.5 最优二叉树及其应用
4.5.1.基本概念
4.5.2 哈夫曼算法的实现
4.5.3 哈夫曼编码
4.6 等价类问题
4.6.1.等价关系及等价类
4.6.2 不相交集及其存储
4.6.3 不相交集的基本操作
 4.7 树和森林
4.7.1孩子兄弟表示法
 4.7.2树、森林与二叉树的转换
 4.7.3树和森林的遍历
 4.8 小结
 4.9 习题

第5章 图
 5.1 图的基本概念
 5.1.1 图的概念及术语
 5.1.2 图的抽象数据类型
 5.2 图的存储表示
 5.2.1邻接矩阵和加权邻接矩阵
 5.2.2邻接表
 5.2.3邻接多重表
 5.2.4 十字链表
5.3 图的遍历和连通性
5.3.1 深度优先遍历
 5.3.2 广度优先遍历
 5.3.3 图的连通性
5.4最小代价生成树
5.4.1普里姆(Prim)算法
5.4.2克鲁斯卡尔( Kruscal)算法
 5.5最短路径问题
 5.5.1单源最短路径
5.5.2 所有顶点对之间的最短路径
 5.6 AOV网和AOE网
 5.6.1拓扑排序
 5.6.2 关键路径
 5.7 小结
 5.8 习题

第6章 查找
6.1 静态查找技术
6.1.1 顺序查找
6.1.2 折半查找
6.1.3 插值查找
6.1.4 分块查找
 6.2 二叉查找树
 6.2.1二叉查找树的定义
 6.2.2基本操作实现
 6.2.3顺序统计
 6.3平衡二叉查找树(AVL树)
 6.3.1插入操作
 6.3.2删除操作
 6.3.3最大高度
 6.4红黑树
 6.4.1 插入操作
 6.4.2 删除操作
 6.5 B树和B+树
 6.5.1 B树
 6.5.2 B树的查找分析
 6.5.3 B树的插入
 6.5.4 B树的删除
 6.5.5 B+树
 6.6哈希(Hash)方法
 6.6.1常用的哈希函数
 6.6.2线性探测法
 6.6.3二次探测法
 6.6.4链地址法
 6.7 小结
 6.8 习题

第7章 排序
 7.1引言
 7.2冒泡排序
 7.3插入排序
 7.3.1简单插入排序
 7.3.2折半插入排序
 7.3.3希尔排序
 7.4 归并排序
 7.5快速排序
 7.6选择排序和堆排序
 7.6.1选择排序
 7.6.2堆排序
 7.6.3堆和优先队列
 7.7基数排序
 7.7.1多关键字排序
 7.7.2基数排序法
 7.8 内部排序算法的比较
 7.9 外排序
7.9.1 外排序处理过程
7.9.2 K路归并
 7.9.3 初始归并段
 7.9.4 最佳归并树
 7.10 小结
7.11 习题

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

上海交通大学副教授,曾获上海市优秀教材奖、上海市教学成果奖、上海交通大学烛光奖。主要讲授“数据结构”“程序设计”“计算引论”等课程,其中,“数据结构”课程被评国家级精品课程、“程序设计”课程被评上海市精品课程。

推荐用户

购买本书用户

相关图书

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