数据结构(Java版)

-
【作 者】孙琳 张宇
【I S B N 】978-7-5170-3618-0
【责任编辑】李炎
【适用读者群】本专通用
【出版时间】2015-10-16
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】284
【千字数】410
【印 张】17.75
【定 价】¥38
【丛 书】高等职业教育精品示范教材(电子信息课程群)
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书全面系统地介绍了数据结构的基础理论和算法设计方法,对常用的数据结构做了系统的介绍,并结合数据结构的应用以及算法性能评价等内容,进一步使读者理解数据抽象与编程实现的关系,提高用计算机解决实际问题的能力。主要内容包括:数据结构的基本概念、算法描述和算法分析初步、线性表、链表、栈、队列、串、数组、广义表、树、图、查找和排序的各种方法。
本书是用Java语言定义和实现数据结构及算法的,因此本书中第一章第一节简单介绍了Java编程语言。本书结构合理,内容丰富,算法描述清晰,便于自学,可作为高等院校计算机专业和其他相关专业的教材和参考书,也可供从事计算机软件开发的科技工作者参考。
全面系统地介绍了数据结构的基础理论和算法设计方法,对常用的数据结构做了系统的介绍,并结合数据结构的应用以及算法性能评价等内容,进一步使读者理解数据抽象与编程实现的关系,提高用计算机解决实际问题的能力。
编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性,在数据结构的实现上更好地运用了Java语言,并且自始至终强调以面向对象的方式来思考、分析和解决问题。
本书注重理论联系实际,注重基本知识的传授与基本技能的培养。所有算法均使用Java语言实现,并通过测试运行。本书还提供了丰富的教辅材料,内容包括PPT、源代码、课后上机实训、习题解答等,非常适合作为数据结构的教学用书。
“数据结构”是计算机专业的重要基础课,是该专业的核心课程之一,它是一门集技术性、理论性和实践性于一体的课程。Java是现今一种热门的语言,本书在编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性。本书在数据结构的实现上更好地运用了Java语言,并且自始至终强调以面向对象的方式来思考、分析和解决问题。
本书在编写过程中特别考虑到了Java与对象,Java语言是完全面向对象的、简单高效、与平台无关、支持多线程、具有安全性和健壮性等特点,为教师和学生提供了一种精心设计并经过教学检验的方式,借助Java讲授ADT和对象。本书教给学生如何使用线性表、词典、栈、队列等来组织数据。利用这些数据组织方式,学生们将学到算法设计的相关技术。
本书共9章。第1章简单介绍Java语言,阐述数据、数据结构和算法等基本概念。第2章至第7章分别讨论线性表、链表、栈、队列、串、数组、广义表、树以及图的基本数据结构及应用。本书第9章排序给出了多种经典排序方法,全部是用Java语言描述编写,并经过测试运行。
本书注重理论联系实际,注重基本知识的传授与基本技能的培养。本书还提供了丰富的教辅材料,内容包括PPT、源代码、课后上机实训、习题解答等,非常适合作为数据结构的教学用书。
本书由孙琳、张宇担任主编,肖奎、胡双、董宁任副主编,其中第1、2章由胡双编写,第3、4章由肖奎编写、第5、6章由张宇编写,第7、8、9章由孙琳和董宁编写。全书由罗炜主审。李礼、余璐、计菲、夏杰等几位老师提供了丰富的案例与实践素材,并参与部分章节的编写,在此一并表示感谢!
本书编写过程中参考了许多作者的大量文献资料和国内外优秀教材,中国水利水电出版社对本书的出版给与了大力支持和帮助,作者在此一并致以诚挚的谢意。
由于编写时间紧张,编者水平有限,难免存在疏漏,敬请读者批评指证。
编 者
2015年6月
前言
第1章 绪论 1
1.1 Java简介 1
1.1.1 Java编程语言 1
1.1.2 Java虚拟机 2
1.2 数据结构概述 2
1.2.1 学习数据结构的必要性 2
1.2.2 什么是数据结构 3
1.2.3 基本概念和术语 4
1.2.4 数据的逻辑结构 5
1.2.5 数据的存储结构 7
1.3 算法的描述和算法分析 8
1.3.1 算法的描述 8
1.3.2 影响算法效率的因素 9
1.3.3 算法效率的评价 10
1.3.4 算法的存储空间需求 12
本章小结 13
上机实训 14
习题 15
第2章 线性表 17
2.1 线性表的逻辑结构 17
2.2 线性表的顺序存储结构 19
2.2.1 线性表的顺序存储结构 19
2.2.2 线性表在顺序存储结构下的运算 20
2.3 线性表的链式存储 25
2.3.1 单向链表 25
2.3.2 循环链表 33
2.3.3 双向链表 34
2.4 一元多项式的表示及相加 41
本章小结 47
上机实训 47
习题 48
第3章 栈和队列 49
3.1 栈 49
3.1.1 栈的定义及其运算 49
3.1.2 栈的顺序存储结构 51
3.1.3 栈的链式存储结构 55
3.2 队列 60
3.2.1 队列的定义及其运算 60
3.2.2 队列的顺序存储结构 61
3.2.3 队列的链式存储结构 71
本章小结 76
上机实训 76
习题 77
第4章 串 78
4.1 串的基本概念 78
4.1.1 串的定义 78
4.1.2 主串和子串 79
4.2 串的存储结构 79
4.3 串的基本运算及其实现 80
4.3.1 字符串的基本运算 80
4.3.2 串的基本运算实现 83
4.4 文本编辑 89
本章小结 90
上机实训 91
习题 91
第5章 多维数组和广义表 92
5.1 多维数组的概念 92
5.2 多维数组的存储结构 93
5.2.1 行优先顺序存储 94
5.2.2 列优先顺序存储 94
5.3 特殊矩阵及其压缩存储 95
5.3.1 特殊矩阵 95
5.3.2 压缩存储 97
5.4 稀疏矩阵 99
5.4.1 稀疏矩阵的存储 99
5.4.2 稀疏矩阵的运算 117
5.5 广义表 123
5.5.1 广义表的定义和性质 123
5.5.2 广义表的存储结构 124
5.5.3 广义表的基本运算 127
本章小结 136
上机实训 137
习题 137
第6章 树 139
6.1 树的结构定义与基本操作 139
6.1.1 树的定义 139
6.1.2 树的存储结构 140
6.1.3 树的广义表表示 141
6.2 二叉树 141
6.2.1 二叉树的定义 141
6.2.2 二叉树的性质 142
6.2.3 二叉树的存储结构 144
6.2.4 二叉树类定义 145
6.2.5 树与二叉树的相互转换 146
6.3 二叉树的遍历 147
6.3.1 先序(根)遍历 148
6.3.2 中序(根)遍历 148
6.3.3 后序(根)遍历 149
6.3.4 层次遍历 149
6.4 线索二叉树 153
6.4.1 线索二叉树的定义 154
6.4.2 中序线索二叉树 159
6.5 二叉排序树 163
6.5.1 二叉排序树的定义 163
6.5.2 二叉排序树的生成 164
6.5.3 删除二叉排序树上的结点 165
6.6 哈夫曼树和哈夫曼算法 165
6.6.1 哈夫曼树的定义 165
6.6.2 构造哈夫曼树—哈夫曼算法 167
6.6.3 哈夫曼树的应用 168
本章小结 170
上机实训 171
习题 171
第7章 图的基本知识 172
7.1 图的基本知识 172
7.1.1 图的定义 172
7.1.2 图的相关术语 173
7.1.3 图的基本操作 177
7.2 图的存储结构 177
7.2.1 邻接矩阵 177
7.2.2 邻接表 179
7.3 图的遍历 180
7.3.1 深度优先搜索遍历 180
7.3.2 广度优先搜索遍历 182
7.4 最小生成树 187
7.5 最短路径 197
7.5.1 单源点最短路径 198
7.5.2 所有顶点对之间的最短路径 204
7.6 拓扑排序 211
本章小结 213
上机实训 213
习题 214
第8章 查找 216
8.1 查找的基本概念 216
8.2 静态查找表 218
8.2.1 顺序查找 218
8.2.2 折半查找 220
8.2.3 分块查找 225
8.3 动态查找表 226
8.4 哈希表 231
8.4.1 哈希表和哈希函数的定义 231
8.4.2 哈希函数的构造方法 233
8.4.3 处理冲突的方法 235
本章小结 240
上机实训 240
习题 240
第9章 排序 242
9.1 排序基本概念 242
9.2 插入排序 244
9.2.1 直接插入排序 244
9.2.2 折半插入排序 247
9.2.3 希尔排序 247
9.3 交换排序 248
冒泡排序 248
9.4 堆排序 250
9.5 快速排序 256
9.6 归并排序 260
9.7 基数排序 263
9.8 外部排序 265
9.9 各种排序方法的比较 266
本章小结 269
上机实训 269
习题 269
参考文献 271
- 信息技术基础(麒麟操作系统+WPS Office) [主编 芮雪 蒋莉 王亮亮]
- Office高级应用项目式教程(第2版) [主编 李观金 张倩文 黎夏克 ]
- 巧用翻译学英语:英汉互译500例 [王学文 著]
- 高等教育多维评价体系构建与高质量发展研究 [张妍 著]
- 系统规划与管理师章节习题与考点特训(第二版) [主编 薛大龙]
- 计算机操作系统实践指导(openEuler版) [主编 秦光 曾陈萍 岳付强]
- 信息系统管理工程师真题及模考卷精析(适用机考) [主 编 薛大龙 程 刚 上官绪]
- 航海类院校体育教育教学研究 [张利超 李宁 著]
- 新时代背景下我国职业教育产教融合长效机制建设研究 [王玉贤 著]
- 电路分析 [主编 李飞 毛先柏]
- 信息系统管理工程师(适用第2版大纲)一站通关 [指尖疯 编著]
- 传统山水画论解读与实践 [陈钠 著]
- 网络工程师备考一本通(适配第6版考纲) [夏杰 编著]
- 陈孝云的职教理想与情怀 [祝吉太 江传瑞 张义廷 著]
- 地方本科院校电子信息学科课程思政案例集 [王甫]
- Excel数据处理与分析(第二版) [主编 张志明 邹 蕾]
- 网络工程师5天修炼(适配第6版考纲) [主编 朱小平 施游]
- 仓储管理实务(第二版) [周宁武 编著]
- 基于AE与C#的地理信息系统二次开发 [李小根 贾艳昌 乔翠平 姜彤 ]
- 2023年长沙市文化和旅游业发展报告 [主编 陈莉]
- 舞台化妆造型设计 [主编 刘思彤 张 涛 张忆雨]
- 产教融合视角高校体育专业实践教学体系构建研究 [杨柳青 叶华兵 著]
- 知识图谱及应用案例 [张善文 黄文准 于长青 陈明淑]
- Python程序设计案例教程(微课版) [主编 石利平 田辉平 余以胜]
- 皓月繁星:青少年儿童心理成长手册 [主 编 林赞歌 副主编 杜志南]
- 材料力学 [章宝华 赵新胜 徐斌]
- 系统集成项目管理工程师考试32小时通关(第3版) [主编 薛大龙 副主编 上官绪阳]
- 软考论文高分特训与范文10篇——系统分析师(第二版) [薛大龙 邹月平 施游]
- 黄河海勃湾水利枢纽防凌安全运行 [王战领 王丛发 范瑜彬 著]
- 大学生心理健康教育 [方雄 著]