本书从抽象思想、问题解决以及C++编程语言使用的观点介绍了数据结构和算法。本书中包含了C++的最新特性,任何地方都可以完全使用标准模板库(STL)。\r\n C++允许程序员分开编写接口和实现,将它们保存在单独编译的文件中,并隐藏实现的具体细节。本书深入了一层:数据结构的接口和实现在本书的不同部分讨论。第一部分(对象和C++)、第二部分(算法和构建块)、第三部分(应用程序)打基础,专门讨论各种基本概念并提供实践中的一些例子。第四部分(实现)介绍数据结构的实现。接口与实现的这种分离促进了抽象思想。将类接口放在实现之前编写与使用,这就迫使读者去思考各种数据结构的功能性和潜能(例如,在实现优先队列之前就使用它了)。\r\n 特色:\r\n 加入了C++最新的发展,包含一个有关模型的新章节,并且从头到尾都使用了vector类。\r\n 包含在恰当时使用了STL的修订材料。\r\n 介绍高级使用C++较重要的细节的同时,介绍了类和继承(这两者简化了最初的表示法)的一些新内容。\r\n 阐述了数据结构的STL接口,并提供了STL实现,同时也提供了不使用STL的简化过的接口,这使得理解数据结构的基础知识更加简单,没有了STL的复杂性。\r\n 包含大量的代码。这些都已被全面重写并测试过,可兼容当前各种各样的编译器。\r\n
第一部分 对象和C++\r\n 第1章 数组、指针和结构\r\n 1.1 什么是指针、数组和结构\r\n 1.2 数组和字符串\r\n 1.2.1 头等对象与次等对象的对比\r\n 1.2.2 使用Vector\r\n 1.2.3 调整Vector大小\r\n 1.2.4 push_back大小与容量\r\n 1.2.5 参数传递机制\r\n 1.2.6 常量基元数组\r\n 1.2.7 多维数组\r\n 1.2.8 标准库类型string\r\n 1.3 C++中的指针语法\r\n 1.4 动态内存管理\r\n 1.4.1 new运算符\r\n 1.4.2 垃圾收集与delete\r\n 1.4.3 过期指针、双重删除及其他\r\n 1.5 引用变量\r\n 1.6 结构\r\n 1.6.1 指向结构的指针\r\n 1.6.2 外部数据与内部数据、深复制与浅复制\r\n 1.6.3 非邻接链表:链表\r\n 小结\r\n 学习目标\r\n 常见错误\r\n 网上资源\r\n 练习\r\n 简答题\r\n 实践题\r\n 编程项目\r\n 参考文献\r\n 第2章 对象和类\r\n 2.1 什么是面向对象编程\r\n 2.2 类的基本语法\r\n 2.2.1 类成员\r\n 2.2.2 附加的构造函数语法和访问函数\r\n 2.2.3 接口和实现的分离\r\n 2.2.4 析构函数、复制构造函数和赋值运算符(=)\r\n 2.2.5 默认的构造函数\r\n 2.3 附加的C++类特性\r\n 2.3.1 调整后的构造函数中的初始化与赋值\r\n 2.3.2 类型转换\r\n 2.3.3 运算符重载\r\n 2.3.4 输入、输出和友元\r\n 2.4 一些常用术语\r\n 2.4.1 避免使用友元\r\n 2.4.2 静态类成员\r\n 2.4.3 整型类常量的陷阱\r\n 2.5 异常\r\n 2.6 String类\r\n 2.7 要点重述:进行了哪些调用?哪些采用了默认行为\r\n 2.8 组合\r\n 小结\r\n 学习目标\r\n 常见错误\r\n Internet资源\r\n 练习\r\n 简答题\r\n 理论题\r\n 编程项目\r\n 参考文献\r\n 第3章 模板\r\n 3.1 模板的概念\r\n 3.2 函数模板\r\n 3.3 排序函数模板\r\n 3.4 类模板\r\n 3.4.1 MemoryCell模板\r\n 3.4.2 实现vector类模板\r\n 3.5 模板的模板:matrix类\r\n 3.5.1 数据成员、构造函数和基本附件\r\n 3.5.2 operator [ ]\r\n 3.5.3 析构函数、复制赋值和复制构造函数\r\n 3.6 Fancy模板\r\n 3.6.1 多平台参数\r\n 3.6.2 默认的模板参数\r\n 3.6.3 保留字typename\r\n 3.7 与模板有关的bug\r\n 3.7.1 错误消息和改变的规则\r\n 3.7.2 模板匹配算法\r\n 3.7.3 模板中的嵌套类\r\n 3.7.4 类模板中的静态成员\r\n 小结\r\n 学习目标\r\n 常见错误\r\n Internet资源\r\n 练习\r\n 简答题\r\n 实践题\r\n 编程项目\r\n 第4章 继承\r\n 4.1 什么是继承\r\n 4.2 继承的基本知识\r\n 4.2.1 可视性规则\r\n 4.2.2 构造函数和基类初始化\r\n 4.2.3 添加成员\r\n 4.2.4 覆盖方法\r\n 4.2.5 静态绑定和动态绑定\r\n 4.2.6 默认的构造函数、复制构造函数、复制赋值运算符和析构函数\r\n 4.2.7 构造函数和析构函数virtual或非virtual\r\n 4.2.8 抽象方法和抽象类\r\n 4.3 例子:扩展Shape类\r\n 4.4 微妙的C++细节\r\n 4.4.1 参数的静态绑定\r\n 4.4.2 默认参数\r\n 4.4.3 派生类方法隐藏基类方法\r\n 4.4.4 覆盖方法的兼容返回类型\r\n 4.4.5 私有继承\r\n 4.4.6 友元\r\n 4.4.7 值调用与多态并不混淆\r\n 4.5 多重继承\r\n 小结\r\n 学习目标\r\n 常见错误\r\n Internet资源\r\n 练习\r\n 简答题\r\n 实践题\r\n 编程项目\r\n 参考文献\r\n……\r\n第二部分 算法和构建代码块\r\n第三部分 应用程序\r\n第四部分 实现\r\n第五部分 高级数据结构\r\n附录\r\n
无封面