数据结构

出版时间:2011-6  出版社:清华大学出版社  作者:王红梅,胡明,王涛 编著  页数:293  

内容概要

数据结构是计算机专业教学计划中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目。要从事和计算机科学与技术相关的工作,尤其是计算机应用领域的开发和研制工作,必须具备坚实的数据结构基础。在本书第1版成功的基础上,作者进行了修订,作为第2版,本书内容更贴合《计算机学科专业硕士研究生入学考试基础综合考试大纲》,可读性和实用性更强。
王红梅、胡明、王涛编著的《数据结构(C++版)(第2版)》介绍了数据结构、算法以及抽象数据类型的概念,介绍了线性表、栈、队列和串、数组、树和二叉树、图等常用数据结构,讨论了常用的查找、排序和索引技术,给出了较多的数据结构的应用实例。限于篇幅,把贯穿所有数据结构的综合案例放在了网站上,供读者下载。
《数据结构(C++版)(第2版)》内容丰富,层次清晰,讲解深入浅出,可作为计算机及相关专业本、专科数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读、参考。

书籍目录

第1章 绪论
1.1 数据结构在程序设计中的作用
1.2 本书讨论的主要内容
1.3 数据结构的基本概念
1.3.1 数据结构
1.3.2 抽象数据类型
1.4 算法及算法分析
1.4.1 算法及其描述方法
1.4.2 算法分析
思想火花——好算法是反复努力和重新修正的结果
习题
思考题
第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.3.3 双链表
2.4 顺序表和链表的比较
2.4.1 时间性能比较
2.4.2 空间性能比较
2.5 线性表的其他存储方法
2.5.1 静态链表
2.5.2 间接寻址
2.6 应用举例
2.6.1 顺序表的应用举例——大整数求和
2.6.2 单链表的应用举例——一元多项式求和
思想火花——好程序要能识别和处理各种输入
习题
思考题
第3章 栈和队列
3.1 栈
3.1.1 栈的逻辑结构
3.1.2 栈的顺序存储结构及实现
3.1.3 栈的链接存储结构及实现
3.1.4 顺序栈和链栈的比较
3.2 队列
3.2.1 队列的逻辑结构
3.2.2 队列的顺序存储结构及实现
3.2.3 队列的链接存储结构及实现
3.2.4 循环队列和链队列的比较
3.3 应用举例
3.3.1 栈的应用举例——表达式求值
3.3.2 队列的应用举例——火车车厢重排
思想火花——直觉可能是错误的
习题
思考题
第4章 字符串和多维数组
4.1 字符串
4.1.1 字符串的定义
4.1.2 字符串的存储结构
4.1.3 模式匹配
4.2 多维数组
4.2.1 数组的定义
4.2.2 数组的存储结构与寻址
4.3 矩阵的压缩存储
4.3.1 对称矩阵的压缩存储
4.3.2 三角矩阵的压缩存储
4.3.3 对角矩阵的压缩存储
4.3.4 稀疏矩阵的压缩存储
4.4 应用举例
4.4.1 字符串的应用举例——凯撒密码
4.4.2 数组的应用举例——幻方
思想火花——用常识性的思维去思考问题
习题
思考题
第5章 树和二叉树
5.1 树的逻辑结构
5.1.1 树的定义和基本术语
5.1.2 树的抽象数据类型定义
5.1.3 树的遍历操作
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.3.4 二叉树的遍历操作
5.4 二叉树的存储结构及实现
5.4.1 顺序存储结构
5.4.2 二叉链表
5.4.3 三叉链表
5.4.4 线索链表
5.5 二叉树遍历的非递归算法
5.5.1 前序遍历非递归算法
5.5.2 中序遍历非递归算法
5.5.3 后序遍历非递归算法
5.6 树、森林与二叉树的转换
5.7 应用举例
5.7.1 二叉树的应用举例——哈夫曼树及哈夫曼编码
5.7.2 树的应用举例——八枚硬币问题
思想火花——调试程序与魔术表演
习题5
思考题5
第6章 图
6.1 图的逻辑结构
6.1.1 图的定义和基本术语
6.1.2 图的抽象数据类型定义
6.1.3 图的遍历操作
6.2 图的存储结构及实现
6.2.1 邻接矩阵
6.2.2 邻接表
6.2.3 十字链表
6.2.4 邻接多重表
6.2.5 邻接矩阵和邻接表的比较
6.3 最小生成树
6.3.1 MST性质
6.3.2 Prim算法
6.3.3 Kruskal算法
6.4 最短路径
6.4.1 Dijkstra算法
6.4.2 Floyd算法
6.5 有向无环图及其应用
6.5.1 AOV网与拓扑排序
6.5.2 AOE网与关键路径
6.6 应用举例
6.6.1 图的应用举例1——七桥问题
6.6.2 图的应用举例2——七巧板涂色
思想火花——数据模型在问题求解中的作用
习题6
思考题6
第7章 查找技术
7.1 概述
7.1.1 查找的基本概念
7.1.2 查找算法的性能
7.2 线性表的查找技术
7.2.1 顺序查找
7.2.2 折半查找
7.3 树表的查找技术
7.3.1 二叉排序树
7.3.2 平衡二叉树
7.4 散列表的查找技术
7.4.1 概述
7.4.2 散列函数的设计
7.4.3 处理冲突的方法
7.4.4 散列查找的性能分析
7.4.5 开散列表与闭散列表的比较
思想火花——把注意力集中于主要因素,不要纠缠于噪声
习题7
思考题7
第8章 排序技术
8.1 概述
8.1.1 排序的基本概念
8.1.2 排序算法的性能
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希尔排序
8.3 交换排序
8.3.1 起泡排序
8.3.2 快速排序
8.4 选择排序
8.4.1 简单选择排序
8.4.2 堆排序
8.5 归并排序
8.5.1 二路归并排序的非递归实现
8.5.2 二路归并排序的递归实现
8.6 分配排序
8.6.1 桶式排序
8.6.2 基数排序
8.7 各种排序方法的比较
思想火花——学会“盒子以外的思考”
习题8
思考题8
第9章 索引技术
9.1 索引的基本概念
9.2 线性索引技术
9.2.1 稠密索引
9.2.2 分块索引
9.2.3 多重表
9.2.4 倒排表
9.3 树形索引
9.3.1 2-3树
9.3.2 B_树
9.3.3 B+树
思想火花——随处可见的索引
习题9
附录A 预备知识
A.1 数学术语
A.2 级数求和
A.3 集合
A.4 关系
附录B C++语言基本语法
B.1 程序结构
B.2 数据类型
B.3 控制语句
B.4 输入与输出
B.5 动态存储分配
B.6 函数
B.7 类与对象
B.8 模板
B.9 异常处理
附录C 词汇索引
参考文献

章节摘录

版权页:插图:1.4.2 算法分析可能有人认为,随着计算机功能的日益强大,程序的运行效率变得越来越不那么重要了。然而,计算机功能越强大,人们就越想去尝试更复杂的问题,而更复杂的问题需要更大的计算量。实际上,我们不仅需要算法,而且需要“好”算法。以破解密码的算法为例,理论上,通过穷举法列出所有可能的输入字符的组合情况可以破解任何密码。但是,如果密码较长或组合情况太多,这个破解算法就需要很长时间,可能几年、十几年甚至更多,这样的算法显然没有实际意义。所以,在选择和设计算法时要有效率的观念,这一点比提高计算机本身的速度更为重要。1.度量算法效率的方法如何度量一个算法的效率呢?一种方法是事后统计的方法,先将算法实现,然后输入适当的数据运行,测算其时间和空间开销。事后统计的方法至少有以下缺点:编写程序实现算法将花费较多的时间和精力;②所得实验结果依赖于计算机的软硬件等环境因素,有时容易掩盖算法本身的优劣。通常我们采用事前分析估算的方法——渐进复杂度,它是对算法所消耗资源的一种估算方法。

编辑推荐

《普通高校本科计算机专业特色教材精选·算法与程序设计:数据结构(C++版)(第2版)》定位准确,合理规划教学内容。能够抓牢核心概念,提炼基础性内容,侧重工程实践,减少形式化描述,注重算法设计与程序实现。本教材能够结合教学对象分析课程特点,根据学生的认知规律,按照从已知到未知的思维进程逐步推进教学内容,知识单元的拓扑结构安排合理,主线清晰。针对数据结构内容抽象的特点,全书共设计了250多个插图,大量的插图将抽象的内容进行了具体化处理,降低了理解问题的复杂性。数据结构的实现需要较强的C++语言的应用能力,《普通高校本科计算机专业特色教材精选·算法与程序设计:数据结构(C++版)(第2版)》的抽象数据类型用“类+结构体”的形式实现,既解释了数据结构的本质内容,又简化了程序设计。《普通高校本科计算机专业特色教材精选·算法与程序设计:数据结构(C++版)(第2版)》第1版自出版以来,国内有近100所院校将《普通高校本科计算机专业特色教材精选·算法与程序设计:数据结构(C++版)(第2版)》作为主讲教材。在第1版成功的基础上,作者不断锐化思想、总结经验,在教学思想、课程结构、教材内容、教材体例、表述方式等方面进一步探索和实践,形成了第2版。定位准确,合理规划教学内容。能够抓牢核心概念,提炼基础性内容,侧重工程实践,减少形式化描述,注重算法设计与程序实现。遵循认知规律,理清教学主线。能够结合教学对象分析课程特点,根据学生的认知规律,按照从已知到未知的思维进程逐步推进教学内容,知识单元的拓扑结构安排合理,主线清晰。以知识为载体,注重能力培养。能够注意引导思维,通过讲思路讲过程讲方法,展现问题的求解过程。分析难点,针对处理。针对数据结构内容抽象的特点,全书共设计了250多个插图,大量的插图将抽象的内容进行了具体化处理,降低了理解问题的复杂性,使本教材做到“教师易教,学生易学”。立体化教材保证教学的有效实施。中国大学出版社图书奖优秀教材一等奖。

图书封面

评论、评分、阅读与下载


    数据结构 PDF格式下载


用户评论 (总计56条)

 
 

  •   很好呀!这个版本的数据结构很详细也很容易懂!不错!是上课用的教材!
  •   这本书是学c++版本的数据结构必备的书籍,和严蔚敏的c语言版本的有同等效应。好书。。
  •   书本中不仅有习题答案每章节还有配套课本的重难点解析,与数据结构一起看效果更好。
  •   这本数据结构的书 感觉编的蛮好的 知识点明确 有课后练习 还罗列出了重难点 同时有对应的例题 所以还蛮推荐的
  •   普通高校本科计算机专业特色教材精选
  •   分析的比较具体,比严版好理解。
  •   最短路Dijkstra算法有点小问题吧??
  •   书很好,内容详实,推荐学C++的购买。
  •   这是一本教材,老师一边上课一边看着可以
  •   基础必读之书啊
  •   快递慢了点儿,不是按网站应到日期,晚了一天,第一次在当当买书,挺满意的,继续加油~~
  •   讲解详细,都有代码,只是代码有些须自己修改的。
  •   这本书真心不错,推荐给大家
  •   这本书很新,看纸张的质量和印刷的效果就知道是正版
  •   上课指定用书,真不错的书!
  •   邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快邮递很快
  •   其实就是打酱油的书,只有自己用心看才有用,不然都白买啊,加油吧!!
  •   hao ...........
  •   感觉很好,下次还要**当
  •   正品,符合我的要求,真心满意愉快的购买体验,减了50无压力
  •   刚到手,还没看,呵呵。。
  •   书挺好的 帮同学买的
  •   立体化,好用
  •   这书还行,至少质量不错
  •   建议初学者使用
  •   图书质量好,发货速度快,很好。。。。
  •   书是正版,快递发来也快,不错
  •   书的质量不错,最赞的是发货速度,还有物流,上午定下午就到了
  •   质量不错 快递很快
  •   不错哦,很好!!!!!!!!
  •   买的课本,非常不错,挺好的
  •   Good to see it !!!
  •   书籍编排还是不错的,不过我还是喜欢之前的那本C的数据结构与算法分析
  •   我们用的教材内容挺详细的,不错
  •   没什么优惠的啊。内容挺简洁的
  •   发货很慢,等了好长时间,而且书很旧,但是内容不错。。。。。
  •   该书比较适合一般院校的本科学生
  •   学校呆着没事换什么教材啊 大三的就是学的这本 买来发现这学期不学这个了 唉 忍了不退了 太麻烦
  •   基础学习。
  •   实验指导里的例题有点少,源程序都挺简单。希望给些复杂的例题,能更加深刻理解所学东西。
  •   因为之前已经学过C++,对完善自己的知识很有帮助。
  •   买了没看的
  •   可以啦,可以的,不错的,十字评论哟
  •   书还好,就是关于编程方面的少了点,有习题
  •   该书的内容还不错,很适合刚学的同学,但书里面的纸张就很一般。
  •   应该会不错,还没看
  •   书页偏黄,我很生气,第一次在当当买东西
  •   写得太肤浅,说的都是定义之类,目录看上去好,但内容没什么价值
  •   用来专插本的,没怎么看过
  •   适合初学者,简单,大量代码。
  •   数据结构部分内容详尽,每章的应用题有水平。算法设计部分,匆匆看完,无法评价
  •   C++版的数据结构,学习C++时参照着看不错。
  •   没什么好说的 的了 反正都没看过内容,给四吧!
  •   不错,发货速度蛮快的,书的质量也不错
  •   是想要买的,里面讲解很详细
  •   好好学习天天想上
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7