图书介绍
数据结构课程设计案例精编 用C/C++描述2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 李建学,李光元,吴春芳编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302145369
- 出版时间:2007
- 标注页数:420页
- 文件大小:22MB
- 文件页数:431页
- 主题词:数据结构-课程设计-高等学校-教学参考资料
PDF下载
下载说明
数据结构课程设计案例精编 用C/C++描述PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
绪言——致成长中的程序员们1
一、为什么要使用C++?1
第一部分 理论基础1
二、为什么要使用STL?3
三、编程的一些规范4
四、应当使用什么开发环境?7
第1章 数据结构导论11
1.1 数据结构与算法11
1.1.1 数据结构11
1.1.2 算法13
1.2 数据结构的抽象形式——抽象数据类型13
1.2.1 抽象数据类型13
1.2.2 应用程序编程接口(API)14
1.3 C++类和抽象数据类型15
1.3.1 C++类15
1.2.3 维护程序和文档15
1.3.2 继承性16
1.3.3 多态性17
1.3.4 泛型设计和模板18
1.4 运算与算法19
1.4.1 运算19
1.4.2 算法20
1.5 算法分析21
1.5.1 时空性能21
1.5.2 时间复杂度分析21
1.5.3 空间复杂度分析25
1.5.4 算法分析与代码优化调整26
第2章 C++语言概述27
2.1 C++语言的演化和标准化历程27
2.2 C++支持的程序设计风格30
2.2.1 基于过程的程序设计31
2.2.2 基于对象的程序设计32
2.2.3 面向对象的程序设计33
2.2.4 泛型程序设计34
2.3 模块化程序设计34
2.3.1 函数34
2.3.2 类和封装机制40
2.4 类的构造、析构和赋值40
2.4.1 构造函数和析构函数40
2.4.2 类的赋值41
2.5 类层次结构——继承和多态43
2.5.1 访问控制:public、private和protected继承43
2.5.2 虚函数与多态45
2.6 异常处理46
2.6.1 异常处理的应用情况46
2.6.2 异常处理基础知识46
2.7 推荐的编程习惯和风格48
2.6.3 其他错误处理技术48
第3章 C++模板编程入门52
3.1 类模板53
3.1.1 如何定义类模板53
3.1.2 如何实现类模板的成员函数53
3.1.3 如何使用类模板55
3.2 函数模板56
3.2.1 如何定义函数模板56
3.3 模板实例化57
3.2.2 如何使用函数模板57
3.4 模板的特化61
3.4.1 类模板的特化61
3.4.2 函数模板的特化65
3.5 模板参数66
3.6 静态成员和变量69
3.7 模板和friend71
3.8.2 函数对象的使用72
3.8.1 如何定义函数对象72
3.8 函数对象(仿函数)72
3.8.3 模板函数对象73
3.8.4 标准库中的函数对象73
第4章 泛型设计、STL库与数据结构75
4.1 标准C++与STL76
4.1.1 模板——现代C++风格的基础76
4.1.2 STL的发展历程77
4.1.3 STL与C++标准程序库78
4.1.4 STL的实现版本80
4.1.5 准标准程序库:Boost库81
4.1.6 泛型算法与STL的应用展示83
4.2 泛型程序设计与多态89
4.2.1 面向对象程序设计中的多态89
4.2.2 泛型程序设计中的多态90
4.2.3 GP与OOP的对比91
4.3.1 STL库的设计:容器、算法与迭代器93
4.3 泛型程序设计与STL93
4.3.2 Accumulate函数示例95
4.4 概念与模型96
4.4.1 必要条件集合96
4.4.2 示例:迭代器97
4.5 关联类型与特性类98
4.5.1 函数模板中需要的关联类型98
4.5.2 类中的typedef嵌套98
4.5.3 特性类的定义99
4.5.4 部分特化100
4.5.5 标签分派101
4.6 STL中的核心concept:迭代器剖析102
4.6.1 迭代器概述102
4.6.2 迭代器与索引的比较103
4.6.3 STL的迭代器分类103
4.6.4 STL中迭代器种类的选择109
4.7 STL的其他组件111
4.7.1 STL的数据结构:容器111
4.7.2 STL算法113
4.7.3 函数对象114
4.7.4 适配器115
4.7.5 分配器117
第二部分 基础数据结构118
第5章 线性表118
5.1 线性表概述118
5.1.1 线性表基础知识118
5.1.2 线性表类ADT119
5.2 顺序存储结构——顺序表120
5.2.1 顺序表的定义及特点120
5.2.2 顺序表的遍历与查找120
5.2.3 顺序表的其他操作122
5.2.4 顺序表类ADT以及类定义123
5.3 链式存储结构——链表125
5.3.1 单链表126
5.3.2 双向链表128
5.3.3 循环链表130
5.3.4 链表类ADT以及类定义130
5.4 vector的基本操作及应用133
5.4.1 vector迭代器133
5.4.2 vector的基本操作133
5.5 list的基本操作及应用145
5.5.1 list迭代器145
5.5.2 list的基本操作145
5.6 slist的基本操作及应用152
5.6.1 slist的迭代器152
5.6.2 slist的基本操作152
5.7 线性表的应用案例154
5.7.1 稀疏多项式的加法和乘法154
5.7.2 大整数加法160
第6章 栈与队列167
6.1 双端队列167
6.1.1 deque概况167
6.1.2 操作与应用168
6.2 堆栈基础169
6.2.1 堆栈的定义169
6.2.2 堆栈ADT170
6.3 栈的使用171
6.3.1 进制转换171
6.3.2 列车调度172
6.4 表达式计算174
6.4.1 中缀表达式转换为后缀表达式174
6.4.2 后缀表达式的计算178
6.4.3 测试180
6.5.1 队列的定义181
6.5 队列和优先队列181
6.5.2 队列ADT182
6.5.3 队列的实现183
6.5.4 优先队列184
6.6 使用队列185
6.6.1 时间驱动的模拟185
6.6.2 基数排序法189
6.7 栈与队列的综合实例192
6.7.1 农夫过河问题192
6.7.2 深度优先搜索算法195
6.7.3 广度优先搜索算法197
第7章 递归199
7.1 递归基础199
7.1.1 递归的概念199
7.1.2 使用递归的情况200
7.2.2 问题的递归求解202
7.2.1 问题的提出202
7.2 汉诺塔问题202
7.2.3 Hanoi类205
7.3 迷宫问题206
7.3.1 问题的提出207
7.3.2 迷宫的回溯分析207
7.3.3 Maze类209
7.4 八皇后问题212
7.4.1 问题的描述212
7.4.2 八皇后问题的回溯分析213
7.4.3 QueenChess类的设计214
7.5 递归算法的评价217
7.5.1 递归工作栈217
7.5.2 递归算法的复杂度218
7.5.3 递归与迭代的比较219
8.1.1 序列容器与有序关联容器221
8.1 树和二叉树基础知识221
第8章 树和二叉树221
8.1.2 广义树结构222
8.1.3 二叉树的定义与性质223
8.1.4 二叉树遍历算法225
8.1.5 二叉树遍历算法的应用226
8.2 二叉搜索树基础知识228
8.2.1 二叉搜索树的定义228
8.2.2 二叉搜索树的操作229
8.2.3 二叉搜索树类ADT230
8.2.4 二叉搜索树的结构231
8.2.5 二叉搜索树的实现要点232
8.2.6 二叉搜索树的迭代器232
8.3 二叉树类算法的实现代码分析233
8.3.1 二叉树类的声明与接口233
8.3.2 二叉树的遍历操作实现234
8.3.3 树遍历算法的应用235
8.3.4 二叉树相关算法的测试程序239
8.4 二叉搜索树类的实现代码分析242
8.4.1 二叉搜索树节点和树类的声明242
8.4.2 构造函数、析构函数和赋值运算符245
8.4.3 二叉搜索树的查找与更新操作247
8.4.4 二叉搜索树的测试程序251
8.5 二叉搜索树应用案例256
8.5.1 消除重复项256
8.5.2 音像商店事务管理系统258
第9章 图266
9.1 图的抽象267
9.1.1 图的描述267
9.1.2 图的数据结构270
9.2 图的算法272
9.2.1 图搜索算法272
9.2.2 拓扑排序275
9.2.3 连通分量算法277
9.2.4 最短路径问题278
9.2.5 最小生成树问题282
9.3 Boost图库介绍285
9.3.1 STL中的泛型285
9.3.2 BGL中的泛型286
9.3.3 BGL中的图算法287
9.3.4 BGL实现的数据结构287
9.3.5 BGL的历史288
9.4 图类的实现与应用289
9.4.1 图的概念(Concepts)289
9.4.2 图类的实现293
9.4.3 图类应用示例298
9.5 图算法的实现和应用302
9.5.1 访问器302
9.5.2 图遍历算法的应用306
9.5.3 拓扑排序的应用309
9.5.4 最短路径算法的应用310
9.5.5 最小生成树算法的应用314
9.6 图的建模与可视化——Graphviz软件与DOT语言317
9.6.1 核心绘图引擎318
9.6.2 图文件描述语言——DOT语言319
9.6.3 Graphviz应用示例322
第三部分 综合应用329
第10章 综合应用案例329
10.1 数据压缩——霍夫曼编码解码器的实现329
10.1.1 数据压缩理论简介329
10.1.2 Huffman树330
10.1.3 需求分析332
10.1.4 Huffman压缩类的接口与应用335
10.1.5 Huffman压缩类的实现339
10.1.6 Huffman解压缩345
10.2.1 精确测定算法时间的困难349
10.2 算法时间复杂度测度——算法计时器的实现349
10.2.2 应用统计方法解决困难350
10.2.3 完成自动分析的Timer类353
10.2.4 应用Timer类测试STL sort算法时间性能357
10.3 理论计算机科学家族谱的文档/视图模式——STL组件的综合应用360
10.3.1 系统设计:“模型—视图—控制器”模式360
10.3.2 数据关系建模与数据结构选择362
10.3.3 从源数据文档到视图364
10.3.4 完整的族谱视图程序以及运行示例370
10.4 词典检索系统——数据结构选择对系统性能影响的示例373
10.4.1 解决方案1:应用全排列的方法查找变位词374
10.4.2 解决方案2:应用pair向量改进时间效率377
10.4.3 解决方案3:使用映射改进空间效率382
附录A Boost安装指南386
附录B 随书所附光盘内容清单391
附录C STL库容器类速查手册392
热门推荐
- 2086005.html
- 1258027.html
- 227052.html
- 1791478.html
- 2028006.html
- 2752120.html
- 2649610.html
- 3543043.html
- 327570.html
- 1636161.html
- http://www.ickdjs.cc/book_3414113.html
- http://www.ickdjs.cc/book_3196002.html
- http://www.ickdjs.cc/book_3369606.html
- http://www.ickdjs.cc/book_1265298.html
- http://www.ickdjs.cc/book_2595316.html
- http://www.ickdjs.cc/book_1011207.html
- http://www.ickdjs.cc/book_1772953.html
- http://www.ickdjs.cc/book_1956394.html
- http://www.ickdjs.cc/book_1877289.html
- http://www.ickdjs.cc/book_1877164.html