数据结构与算法(第二版) / 高等学校计算机技术类课程规划教材
定价:¥55.00
作者: 刘震,林劼,陈端兵,戴波主编
出版时间:2026-03
最新印次日期:2026-3
出版社:北京大学出版社
- 北京大学出版社
- 9787301370117
- 2版
- 575331
- 16开
- 2026-03
- 工学
- 计算机类
- 电子与信息大类
- 计算机科学与技术
- 本科
作者简介
内容简介
本书详细介绍了数据结构与算法分析的核心内容,其中,数据结构知识包括:数据结构概述、线性数据结构、树数据结构、图数据结构、查找与排序等;算法知识包括:算法分析与设计概述、算法复杂度分析、分治递归算法、贪心算法、动态规划算法等。
本书采用项目驱动的知识组织方式,以案例为导向引出知识点及其理论基础,并通过配合具体案例程序实现过程,贯通了数据结构算法设计与分析的整体课堂教学过程,特别适合当今的反转课堂,MOOC等新型教学方式。
本次修改主要在上一版的基础上,修改完善原有的一些表述,替换一些实例,再增加一些实例。
本书采用项目驱动的知识组织方式,以案例为导向引出知识点及其理论基础,并通过配合具体案例程序实现过程,贯通了数据结构算法设计与分析的整体课堂教学过程,特别适合当今的反转课堂,MOOC等新型教学方式。
本次修改主要在上一版的基础上,修改完善原有的一些表述,替换一些实例,再增加一些实例。
目录
目录
第1章绪论1
1.1数据结构与算法的发展简史1
1.2利用计算机求解问题的一般过程2
1.3数据结构的基本概念和术语5
1.3.1数据的基本特性5
1.3.2数据的逻辑结构6
1.3.3数据的存储结构7
1.3.4数据结构的定义8
1.3.5数据类型8
1.3.6抽象数据类型的含义与表示形式9
1.4算法的概念9
1.5算法的复杂度分析11
第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自助交易平台89
项目4电话号码本的快速查找90
2.4线性结构的其他应用93
2.4.1线性表的简单应用93
2.4.2栈的简单应用99
第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
第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
第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项目工作流程规划问题252
5.4.3其他图应用举例261
第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项目实战(任务解答)280
项目1实验报告防抄袭小系统设计问题280
项目2路由协议设计问题285
6.4更多案例289
6.4.1“0-1”背包问题289
6.4.2装配线调度问题292
6.4.3权重化的活动安排问题296
6.5贪心算法与动态规划算法的差异298
参考书目303
第1章绪论1
1.1数据结构与算法的发展简史1
1.2利用计算机求解问题的一般过程2
1.3数据结构的基本概念和术语5
1.3.1数据的基本特性5
1.3.2数据的逻辑结构6
1.3.3数据的存储结构7
1.3.4数据结构的定义8
1.3.5数据类型8
1.3.6抽象数据类型的含义与表示形式9
1.4算法的概念9
1.5算法的复杂度分析11
第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自助交易平台89
项目4电话号码本的快速查找90
2.4线性结构的其他应用93
2.4.1线性表的简单应用93
2.4.2栈的简单应用99
第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
第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
第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项目工作流程规划问题252
5.4.3其他图应用举例261
第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项目实战(任务解答)280
项目1实验报告防抄袭小系统设计问题280
项目2路由协议设计问题285
6.4更多案例289
6.4.1“0-1”背包问题289
6.4.2装配线调度问题292
6.4.3权重化的活动安排问题296
6.5贪心算法与动态规划算法的差异298
参考书目303










