C++与数据结构PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:高飞等编著
- 出 版 社:北京:北京理工大学出版社
- 出版年份:2006
- ISBN:7564008539
- 页数:418 页
第一部分 面向对象的C++程序设计基础 1
第1章 面向对象的设计方法 1
1.1 面向对象的思想 1
1.1.1 面向对象的程序设计 2
1.1.2 面向对象的语言 2
1.2 面向对象的基本概念 2
1.2.1 对象 2
1.2.2 消息 3
1.2.3 类 4
1.3 面向对象的基本特性 4
1.3.1 封装性 4
1.3.2 继承性 5
1.3.3 多态性 5
1.4 C++的初步知识 5
1.4.1 从C到C++ 6
1.4.2 最简单的C++程序 8
1.4.3 C++程序的构成和书写形式 11
1.4.4 C++程序的编写和实现 12
习题一 14
第2章 C++类及其对象的封装性 15
2.1 类的声明和对象的定义 15
2.1.1 类和对象的关系 15
2.1.2 声明类类型 16
2.1.3 定义对象的方法 18
2.1.4 类和结构体类型的异同 20
2.2 类的成员函数 22
2.2.1 成员函数的性质 22
2.2.2 在类外定义成员函数 22
2.2.3 inline成员函数 23
2.2.4 成员函数的存储方式 24
2.3.1 通过对象名和成员运算符访问对象中的成员 26
2.3.2 通过指向对象的指针访问对象中的成员 26
2.3 对象成员的引用 26
2.4 类的封装性和信息隐蔽 28
2.4.1 公共接口和私有实现的分离 28
2.4.2 类声明和成员函数定义的分离 29
2.5 构造函数 32
2.5.1 对象的初始化 32
2.5.2 构造函数的作用 33
2.5.3 带参数的构造函数 35
2.5.4 用参数初始化表对数据成员初始化 36
2.5.5 构造函数的重载 36
2.5.6 使用默认参数的构造函数 38
2.6 析构函数 42
2.7 调用构造函数和析构函数的顺序 44
2.8 对象指针 45
2.8.1 指向对象的指针 45
2.8.2 指向对象成员的指针 46
2.8.3 this指针 49
2.9 动态存储 50
2.10 C++中的对象 51
习题二 53
第3章 友元、重载和引用 55
3.1 友元 55
3.1.1 友元的定义 55
3.1.2 友元函数 56
3.1.3 友元成员 57
3.1.4 友元类 60
3.2 重载 62
3.2.1 函数重载 62
3.2.2 运算符重载 66
3.3 引用 80
3.3.1 引用的概念 80
3.3.2 引用的应用 82
3.3.3 引用作为函数参数 83
习题三 89
第4章 继承与派生 91
4.1 继承与派生的概念 91
4.2 派生类的声明方式 92
4.3 派生类的构成 93
4.4 派生类成员函数的访问属性 95
4.4.1 公有继承 95
4.4.2 私有继承 97
4.4.3 保护成员和保护继承 99
4.4.4 多级派生时的访问属性 103
4.5 派生类的构造函数和析构函数 110
4.5.1 简单的派生类的构造函数 110
4.5.2 有子对象的派生类的构造函数 112
4.5.3 多级派生时的构造函数 114
4.5.4 派生类构造函数的特殊形式 116
4.5.5 派生类的析构造函数 116
4.6 多继承 117
4.6.1 声明多继承的方法 118
4.6.2 多继承派生类的构造函数 118
4.6.3 多继承的析构函数 120
4.6.4 多继承引起的二义性问题 121
4.7 虚基类 124
4.7.1 虚基类的概念 124
4.7.2 虚基类的初始化 126
习题四 129
第5章 多态性与虚函数 133
5.1 多态性 133
5.1.1 多态性的概念 133
5.1.2 编译时的多态性 133
5.1.3 运行时的多态性 135
5.2 虚函数 137
5.2.1 虚函数的作用 137
5.2.2 虚函数的声明 138
5.2.3 虚析构函数 141
5.3 纯虚函数与抽象类 142
5.3.1 纯虚函数 142
5.3.2 抽象类 144
5.3.3 应用实例 146
习题五 151
第6章 模板 154
6.1 模板的概念 154
6.2 函数模板 155
6.2.1 函数模板和模板函数 155
6.2.2 重载模板函数 160
6.3 类模板 161
6.3.1 类模板和模板类的概念 161
6.3.2 类模板的派生 164
习题六 165
7.1 数据结构的基本概念 166
第7章 绪论 166
第二部分 数据结构——用面向对象方法与C++描述 166
7.2 抽象数据类型及面向对象概念 168
7.2.1 数据类型 168
7.2.2 数据抽象与抽象数据类型 168
7.3 算法和算法分析 169
7.3.1 算法 169
7.3.2 算法设计的要求 169
7.3.3 算法效率的度量 170
7.4 数据结构的抽象层次 172
习题七 173
第8章 线性表 174
8.1 线性表的定义 174
8.1.1 线性表的逻辑结构 174
8.1.2 线性表的存储表示 174
8.2 抽象链表类 176
8.2.1 线性链表的特点 176
8.2.2 抽象链表类的定义 177
8.2.3 抽象链表中各成员函数的实现 178
8.3 单链表 180
8.3.1 单链表的定义 180
8.3.2 单链表类的定义 180
8.3.3 单链表的常用成员函数的实现 181
8.3.4 单链表举例——一元多项式加法 185
8.4.1 循环链表的定义 188
8.4.2 循环链表类的定义 188
8.4 循环链表 188
8.4.3 循环链表常用函数的实现 189
8.4.4 循环链表举例——约瑟夫(Josephu)问题 194
8.5 双向链表 195
8.5.1 双向链表的定义 195
8.5.2 双向链表类的定义 196
8.5.3 双向链表的常用成员函数的实现 196
习题八 201
9.1.2 数组的存储结构 203
9.1.1 数组的逻辑结构 203
第9章 数组 203
9.1 数组的定义 203
9.1.3 数组的常用操作 204
9.2 数组类的定义及实现 204
9.2.1 数组类的定义 204
9.2.2 数组类常用函数的实现 206
9.2.3 数组类的应用举例——一元多项式加法 212
习题九 215
第10章 串 217
10.1 串的概念 217
10.1.1 串的定义 217
10.1.2 串的基本术语 217
10.1.3 串的存储表示和实现 218
10.1.4 串的基本运算 218
10.2.1 字符串类的定义 219
10.2 字符串类的定义及实现 219
10.2.2 字符串类中常用成员函数的实现 220
习题十 232
第11章 堆栈与队列 233
11.1 堆栈的概念及其运算 233
11.2 栈的抽象类定义 234
11.3 栈的定义及其实现 235
11.3.1 顺序栈的定义 235
11.3.2 顺序栈类的定义及典型成员函数的实现 235
11.3.3 多栈共享空间问题 238
11.3.4 链栈的定义 240
11.3.5 链式栈类的定义及典型成员函数的实现 241
11.4 堆栈的应用举例 244
11.4.1 数制转换 244
11.4.2 一个趣味游戏——迷宫问题 245
11.6 抽象队列类的定义 250
11.5 队列的概念及其运算 250
11.7 队列的定义及其实现 251
11.7.1 队列的顺序存储结构 251
11.7.2 循环队列的定义 253
11.7.3 顺序循环队列类的定义及常用成员函数的实现 254
11.7.4 链式队列的定义 256
11.7.5 链式队列类的定义及常用成员函数的实现 257
11.7.6 链式队列的应用举例 260
11.7.8 优先级队列类的定义及常用成员函数的实现 262
11.7.7 优先级队列的定义 262
习题十一 266
第12章 树 268
12.1 树、二叉树与森林的基本概念 268
12.1.1 树 268
12.1.2 二叉树 269
12.1.3 树与森林的存储结构 275
12.2.1 二叉树的抽象类 279
12.2 二叉树的抽象类和树的抽象类 279
12.2.2 树的抽象类 286
12.3 二叉树的遍历和树的遍历 293
12.3.1 二叉树的遍历 293
12.3.2 树的遍历 300
12.4 二叉排序树 303
12.5 二叉树的计数 308
12.6 赫夫曼树及其应用 310
12.6.1 最优二叉树(赫夫曼树) 310
12.6.2 赫夫曼编码 312
习题十二 314
第13章 图 316
13.1 图的基本概念 316
13.1.1 图的定义 316
13.1.2 图的术语 317
13.1.3 图的基本操作 319
13.1.4 图的存储表示 320
13.2 图的抽象类 325
13.2.1 图的邻接矩阵类 325
13.2.2 图的邻接表类 331
13.3 图的遍历 339
13.3.1 深度优先搜索DFS 340
13.3.2 广度(或宽度)优先搜索BFS 341
13.4 图的连通性与最小生成树 342
13.4.1 无向图的连通分量和生成树 342
13.4.2 最小生成树 342
13.4.3 关节点和重连通分量 349
13.5 最短路径 352
13.5.1 图结点的可达性 352
13.5.2 从某个源点到其余各顶点的最短路径 353
13.5.3 每一对顶点之间的最短路径 355
13.6 活动网络 357
13.6.1 用顶点表示活动的网络(AOV网络) 358
13.6.2 用边表示活动的网络(AOE网络) 359
习题十三 361
第14章 查找与散列结构 364
14.1 静态查找表 365
14.1.1 顺序表的查找 365
14.1.2 有序表的查找 367
14.1.3 索引顺序表的查找 369
14.2 动态查找表 370
14.3 哈希表及其查找 376
14.3.1 哈希表 376
14.3.2 哈希函数的构造方法 378
14.3.3 处理冲突的方法 381
14.3.4 哈希表的查找及其分析 382
习题十四 385
第15章 排序 387
15.1 排序的基本概念 387
15.2.1 直接插入排序 389
15.2 插入排序 389
15.2.2 其他插入排序 391
15.2.3 希尔排序 394
15.3 快速排序 396
15.4 选择排序 399
15.4.1 简单选择排序 399
15.4.2 锦标赛排序 400
15.4.3 堆排序 404
15.5 归并排序 410
15.5.1 归并 410
15.5.2 迭代的归并排序算法 411
15.6 基数排序 413
15.6.1 多关键字排序 413
15.6.2 链式基数排序 414
习题十五 417
参考文献 418
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《数据失控》(美)约翰·切尼-利波尔德(John Cheney-Lippold)著 2019
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《穿越数据的迷宫 数据管理执行指南》Laura Sebastian-Coleman 2020
- 《柏里曼人体结构绘画教学描摹本 第2册 头手足结构》杨建飞主编 2019
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019