本书首先复习了C++的基础知识,然后介绍了数据结构的相关内容,包括递归、栈、队列、链表、表、树、二叉树、查找树、堆和优先级队列、排序。本书附录中列出了相关的参考资源,提供了必要的数学知识,并给出了一些算法和类的源代码实现。[1]
本书包含大量的示例,有助于读者从中举一反三,深入学习数据结构方面的相关知识。在每一章末还提供了相关的复习题和问题,有利于学生巩固所学的知识,并且给出了所有复习题和问题的答案,为学生学习提供了方便。[1]
本书内容简明扼要、结构组织合理、示例丰富,非常适合于高等院校计算机专业的学生阅读,对于从事计算机软件开发的人员,也将从本书中受益匪浅。
第1章 C++复习 1
1.1 标准C++程序设计语言 1
1.2 条件语句 3
1.3 运算符 5
1.4 迭代 8
1.5 函数 10
1.6 字符串 12
1.7 文件 14
复习题 15
练习题 16
复习题答案 18
练习题答案 20
第2章 指针与数组 32
2.1 指针 32
2.2 派生类型 34
2.3 引用 35
2.4 按引用传递 35
2.5 空指针异常 37
2.6 new和delete运算符 38
2.7 数组 39
2.8 动态数组 40
2.9 把数组传递给函数 41
2.10 多维数组 42
复习题 43
练习题 44
复习题答案 46
练习题答案 47
第3章 类 60
3.1 Point类 60
3.2 实例、隐式形参和this指针 63
3.3 编译类及其客户程序 64
3.4 友元函数 68
3.5 Line类 68
3.6 用于随机数的类 71
3.7 静态成员 73
3.8 复合 75
3.9 继承 78
复习题 81
练习题 82
复习题答案 85
练习题答案 87
第4章 递归 98
4.1 阶乘函数 98
4.2 跟踪递归调用 99
4.3 斐波纳契数列 99
4.4 二项式系数 101
4.5 欧几里得算法 102
4.6 正确性的归纳证明 103
4.7 递归算法的复杂度分析 104
4.8 动态程序设计 105