数据结构与算法分析(C++语言版 第2版)

数据结构与算法分析(C++语言版  第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2021-08
版次: 2
ISBN: 9787115554062
定价: 69.80
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 296页
字数: 487千字
18人买过
  • 本书是工业和信息化部“十二五”规划教材,全书借鉴了国内外高等院校“数据结构”相关教材,吸收了当代计算机领域成果。内容鸟瞰全貌,删减陈旧,反映新知,并在相关章节增加了典型习题。
      本书共10章,介绍了数据结构的基本理论及方法,主要有绪论、线性表、栈和队列、串、数组和广义表、树和二叉树、图、查找、内部排序,以及算法设计与分析等内容。本书配备了微课视频、演示动画,扫码即可观看,同时,还提供课堂教学指导、习题课教学指导、实验教学指导、自学辅导、综合训练等资源。
      本书可作为高等学校计算机科学与技术、软件工程等专业的本科生或研究生的教材,也可作为相关领域工程技术人员的参考书。 张琨,南京理工大学计算机学院教授,博士生导师,现任计算机科学与工程学院副院长。目前的研究领域主要包括:复杂网络理论与应用、可信计算、网络与信息安全、软件工程。 第 1章 绪论1

    1.1数据结构的概念 1

    1.1.1 数据结构的发展 1

    1.1.2 什么是数据结构 2

    1.1.3 数据结构的研究对象 4

    1.1.4 数据结构相关概念及术语 5

    1.2数据类型和抽象数据类型 8

    1.2.1 数据类型 8

    1.2.2 抽象数据类型 9

    1.3 算法和算法分析 11

    1.3.1 算法特性 11

    1.3.2 算法设计的要求 11

    1.3.3 算法的性能分析与度量 12

    1.4 并发数据结构概念 16

    1.4.1并发的概念 18

    1.4.1并发的途径 18

    1.4.2并发数据结构的设计原则 18

    习题一 18

    第 2章 线性表 23

    2.1 线性表的基本概念 23

    2.1.1 线性表的概念 23

    2.1.2 线性表的抽象数据类型定义 24

    2.2 线性表的顺序存储结构 27

    2.2.1 线性表的顺序存储表示 27

    2.2.2顺序表的类定义和基本操作 28

    2.2.3顺序表的应用 35

    2.2.4 顺序表的特点 36

    2.3 线性表的链式存储结构 36

    2.3.1单链表 37

    2.3.2 静态链表 43

    2.3.3循环链表 49

    2.3.4双向链表 50

    2.3.5 并发链表 51

    2.4 线性表的应用:一元多项式的表示及运算 52

    2.4.1 一元多项式的表示 53

    2.4.2 一元多项式的实现 54

    习题二 58

    第3章 栈和队列 62

    3.1栈的基本概念 62

    3.1.1 栈的概念 62

    3.1.2 栈的抽象数据类型 63

    3.2 栈的顺序存储结构及实现 63

    3.2.1 顺序栈的概念 64

    3.2.2 顺序栈的类定义和基本操作 64

    3.2.3 顺序栈的应用 65

    3.3 栈的链式存储结构及实现 71

    3.3.1 链栈的概念 71

    3.3.2 链栈的类定义和基本操作 71

    3.3.3 并发栈 72

    3.4 队列的基本概念 75

    3.4.1 队列的概念 75

    3.4.2 队列的抽象数据类型 75

    3.5 队列的顺序存储 76

    3.5.1 循环队列 77

    3.5.2 循环队列的类定义和基本操作 78

    3.6 队列的链式存储 79

    3.6.1 链队列的概念 79

    3.6.2 链队列的类定义和基本操作 80

    3.6.3 链队列的应用 81

    3.6.4 并发队列 86

    习题三 86

    第4章 串 90

    4.1 串的基本概念 90

    4.1.1 串的概念 90

    4.1.2 串的抽象数据类型 90

    4.2 串的表示与实现 92

    4.2.1 定长顺序存储表示 92

    4.2.2 堆分配存储表示 94

    4.2.3 链式存储表示 96

    4.3 串的模式匹配 96

    4.3.1 模式匹配方法BF 97

    4.3.2 模式匹配方法KMP 98

    习题四 100

    第5章 数组和广义表 104

    5.1 数组的基本概念 104

    5.1.1 数组的概念 104

    5.1.2 数组的抽象数据类型 105

    5.2 数组的存储结构 105

    5.3 矩阵的压缩存储 108

    5.3.1 特殊矩阵的压缩存储 108

    5.3.2 稀疏矩阵的压缩存储 110

    5.4 广义表的基本概念 118

    5.4.1 广义表的概念 118

    5.4.2 广义表的抽象数据类型 119

    5.4.3 广义表的存储结构和类定义 120

    5.4.4 广义表的递归算法 121

    习题五 123

    第6章 树和二叉树 127

    6.1 树 127

    6.1.1 树的概念 127

    6.1.2 基本术语 128

    6.1.3 树的抽象数据类型 129

    6.1.4 树的性质 131

    6.1.5 树的存储结构 132

    6.1.6 树的遍历 135

    6.1.7 树的应用 136

    6.2 森林 138

    6.2.1 森林的存储结构 138

    6.2.2 森林的遍历 140

    6.3 二叉树 140

    6.3.1 二叉树的概念 140

    6.3.2 二叉树的性质 141

    6.3.3 二叉树的抽象数据类型 145

    6.3.4 二叉树的存储结构 148

    6.3.5 遍历二叉树 150

    6.3.6 线索二叉树 162

    6.4 树、森林与二叉树的转换 169

    6.4.1 树与二叉树的转换 169

    6.4.2 森林与二叉树的转换 170

    6.5 堆 172

    6.6 哈夫曼树和哈夫曼编码 173

    6.6.1 哈夫曼树的概念 173

    6.6.2 哈夫曼树的构造 174

    6.6.3 哈夫曼编码 177

    习题六 179

    第7章 图 182

    7.1 图的基本概念 182

    7.1.1 图的概念 182

    7.1.2 图的基本术语 183

    7.1.3 图的抽象数据类型 187

    7.2 图的存储结构 188

    7.2.1 图的顺序存储结构-邻接矩阵 188

    7.2.2 图的链式存储结构 191

    7.3 图的遍历 196

    7.3.1 深度优先搜索 196

    7.3.2 广度优先搜索 197

    7.3.3 连通分量和重连通分量 198

    7.4 小生成树 201

    7.4.1 小生成树的定义 202

    7.4.2 小生成树的构造算法 202

    7.5 有向无环图及其应用 207

    7.5.1 AOV网与拓扑排序 208

    7.5.2 AOE网与关键路径 211

    7.6 短路径 218

    7.6.1 单源短路径 218

    7.6.2 每对顶点间的短路径 221

    习题七 223

    第8章 查找 226

    8.1 查找的基本概念 226

    8.2 静态查找表 228

    8.2.1 顺序查找 228

    8.2.2 有序表的查找 230

    8.2.3 分块查找 232

    8.3 动态查找表 234

    8.3.1 二叉排序树 234

    8.3.2 平衡二叉树 241

    8.3.3 B_树 248

    8.3.4 并发查找树 256

    8.4 哈希表 256

    8.4.1 哈希表的概念 256

    8.4.2 哈希函数 257

    8.4.3 处理冲突的方法 259

    8.4.4 哈希查找算法及分析 261

    8.4.5 并发哈希表及其应用 263

    习题八 264

    第9章 内部排序 267

    9.1 排序的基本概念 267

    9.2 插入排序 269

    9.2.1 直接插入排序 269

    9.2.2 折半插入排序 272

    9.2.3 表插入排序 274

    9.2.4 希尔排序 278

    9.3 交换排序 280

    9.3.1 冒泡排序 280

    9.3.2 快速排序 282

    9.4 选择排序 286

    9.4.1 简单选择排序 286

    9.4.2 树形选择排序 289

    9.4.3 堆排序 291

    9.5 归并排序 295

    9.6 基数排序 298

    9.6.1 多关键字的排序 298

    9.6.2 链式基数排序 298

    9.7 各种内部排序方法的比较讨论 302

    习题九 303

    第 10章 算法设计与分析 306

    10.1 分治法 306

    10.2 回溯法 308

    10.3 贪心算法 313

    10.4 动态规划法 315

    10.5 分支限界法 319

    习题十 325

    附录 词汇索引 327
  • 内容简介:
    本书是工业和信息化部“十二五”规划教材,全书借鉴了国内外高等院校“数据结构”相关教材,吸收了当代计算机领域成果。内容鸟瞰全貌,删减陈旧,反映新知,并在相关章节增加了典型习题。
      本书共10章,介绍了数据结构的基本理论及方法,主要有绪论、线性表、栈和队列、串、数组和广义表、树和二叉树、图、查找、内部排序,以及算法设计与分析等内容。本书配备了微课视频、演示动画,扫码即可观看,同时,还提供课堂教学指导、习题课教学指导、实验教学指导、自学辅导、综合训练等资源。
      本书可作为高等学校计算机科学与技术、软件工程等专业的本科生或研究生的教材,也可作为相关领域工程技术人员的参考书。
  • 作者简介:
    张琨,南京理工大学计算机学院教授,博士生导师,现任计算机科学与工程学院副院长。目前的研究领域主要包括:复杂网络理论与应用、可信计算、网络与信息安全、软件工程。
  • 目录:
    第 1章 绪论1

    1.1数据结构的概念 1

    1.1.1 数据结构的发展 1

    1.1.2 什么是数据结构 2

    1.1.3 数据结构的研究对象 4

    1.1.4 数据结构相关概念及术语 5

    1.2数据类型和抽象数据类型 8

    1.2.1 数据类型 8

    1.2.2 抽象数据类型 9

    1.3 算法和算法分析 11

    1.3.1 算法特性 11

    1.3.2 算法设计的要求 11

    1.3.3 算法的性能分析与度量 12

    1.4 并发数据结构概念 16

    1.4.1并发的概念 18

    1.4.1并发的途径 18

    1.4.2并发数据结构的设计原则 18

    习题一 18

    第 2章 线性表 23

    2.1 线性表的基本概念 23

    2.1.1 线性表的概念 23

    2.1.2 线性表的抽象数据类型定义 24

    2.2 线性表的顺序存储结构 27

    2.2.1 线性表的顺序存储表示 27

    2.2.2顺序表的类定义和基本操作 28

    2.2.3顺序表的应用 35

    2.2.4 顺序表的特点 36

    2.3 线性表的链式存储结构 36

    2.3.1单链表 37

    2.3.2 静态链表 43

    2.3.3循环链表 49

    2.3.4双向链表 50

    2.3.5 并发链表 51

    2.4 线性表的应用:一元多项式的表示及运算 52

    2.4.1 一元多项式的表示 53

    2.4.2 一元多项式的实现 54

    习题二 58

    第3章 栈和队列 62

    3.1栈的基本概念 62

    3.1.1 栈的概念 62

    3.1.2 栈的抽象数据类型 63

    3.2 栈的顺序存储结构及实现 63

    3.2.1 顺序栈的概念 64

    3.2.2 顺序栈的类定义和基本操作 64

    3.2.3 顺序栈的应用 65

    3.3 栈的链式存储结构及实现 71

    3.3.1 链栈的概念 71

    3.3.2 链栈的类定义和基本操作 71

    3.3.3 并发栈 72

    3.4 队列的基本概念 75

    3.4.1 队列的概念 75

    3.4.2 队列的抽象数据类型 75

    3.5 队列的顺序存储 76

    3.5.1 循环队列 77

    3.5.2 循环队列的类定义和基本操作 78

    3.6 队列的链式存储 79

    3.6.1 链队列的概念 79

    3.6.2 链队列的类定义和基本操作 80

    3.6.3 链队列的应用 81

    3.6.4 并发队列 86

    习题三 86

    第4章 串 90

    4.1 串的基本概念 90

    4.1.1 串的概念 90

    4.1.2 串的抽象数据类型 90

    4.2 串的表示与实现 92

    4.2.1 定长顺序存储表示 92

    4.2.2 堆分配存储表示 94

    4.2.3 链式存储表示 96

    4.3 串的模式匹配 96

    4.3.1 模式匹配方法BF 97

    4.3.2 模式匹配方法KMP 98

    习题四 100

    第5章 数组和广义表 104

    5.1 数组的基本概念 104

    5.1.1 数组的概念 104

    5.1.2 数组的抽象数据类型 105

    5.2 数组的存储结构 105

    5.3 矩阵的压缩存储 108

    5.3.1 特殊矩阵的压缩存储 108

    5.3.2 稀疏矩阵的压缩存储 110

    5.4 广义表的基本概念 118

    5.4.1 广义表的概念 118

    5.4.2 广义表的抽象数据类型 119

    5.4.3 广义表的存储结构和类定义 120

    5.4.4 广义表的递归算法 121

    习题五 123

    第6章 树和二叉树 127

    6.1 树 127

    6.1.1 树的概念 127

    6.1.2 基本术语 128

    6.1.3 树的抽象数据类型 129

    6.1.4 树的性质 131

    6.1.5 树的存储结构 132

    6.1.6 树的遍历 135

    6.1.7 树的应用 136

    6.2 森林 138

    6.2.1 森林的存储结构 138

    6.2.2 森林的遍历 140

    6.3 二叉树 140

    6.3.1 二叉树的概念 140

    6.3.2 二叉树的性质 141

    6.3.3 二叉树的抽象数据类型 145

    6.3.4 二叉树的存储结构 148

    6.3.5 遍历二叉树 150

    6.3.6 线索二叉树 162

    6.4 树、森林与二叉树的转换 169

    6.4.1 树与二叉树的转换 169

    6.4.2 森林与二叉树的转换 170

    6.5 堆 172

    6.6 哈夫曼树和哈夫曼编码 173

    6.6.1 哈夫曼树的概念 173

    6.6.2 哈夫曼树的构造 174

    6.6.3 哈夫曼编码 177

    习题六 179

    第7章 图 182

    7.1 图的基本概念 182

    7.1.1 图的概念 182

    7.1.2 图的基本术语 183

    7.1.3 图的抽象数据类型 187

    7.2 图的存储结构 188

    7.2.1 图的顺序存储结构-邻接矩阵 188

    7.2.2 图的链式存储结构 191

    7.3 图的遍历 196

    7.3.1 深度优先搜索 196

    7.3.2 广度优先搜索 197

    7.3.3 连通分量和重连通分量 198

    7.4 小生成树 201

    7.4.1 小生成树的定义 202

    7.4.2 小生成树的构造算法 202

    7.5 有向无环图及其应用 207

    7.5.1 AOV网与拓扑排序 208

    7.5.2 AOE网与关键路径 211

    7.6 短路径 218

    7.6.1 单源短路径 218

    7.6.2 每对顶点间的短路径 221

    习题七 223

    第8章 查找 226

    8.1 查找的基本概念 226

    8.2 静态查找表 228

    8.2.1 顺序查找 228

    8.2.2 有序表的查找 230

    8.2.3 分块查找 232

    8.3 动态查找表 234

    8.3.1 二叉排序树 234

    8.3.2 平衡二叉树 241

    8.3.3 B_树 248

    8.3.4 并发查找树 256

    8.4 哈希表 256

    8.4.1 哈希表的概念 256

    8.4.2 哈希函数 257

    8.4.3 处理冲突的方法 259

    8.4.4 哈希查找算法及分析 261

    8.4.5 并发哈希表及其应用 263

    习题八 264

    第9章 内部排序 267

    9.1 排序的基本概念 267

    9.2 插入排序 269

    9.2.1 直接插入排序 269

    9.2.2 折半插入排序 272

    9.2.3 表插入排序 274

    9.2.4 希尔排序 278

    9.3 交换排序 280

    9.3.1 冒泡排序 280

    9.3.2 快速排序 282

    9.4 选择排序 286

    9.4.1 简单选择排序 286

    9.4.2 树形选择排序 289

    9.4.3 堆排序 291

    9.5 归并排序 295

    9.6 基数排序 298

    9.6.1 多关键字的排序 298

    9.6.2 链式基数排序 298

    9.7 各种内部排序方法的比较讨论 302

    习题九 303

    第 10章 算法设计与分析 306

    10.1 分治法 306

    10.2 回溯法 308

    10.3 贪心算法 313

    10.4 动态规划法 315

    10.5 分支限界法 319

    习题十 325

    附录 词汇索引 327
查看详情
相关图书 / 更多
数据结构与算法分析(C++语言版  第2版)
数据要素化治理
陆志鹏、孟庆国、王钺
数据结构与算法分析(C++语言版  第2版)
数据经济学(第二版)
汤珂、熊巧琴、李金璞、屈阳
数据结构与算法分析(C++语言版  第2版)
数据中台:让数据用起来 第2版 付登坡 等
付登坡 江敏 赵东辉 等
数据结构与算法分析(C++语言版  第2版)
数据资源管理 陈忆金 奉国和
陈忆金 奉国和
数据结构与算法分析(C++语言版  第2版)
数据资产:企业数字化转型的底层逻辑 蒋麒霖 郭丹
蒋麒霖 郭丹
数据结构与算法分析(C++语言版  第2版)
数据工程之道:设计和构建健壮的数据系统 [美]乔·里斯 [美]马特·豪斯利
[美]乔·里斯(Joe Reis),[美]马特·豪斯利(Matt Housley)
数据结构与算法分析(C++语言版  第2版)
数据合规实务指引 法律实务 朱晓娟主编 新华正版
朱晓娟主编
数据结构与算法分析(C++语言版  第2版)
数据保护官(DPO)法律实务指南
潘永建
数据结构与算法分析(C++语言版  第2版)
数据法学前沿
武长海
数据结构与算法分析(C++语言版  第2版)
数据库及其应用(2023年版) 全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
数据结构与算法分析(C++语言版  第2版)
数据科学技术:文本分析和知识图谱
苏海波、刘译璟、易显维、苏萌
数据结构与算法分析(C++语言版  第2版)
数据治理驱动的数字化转型 王建峰 辛华
王建峰 辛华
您可能感兴趣 / 更多
数据结构与算法分析(C++语言版  第2版)
土木工程CAD(第二版)
张琨 李宝昌 国丽荣 张雪丹 付莹
数据结构与算法分析(C++语言版  第2版)
建筑CAD
张琨 编
数据结构与算法分析(C++语言版  第2版)
火神山医院、雷神山医院建设纪实
张琨 主编
数据结构与算法分析(C++语言版  第2版)
植物游离小孢子培养技术及应用研究
张琨 著
数据结构与算法分析(C++语言版  第2版)
五脏养生防与治/健康中国2030家庭养生保健丛书
张琨 著
数据结构与算法分析(C++语言版  第2版)
iLike就业SQL多功能教材
张琨 著
数据结构与算法分析(C++语言版  第2版)
MATLAB 2010从入门到精通
张琨 著
数据结构与算法分析(C++语言版  第2版)
中央电视台新台址主楼结构施工
张琨 编
数据结构与算法分析(C++语言版  第2版)
蒙台梭利幼儿家庭教育法
张琨 著
数据结构与算法分析(C++语言版  第2版)
钢琴的调律及维修(增订本)
张琨 著
数据结构与算法分析(C++语言版  第2版)
中国医学大成(三)
张琨 主校