数据结构与算法(第二版) 刘震 林劼 陈端兵 戴波 主编 高等学校计算机技术类课程规划教材 北京大学出版社
¥46.00
| 运费: | ¥ 3.00-18.00 |
商品详情
书名:数据结构与算法(第二版)
定价:59.0
ISBN:9787301370117
作者:刘震,林劼,陈端兵,戴波 主编
版次:2
出版时间:2026-06
内容提要:
作者简介:
刘震,电子科技大学计算机科学与工程学院副教授,中国计算机学会高级会员。2014年获得中国计算机学会自然科学奖二等奖。主持和参与国家、省部级项目10余项;作为第一作者或通讯作者在国际期刊和国际会议发表学术论文50余篇。
林劼,电子科技大学计算机软件与工程学院副教授,参与多项省部级教学改革项目,发表论文多篇,出版教材多部。
陈端兵,电子科技大学计算机科学与工程学院教授,主持或参与项目20余项,发表论文100余篇,合作出版专著1部、译著1部、教材2部,授权发明专利3项。
戴波,电子科技大学计算机软件与工程学院副教授,参与多项省部级教改项目,发表论文多篇,出版教材4部。
目录:
第 1 章 绪论 …………………………………………………………………………………… 1
1. 1 数据结构与算法的发展简史 ……………………………………………………… 1
1. 2 利用计算机求解问题的一般过程 ………………………………………………… 2
1. 3 数据结构的基本概念和术语 ……………………………………………………… 4
1. 3. 1 数据的基本特性 …………………………………………………………… 4
1. 3. 2 数据的逻辑结构 …………………………………………………………… 6
1. 3. 3 数据的存储结构 …………………………………………………………… 7
1. 3. 4 数据结构的定义 …………………………………………………………… 8
1. 3. 5 数据类型 …………………………………………………………………… 8
1. 3. 6 抽象数据类型的含义与表示形式 ………………………………………… 8
1. 4 算法的概念、基本性质和设计算法的一般规则 …………………………………… 9
1. 4. 1 算法的概念 ………………………………………………………………… 9
1. 4. 2 算法的基本性质 ………………………………………………………… 10
1. 4. 3 设计算法的一般规则 …………………………………………………… 10
1. 5 算法的复杂度分析 ………………………………………………………………… 11
1. 6 本章小结 …………………………………………………………………………… 13
1. 7 思考与练习 ………………………………………………………………………… 13
第 2 章 线性结构 …………………………………………………………………………… 15
2. 1 项目指引 …………………………………………………………………………… 15
项目 1 电话号码本 ……………………………………………………………… 15
项目 2 迷宫寻路 ………………………………………………………………… 15
项目 3 自助交易平台 …………………………………………………………… 15
项目 4 电话号码本的快速查找 ………………………………………………… 16
2. 2 基础知识 …………………………………………………………………………… 16
2. 2. 1 线性表 …………………………………………………………………… 16
2. 2. 2 特殊线性表 ……………………………………………………………… 42
2. 2. 3 线性表的查找算法 ……………………………………………………… 57
2. 2. 4 线性表的排序算法 ……………………………………………………… 69
2. 3 项目实战(任务解答) ……………………………………………………………… 79
项目 1 电话号码本 ……………………………………………………………… 80
项目 2 迷宫寻路 ………………………………………………………………… 85
项目 3 自助交易平台 …………………………………………………………… 88
项目 4 电话号码本的快速查找 ………………………………………………… 90
2. 4 线性结构的其他应用 ……………………………………………………………… 93
2. 4. 1 线性表的简单应用 ……………………………………………………… 93
2. 4. 2 栈的简单应用 …………………………………………………………… 98
2. 5 本章小结 ………………………………………………………………………… 104
2. 6 思考与练习 ……………………………………………………………………… 105
第 3 章 递归与分治 ………………………………………………………………………… 112
3. 1 项目指引 ………………………………………………………………………… 112
项目 1 查找和排序问题………………………………………………………… 112
项目 2 汉诺塔问题……………………………………………………………… 114
项目 3 大整数乘法问题………………………………………………………… 114
项目 4 分形问题………………………………………………………………… 115
3. 2 基础知识 ………………………………………………………………………… 118
3. 2. 1 递归的概念 ……………………………………………………………… 118
3. 2. 2 递归与迭代的区别 ……………………………………………………… 119
3. 2. 3 递归与栈的关系 ………………………………………………………… 119
3. 2. 4 分治的原理 ……………………………………………………………… 120
3. 3 项目实战(任务解答) …………………………………………………………… 123
项目 1 查找和排序问题………………………………………………………… 123
项目 2 汉诺塔问题……………………………………………………………… 131
项目 3 大整数乘法问题………………………………………………………… 133
项目 4 分形问题………………………………………………………………… 136
3. 4 本章小结 ………………………………………………………………………… 139
3. 5 思考与练习 ……………………………………………………………………… 139
第 4 章 树 …………………………………………………………………………………… 141
4. 1 项目指引 ………………………………………………………………………… 141
项目 1 查找与排序问题………………………………………………………… 141
项目 2 压缩编码问题…………………………………………………………… 141
项目 3 频繁模式挖掘问题……………………………………………………… 142
项目 4 迷宫生成问题…………………………………………………………… 142
4. 2 基础知识 ………………………………………………………………………… 142
4. 2. 1 二叉树、树及森林的基本概念 ………………………………………… 142
4. 2. 2 二叉树的基本性质 ……………………………………………………… 145
4. 2. 3 二叉树、树及森林的存储结构 ………………………………………… 147
4. 2. 4 二叉树、树及森林的基本操作 ………………………………………… 153
4. 3 项目实战 ………………………………………………………………………… 162
项目 1 查找与排序问题………………………………………………………… 162
项目 2 压缩编码问题…………………………………………………………… 191
项目 3 频繁模式挖掘问题……………………………………………………… 196
项目 4 迷宫生成问题…………………………………………………………… 204
4. 4 本章小结 ………………………………………………………………………… 209
4. 5 思考与练习 ……………………………………………………………………… 209
第 5 章 图与贪心算法 ……………………………………………………………………… 213
5. 1 项目指引 ………………………………………………………………………… 213
路由协议设计 …………………………………………………………………… 213
5. 2 基础知识 ………………………………………………………………………… 214
5. 2. 1 图 ………………………………………………………………………… 214
5. 2. 2 贪心算法 ………………………………………………………………… 228
5. 3 项目实战(任务解答) …………………………………………………………… 232
路由协议设计 …………………………………………………………………… 232
5. 4 更多案例 ………………………………………………………………………… 242
5. 4. 1 高速公路建设问题 ……………………………………………………… 242
5. 4. 2 项目工作流程规划问题 ………………………………………………… 251
5. 4. 3 其他图应用举例 ………………………………………………………… 261
5. 5 本章小结 ………………………………………………………………………… 265
5. 6 思考与练习 ……………………………………………………………………… 266
第 6 章 动态规划 …………………………………………………………………………… 268
6. 1 项目指引 ………………………………………………………………………… 268
项目 1 实验报告防抄袭小系统设计…………………………………………… 268
项目 2 路由协议设计…………………………………………………………… 268
6. 2 基础知识 ………………………………………………………………………… 269
6. 2. 1 动态规划简介 …………………………………………………………… 269
6. 2. 2 动态规划算法的基本设计思想 ………………………………………… 270
6. 2. 3 动态规划要素 …………………………………………………………… 277
6. 3 项目实战(任务解答) …………………………………………………………… 279
项目 1 实验报告防抄袭小系统设计…………………………………………… 279
项目 2 路由协议设计…………………………………………………………… 285
6. 4 更多案例 ………………………………………………………………………… 289
6. 4. 1 “0 - 1”背包问题………………………………………………………… 289
6. 4. 2 装配线调度问题 ………………………………………………………… 292
6. 4. 3 权重化的活动安排问题 ………………………………………………… 296
6. 5 贪心算法与动态规划算法的差异 ……………………………………………… 298
6. 6 本章小结 ………………………………………………………………………… 300
6. 7 思考与练习 ……………………………………………………………………… 300
参考书目 ……………………………………………………………………………………… 303
定价:59.0
ISBN:9787301370117
作者:刘震,林劼,陈端兵,戴波 主编
版次:2
出版时间:2026-06
内容提要:

本书详细介绍了数据结构与算法分析的核心内容,其中,数据结构知识包括数据结构概述、线性数据结构、树数据结构、图数据结构、查找与排序等;算法知识包括算法分析与设计概述、算法复杂度分析、分治与递归算法、贪心算法、动态规划算法。
本书采用项目驱动的知识组织方式,每章都用具体案例问题引出知识点及其理论基础知识,并通过具体案例程序实现过程,呈现数据结构与算法设计分析的整体课堂教学过程,特别适合翻转课堂、MOOC等教学方式。
本书是“互联网+”教材,提供与教材配套的学习资源,包括教学大纲、教学课件、重要知识点的讲解视频、试题库、试卷等,方便学习者学习和使用。
作者简介:
刘震,电子科技大学计算机科学与工程学院副教授,中国计算机学会高级会员。2014年获得中国计算机学会自然科学奖二等奖。主持和参与国家、省部级项目10余项;作为第一作者或通讯作者在国际期刊和国际会议发表学术论文50余篇。
林劼,电子科技大学计算机软件与工程学院副教授,参与多项省部级教学改革项目,发表论文多篇,出版教材多部。
陈端兵,电子科技大学计算机科学与工程学院教授,主持或参与项目20余项,发表论文100余篇,合作出版专著1部、译著1部、教材2部,授权发明专利3项。
戴波,电子科技大学计算机软件与工程学院副教授,参与多项省部级教改项目,发表论文多篇,出版教材4部。
目录:
第 1 章 绪论 …………………………………………………………………………………… 1
1. 1 数据结构与算法的发展简史 ……………………………………………………… 1
1. 2 利用计算机求解问题的一般过程 ………………………………………………… 2
1. 3 数据结构的基本概念和术语 ……………………………………………………… 4
1. 3. 1 数据的基本特性 …………………………………………………………… 4
1. 3. 2 数据的逻辑结构 …………………………………………………………… 6
1. 3. 3 数据的存储结构 …………………………………………………………… 7
1. 3. 4 数据结构的定义 …………………………………………………………… 8
1. 3. 5 数据类型 …………………………………………………………………… 8
1. 3. 6 抽象数据类型的含义与表示形式 ………………………………………… 8
1. 4 算法的概念、基本性质和设计算法的一般规则 …………………………………… 9
1. 4. 1 算法的概念 ………………………………………………………………… 9
1. 4. 2 算法的基本性质 ………………………………………………………… 10
1. 4. 3 设计算法的一般规则 …………………………………………………… 10
1. 5 算法的复杂度分析 ………………………………………………………………… 11
1. 6 本章小结 …………………………………………………………………………… 13
1. 7 思考与练习 ………………………………………………………………………… 13
第 2 章 线性结构 …………………………………………………………………………… 15
2. 1 项目指引 …………………………………………………………………………… 15
项目 1 电话号码本 ……………………………………………………………… 15
项目 2 迷宫寻路 ………………………………………………………………… 15
项目 3 自助交易平台 …………………………………………………………… 15
项目 4 电话号码本的快速查找 ………………………………………………… 16
2. 2 基础知识 …………………………………………………………………………… 16
2. 2. 1 线性表 …………………………………………………………………… 16
2. 2. 2 特殊线性表 ……………………………………………………………… 42
2. 2. 3 线性表的查找算法 ……………………………………………………… 57
2. 2. 4 线性表的排序算法 ……………………………………………………… 69
2. 3 项目实战(任务解答) ……………………………………………………………… 79
项目 1 电话号码本 ……………………………………………………………… 80
项目 2 迷宫寻路 ………………………………………………………………… 85
项目 3 自助交易平台 …………………………………………………………… 88
项目 4 电话号码本的快速查找 ………………………………………………… 90
2. 4 线性结构的其他应用 ……………………………………………………………… 93
2. 4. 1 线性表的简单应用 ……………………………………………………… 93
2. 4. 2 栈的简单应用 …………………………………………………………… 98
2. 5 本章小结 ………………………………………………………………………… 104
2. 6 思考与练习 ……………………………………………………………………… 105
第 3 章 递归与分治 ………………………………………………………………………… 112
3. 1 项目指引 ………………………………………………………………………… 112
项目 1 查找和排序问题………………………………………………………… 112
项目 2 汉诺塔问题……………………………………………………………… 114
项目 3 大整数乘法问题………………………………………………………… 114
项目 4 分形问题………………………………………………………………… 115
3. 2 基础知识 ………………………………………………………………………… 118
3. 2. 1 递归的概念 ……………………………………………………………… 118
3. 2. 2 递归与迭代的区别 ……………………………………………………… 119
3. 2. 3 递归与栈的关系 ………………………………………………………… 119
3. 2. 4 分治的原理 ……………………………………………………………… 120
3. 3 项目实战(任务解答) …………………………………………………………… 123
项目 1 查找和排序问题………………………………………………………… 123
项目 2 汉诺塔问题……………………………………………………………… 131
项目 3 大整数乘法问题………………………………………………………… 133
项目 4 分形问题………………………………………………………………… 136
3. 4 本章小结 ………………………………………………………………………… 139
3. 5 思考与练习 ……………………………………………………………………… 139
第 4 章 树 …………………………………………………………………………………… 141
4. 1 项目指引 ………………………………………………………………………… 141
项目 1 查找与排序问题………………………………………………………… 141
项目 2 压缩编码问题…………………………………………………………… 141
项目 3 频繁模式挖掘问题……………………………………………………… 142
项目 4 迷宫生成问题…………………………………………………………… 142
4. 2 基础知识 ………………………………………………………………………… 142
4. 2. 1 二叉树、树及森林的基本概念 ………………………………………… 142
4. 2. 2 二叉树的基本性质 ……………………………………………………… 145
4. 2. 3 二叉树、树及森林的存储结构 ………………………………………… 147
4. 2. 4 二叉树、树及森林的基本操作 ………………………………………… 153
4. 3 项目实战 ………………………………………………………………………… 162
项目 1 查找与排序问题………………………………………………………… 162
项目 2 压缩编码问题…………………………………………………………… 191
项目 3 频繁模式挖掘问题……………………………………………………… 196
项目 4 迷宫生成问题…………………………………………………………… 204
4. 4 本章小结 ………………………………………………………………………… 209
4. 5 思考与练习 ……………………………………………………………………… 209
第 5 章 图与贪心算法 ……………………………………………………………………… 213
5. 1 项目指引 ………………………………………………………………………… 213
路由协议设计 …………………………………………………………………… 213
5. 2 基础知识 ………………………………………………………………………… 214
5. 2. 1 图 ………………………………………………………………………… 214
5. 2. 2 贪心算法 ………………………………………………………………… 228
5. 3 项目实战(任务解答) …………………………………………………………… 232
路由协议设计 …………………………………………………………………… 232
5. 4 更多案例 ………………………………………………………………………… 242
5. 4. 1 高速公路建设问题 ……………………………………………………… 242
5. 4. 2 项目工作流程规划问题 ………………………………………………… 251
5. 4. 3 其他图应用举例 ………………………………………………………… 261
5. 5 本章小结 ………………………………………………………………………… 265
5. 6 思考与练习 ……………………………………………………………………… 266
第 6 章 动态规划 …………………………………………………………………………… 268
6. 1 项目指引 ………………………………………………………………………… 268
项目 1 实验报告防抄袭小系统设计…………………………………………… 268
项目 2 路由协议设计…………………………………………………………… 268
6. 2 基础知识 ………………………………………………………………………… 269
6. 2. 1 动态规划简介 …………………………………………………………… 269
6. 2. 2 动态规划算法的基本设计思想 ………………………………………… 270
6. 2. 3 动态规划要素 …………………………………………………………… 277
6. 3 项目实战(任务解答) …………………………………………………………… 279
项目 1 实验报告防抄袭小系统设计…………………………………………… 279
项目 2 路由协议设计…………………………………………………………… 285
6. 4 更多案例 ………………………………………………………………………… 289
6. 4. 1 “0 - 1”背包问题………………………………………………………… 289
6. 4. 2 装配线调度问题 ………………………………………………………… 292
6. 4. 3 权重化的活动安排问题 ………………………………………………… 296
6. 5 贪心算法与动态规划算法的差异 ……………………………………………… 298
6. 6 本章小结 ………………………………………………………………………… 300
6. 7 思考与练习 ……………………………………………………………………… 300
参考书目 ……………………………………………………………………………………… 303
- 北京大学出版社旗舰店 (微信公众号认证)
- 【发票】在订单留言电子邮箱、发票抬头、税号、(统一开电子发票,缺一项都不能开票,自行下载打印)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...