| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1章 结构和类
1.1 结构
1.2 类的基本概念
1.3 类的实现
1.4 类的测试
1.5 将函数定义放在类定义中
1.6 类的注释
1.7 结构和类之间的区别
1.8 小结
1.9 练习
第2章 重载运算符、类模板和抽象
2.1 重载运算符
2.2 在Checkbook类中使用Check结构
2.3 类模板
2.4 类和抽象
2.5 小结
2.6 练习
第3章 类的更多内容
3.1 const限定符
3.2 构造函数
3.3 类的修改
3.4 修改Checkbook类保存支票历史记录
3.5 小结
3.6 练习
第4章 指针和动态数组
4.1 指针
4.2 〔〕运算符
4.3 动态分配内存
4.4 动态数组
4.5 delete操作符
4.6 对象指针
4.7 堆内存耗尽
4.8 可调数组
4.9 小结
4.10 练习
第5章 Array类
5.1 Array类模板
5.2 使用ArraY类
5.3 析构函数
5.4 复制构造函数
5.5 重载赋值运算符函数
5.6 示例
5.7 Array类的优缺点
5.8 标准模板库
5.9 小结
5.10 练习
第6章 面向对象编程简介
6.1 组合
6.2 继承
6.3 多态
6.4 小结
6.5 练习
第7章 生成数据结构的方法
7.1 在数据结构中使用数组
7.2 链式结构简介
7.3 链表编码
7.3.1 链表代码基础
7.3.2 在链表中搜索一个肯定存在的值
7.3.3 在链表中搜索可能不存在的值
7.3.4 在链表的表头插入一个结点
7.3.5 在链表中间插入一个结点
7.3.6 从链表中删除一个包含链表中某个值的结点
7.3.7 使用header结点简化代码
7.3.8 删除找到包含某值的结点
7.4 数组和链表的对比
7.4.1 数组和链表在速度上的比较
7.4.2 数组和链表在内存浪费上的比较
7.4.3 浪费内存分析
7.5 小结
7.6 练习
第8章 栈和队列
8.1 栈ADT
8.2 栈的数组实现
8.3 栈的链表实现
8.4 队列ADT
8.5 队列的链表实现
8.6 队列的其他链表实现
8.7 队列的数组实现
8.8 小结
8.9 练习
第9章 时间复杂度简介
9.1 时间复杂度基础
9.2 常量阶时间复杂度
9.3 大O表示法
9.4 对数阶时间复杂度
9.5 折半搜索算法
9.6 计算机速度:它来源于什么地方
9.7 数据结构函数的时间复杂度
9.8 数组扩展和收缩的平摊分析
9.9 小结
9.10 练习
第10章 链表作为数据结构
10.1 列表ADT
10.2 在信息记录中使用关键码值
10.3 链表实现
10.3.1 链表说明文件
10.3.2 链表实现文件
10.4 其他实现
10.5 小结
10.6 练习
第11章 散列表
11.1 散列表ADT
11.2 散列函数和散列表设计
11.3 散列表的实现问题
11.4 函数指针
11.5 散列表实现
11.6 使用散列表实现
11.7 双向链表的散列表实现
11.7.1 实现问题
11.7.2 DoublyLinkedList类的说明文件
11.7.3 DoublyLinkedList类的实现文件
11.8 小结
11.9 练习
第12章 优先级队列、树和堆
12.1 优先级队列ADT
12.2 优先级队列设计
12.3 树
12.4 堆
12.5 使用单赋值交换
12.6 优先级队列的堆实现(基于数组)
12.7 链(内嵌)堆设计
12.8 优先级队列的链(内嵌)堆实现
12.9 小结
12.10 练习
第13章 递归
13.1 递归阶乘函数
13.2 递归函数编写原则
13.3 在链式结构上使用递归
13.4 递归函数的时间复杂度
13.5 小结
13.6 练习
第14章 排序算法简介
14.1 堆排序
14.2 插入排序
14.3 快速排序
14.4 统计排序
14.5 链表排序
14.6 小结
14.7 练习
第15章 其他数据结构
15.1 二叉搜索树
15.2 BST和其他数据结构的对比
15.3 图
15.4 邻接矩阵和邻接表之间的对比
15.5 小结
15.6 练习
附录A 如何编译及使用多文件程序
A.1 Microsoft Visual Studio 2005 C++编译器
A.2 编译和运行使用类的代码(不是类模板)
A.3 编译和运行使用类模板的代码
A.4 使用Microsoft Visual Studio 2005编写代码
A.5 在Microsoft Visual Studio 2005中打开一个已创建的项目
A.6 何种情况下事情会变乱
A.7 UNIX编译器