数据结构与算法(Java版)(第5版)
¥
22.13
3.7折
¥
59.8
全新
仅1件
作者叶核亚 著
出版社电子工业出版社
出版时间2020-08
版次5
装帧其他
上书时间2024-11-18
商品详情
- 品相描述:全新
图书标准信息
-
作者
叶核亚 著
-
出版社
电子工业出版社
-
出版时间
2020-08
-
版次
5
-
ISBN
9787121393051
-
定价
59.80元
-
装帧
其他
-
开本
16开
-
页数
360页
-
字数
572千字
- 【内容简介】
-
本书是“十二五”普通高等教育本科国家级规划教材,也是“十三五”江苏省高等学校重点教材。本书全面系统地介绍数据结构的基础理论和算法设计方法,包括线性表、树、图等数据结构以及查找和排序算法,采用Java语言以面向对象方法设计并实现了这些数据结构及算法。本书精选基础理论内容,重点突出数据结构设计和算法设计,内容涉及的广度和深度符合计算机专业本科的培养目标。通过降低理论难度和抽象性、增强实际应用、强化实践环节等措施,展现“理论基础厚实,采用面向对象程序设计思想,加强工程应用能力培养”的鲜明特色,从而达到增强学生的理解能力和培养应用能力的教学目标。本书配套教学资源齐全。本书可作为普通高等学校计算机及相近专业本科的数据结构、算法课程教材,也可作为从事计算机软件开发和工程应用人员的参考书。
- 【作者简介】
-
叶核亚,女,南京工程学院计算机工程学院教师,毕业于南京大学。多年来一直教授"Java程序设计”、"数据结构”等课程,编写的教材荣获普通高等教育"十一五”国家级规划教材、”十二五"普通高等教育本科国家级规划教材等。
- 【目录】
-
目 录
第1章 绪论1
1.1 数据结构的基本概念1
1.1.1 为什么要学习数据结构1
1.1.2 什么是数据结构2
1.1.3 数据类型与抽象数据类型5
1.2 算法9
1.2.1 什么是算法9
1.2.2 算法分析11
1.2.3 算法设计与实现13
习题116
实验1 算法设计与分析17
第2章 线性表18
2.1 线性表的定义及抽象数据类型18
2.2 线性表的顺序存储结构和实现20
2.2.1 线性表的顺序存储结构20
2.2.2 顺序表类的设计及应用21
2.3 线性表的存储和实现32
2.3.1 线性表的链式存储结构32
2.3.2 单链表33
2.3.3 循环双链表43
2.4 排序线性表的存储和实现46
2.4.1 比较对象大小的方法46
2.4.2 排序顺序表48
2.4.3 排序单链表54
2.5 线性表的应用:多项式的存储和运算55
2.5.1 一元多项式的存储和运算55
2.5.2 二元多项式的存储和运算60
习题262
实验2 线性表的基本操作63
第3章 字符串65
3.1 字符串抽象数据类型65
3.2 字符串的顺序存储结构和实现67
3.2.1 常量字符串67
3.2.2 变量字符串75
3.3 字符串的模式匹配79
3.3.1 Brute-Force模式匹配算法80
3.3.2 模式匹配应用82
3.3.3 KMP模式匹配算法84
习题390
实验3 字符串的基本操作和模式匹配算法91
第4章 栈、队列和递归94
4.1 栈94
4.1.1 栈的定义及抽象数据类型94
4.1.2 栈的存储结构和实现95
4.1.3 栈的应用97
4.2 队列105
4.2.1 队列的定义及抽象数据类型105
4.2.2 队列的存储结构和实现106
4.2.3 队列的应用111
4.2.4 优先队列112
4.3 递归114
习题4120
实验4 栈、队列和递归算法120
第5章 数组和广义表124
5.1 数组124
5.2 特殊矩阵的压缩存储129
5.2.1 三角矩阵、对称矩阵和对角矩阵的压缩存储129
5.2.2 稀疏矩阵的压缩存储131
5.3 广义表141
5.3.1 广义表定义及抽象数据类型141
5.3.2 广义表的存储结构和实现143
习题5148
实验5 矩阵和广义表的存储和运算149
第6章 二叉树151
6.1 二叉树概述151
6.1.1 二叉树的定义、性质及抽象数据类型151
6.1.2 二叉树的存储结构154
6.1.3 二叉树的二叉链表实现155
6.2 树169
6.2.1 树的定义及抽象数据类型169
6.2.2 树的存储结构171
6.2.3 树/森林的父母孩子兄弟链表实现172
6.3 二叉树应用176
6.3.1 Huffman树176
6.3.2 表达式二叉树185
习题6189
实验6 二叉树和树的基本操作191
第7章 图194
7.1 图的概念和抽象数据类型194
7.2 图的存储结构和实现201
7.2.1 抽象图类,存储顶点集合201
7.2.2 图的邻接矩阵存储结构和实现202
7.2.3 图的邻接表存储结构和实现207
7.2.4 图的邻接多重表存储结构212
7.3 图的遍历212
7.3.1 图的深度优先遍历213
7.3.2 图的广度优先遍历216
7.4 最小生成树218
7.5 最短路径222
7.5.1 单源最短路径223
7.5.2** 每对顶点间的最短路径227
习题7230
实验7 图的存储结构和操作算法231
第8章 查找234
8.1 查找基础234
8.1.1 查找概述234
8.1.2 二分法查找237
8.2 索引239
8.2.1 分块与索引239
8.2.2 静态索引241
8.2.3 动态索引245
8.3 散列表246
8.4 二叉排序树和平衡二叉树251
8.4.1 二叉排序树251
8.4.2 二叉树采用三叉链表存储结构258
8.4.3** 平衡二叉树259
8.5 映射262
8.5.1 映射的定义及接口262
8.5.2 散列映射264
8.5.3 树映射266
习题8269
实验8 集合和映射的数据结构设计和查找算法设计270
第9章 排序274
9.1 插入排序274
9.1.1 直接插入排序274
9.1.2 希尔排序276
9.2 交换排序278
9.2.1 冒泡排序278
9.2.2 快速排序280
9.3 选择排序282
9.3.1 直接选择排序282
9.3.2 堆排序283
9.4 归并排序286
9.5 线性表的排序算法288
9.5.1 顺序表的排序算法289
9.5.2 单链表的排序算法289
9.5.3 循环双链表的排序算法292
习题9293
实验9 排序算法设计294
第10章 综合应用设计296
10.1 Java集合框架296
10.1.1 Arrays数组类296
10.1.2 集合297
10.1.3 映射304
10.2 实现迭代器305
10.2.1 设计基于迭代器的通用操作305
10.2.2 提供迭代器的类307
10.3 算法设计策略309
10.3.1 分治法309
10.3.2 动态规划法311
10.3.3 贪心法313
10.3.4 回溯法323
10.4 课程设计的目的、要求和选题337
附录A ASCII字符与Unicode值340
附录B Java关键字341
附录C Java基本数据类型342
附录D Java运算符及其优先级343
附录E Java类库(部分)344
E.1 java.lang语言包344
E.2 java.util实用包347
附录F MyEclipse常用菜单命令349
参考文献350
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价