数据结构与算法教程 C++版PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:唐宁九,游洪跃,杨秋辉等主编
- 出 版 社:北京:清华大学出版社
- 出版年份:2012
- ISBN:9787302280309
- 页数:378 页
第1章 绪论 1
1.1数据结构的概念和学习数据结构的必要性 1
1.2数据结构的基本概念 2
1.2.1数据 2
1.2.2数据元素和数据项 2
1.2.3数据结构 2
1.3抽象数据类型及其实现 4
1.3.1数据类型 4
1.3.2抽象数据类型(Abstract Data Type——ADT) 4
1.3.3 C++的类和对象 4
1.3.4运算符重载 6
1.3.5有关C++的动态存储分配 9
1.3.6 C++的模板(template) 10
1.4算法和算法分析 11
1.4.1算法 11
1.4.2算法分析 12
1.5实用程序软件包 15
1.6深入学习导读 19
1.7习题1 19
第2章 线性表 21
2.1线性表的逻辑结构 21
2.2线性表的顺序存储结构 23
2.3线性表的链式存储结构 31
2.3.1单链表 31
2.3.2循环链表 39
2.3.3双向链表 43
2.3.4在链表结构中保存当前位置和元素个数 46
2.4实例研究:一元多项式的表示 55
2.5深入学习导读 60
2.6习题2 60
第3章 栈和队列 61
3.1栈 61
3.1.1栈的基本概念 61
3.1.2顺序栈 62
3.1.3链式栈 67
3.2队列 74
3.2.1队列的基本概念 74
3.2.2链队列 75
3.2.3循环队列——队列的顺序存储结构 79
3.2.4队列应用——显示二项式(a+b)i的系数 84
3.3实例研究:表达式求值 85
3.4深入学习导读 88
3.5习题3 89
第4章串 90
4.1串类型的定义 90
4.2字符串的实现 91
4.3字符串模式匹配算法 98
4.3.1简单字符串模式匹配算法 98
4.3.2 KMP字符串模式匹配算法 99
4.4实例研究:文本编辑 104
4.5深入学习导读 114
4.6习题4 114
第5章 数组和广义表 115
5.1数组 115
5.1.1数组的基本概念 115
5.1.2数组的顺序表 116
5.1.3数组的类定义 118
5.2矩阵 122
5.2.1矩阵的定义和操作 122
5.2.2特殊矩阵 123
5.2.3稀疏矩阵 128
5.3广义表 139
5.3.1基本概念 139
5.3.2广义表的存储结构 141
5.4深入学习导读 151
5.5习题5 152
第6章 树和二叉树 153
6.1树的基本概念 153
6.1.1树的定义 153
6.1.2基本术语 154
6.2二叉树 155
6.2.1二叉树的定义 155
6.2.2二叉树的性质 157
6.2.3二叉树的存储结构 160
6.3二叉树遍历 168
6.3.1遍历的定义 168
6.3.2遍历算法 169
6.3.3二叉树遍历应用举例 175
6.4线索二叉树 180
6.4.1线索的概念 180
6.4.2线索二叉树的实现 182
6.5树和森林 190
6.5.1树的存储表示 190
6.5.2树的显示 198
6.5.3森林的存储表示 198
6.5.4树和森林的遍历 203
6.5.5树和森林与二叉树的转换 206
6.6哈夫曼树与哈夫曼编码 208
6.6.1哈夫曼树的基本概念 209
6.6.2哈夫曼树构造算法 210
6.6.3哈夫曼编码 210
6.6.4哈夫曼树的实现 212
6.7树的计数 216
6.8实例研究:树与等价关系 218
6.9深入学习导读 222
6.10习题6 222
第7章 图 224
7.1图的定义和术语 224
7.2图的存储表示 228
7.2.1邻接矩阵 228
7.2.2邻接表 234
7.3图的遍历 242
7.3.1深度优先搜索 242
7.3.2广度优先搜索 244
7.4连通无向网的最小代价生成树 246
7.4.1 Prim算法 246
7.4.2 Kruskal算法 249
7.5有向无环图及应用 252
7.5.1拓扑排序 253
7.5.2关键路径 256
7.6最短路径 260
7.6.1单源点最短路径问题 260
7.6.2所有顶点之间的最短路径 263
7.7深入学习导读 265
7.8习题7 265
第8章 查找 267
8.1查找的基本概念 267
8.2静态表的查找 270
8.2.1顺序查找 270
8.2.2有序表的查找 271
8.3动态查找表 274
8.3.1二叉排序树 274
8.3.2二叉平衡树 285
8.3.3 B-树和B+-树 310
8.4散列表 312
8.4.1散列表的概念 312
8.4.2构造散列函数的方法 313
8.4.3处理冲突的方法 313
8.4.4散列表的实现 315
8.5深入学习导读 320
8.6习题8 320
第9章 排序 321
9.1概述 321
9.2插入排序 322
9.2.1直接插入排序 322
9.2.2 Shell排序 324
9.3交换排序 325
9.3.1起泡排序 325
9.3.2快速排序 326
9.4选择排序 329
9.4.1简单选择排序 330
9.4.2堆排序 331
9.5归并排序 334
9.6基数排序 338
9.6.1多关键排序 338
9.6.2基数排序 339
9.7各种内部排序方法讨论 341
9.8外部排序 342
9.8.1外部排序基础 342
9.8.2外部排序的方法 343
9.9实例研究:各种排序算法运行时间测试 344
9.10深入学习导读 347
9.11习题9 347
第10章 文件 349
10.1主存储器和辅助存储器 349
10.2各种常用文件结构 349
10.2.1顺序文件 349
10.2.2索引文件 350
10.2.3散列文件 351
10.2.4 VSAM文件 351
10.2.5多关键字文件 352
10.3深入学习导读 354
10.4习题10 354
第11章 算法设计与分析 355
11.1算法设计 355
11.1.1递归算法 355
11.1.2分治算法 357
11.1.3回溯算法 358
11.2算法分析 361
11.2.1递归分析 361
11.2.2利用生成函数进行分析 362
11.3深入学习导读 363
11.4习题11 364
附录A调和级数 365
附录B课本的软件包 366
附录C实验题目 371
附录D课程设计项目 372
D1算术表达式求值 372
D2简单本文编辑器 372
D3压缩软件 373
D4公园导游系统 373
D5专家系统应用——动物游戏 373
D6词典变位词检索系统 374
附录E实验报告格式 375
附录F课程设计报告格式 376
参考文献 377
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《名医教你练走颈肩腰腿痛》许学猛 2018
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《数据失控》(美)约翰·切尼-利波尔德(John Cheney-Lippold)著 2019
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《穿越数据的迷宫 数据管理执行指南》Laura Sebastian-Coleman 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019