书籍详情
C++数据抽象和问题求解(第6版)
作者:(美)卡拉拉(Frank M.Carrano),(美)亨利(Timothy Henry)著 景丽 译
出版社:清华大学出版社
出版时间:2013-11-01
ISBN:9787302335993
定价:¥99.80
购买这本书可以去
内容简介
《C++数据抽象和问题求解(第6版)/国外计算机科学经典教材》教材详细介绍了数据抽象的基础知识,强调作为面向对象方法基础原理的规范和实施之间的区别。书中使用的软件工程原则和概念以及UML图便于增强学生的理解。详细介绍了数据抽象,强调规范和实现之闻的区别广泛介绍了各种面向对象的编程技术重点是核心的数据结梅,而不是非必要的C++语言语法说嗡了类和ADT在闻题解决过程中的作用诠释了ADT的主要应用,如查找航班图、事件驱动的模拟和八皇后问题大部分章节中的例子都使用了标准模板库(STL)介绍了递归附录中提供了基本的C++语法.以帮助学生从其他语言转换为C++
作者简介
Frank M.Carrano是美国罗得岛大学(University of Rhode Island)计算机科学系荣誉退休教授,于1969年获得美国锡拉丘兹大学计算机科学专业博士学位。他的兴趣包括数据结构、计算机科学教育、社会问题的计算处理和数值计算。Carrano教授对计算机科学高年级本科课程的设计和交付特别感兴趣,曾撰写了多本著名的计算机科学高年级本科生教科书。Timothy Henry是美国罗得岛大学计算机科系副教授,1986年获得美国欧道明大学(Old Dominion University)计算机科学专业硕士学位,2001年获得美国罗得岛大学应用数学专业博士学位。从2000年至今一直保有美国PMI的项目管理专家(Project Management Professional,PMP)认证资格。他教授的课程有:数据结构与抽象、编程语言基础、操作系统与网络、计算机系统基础、计算机科学项目、文件系统取证等。研究的领域有:计算机和数学取证、交互式3D图形关系、传感器网络。
目录
第1章 数据抽象:墙
1.1 面向对象的概念
1.1.1 面向对象分析与设计
1.1.2 面向对象解决方案的特征
1.2 获得更好的解决方案
1.2.1 内聚
1.2.2 耦合
1.3 规范
1.3.1 操作契约
1.3.2 特殊情况
1.3.3 抽象
1.3.4 信息隐藏
1.3.5 最小且完整的接口
1.4 抽象数据类型
1.4.1 设计ADT
1.4.2 涉及其他ADT的ADT
1.5 ADT包
1.5.1 确定行为
1.5.2 指定数据和操作
1.5.3 ADT的模板接口
1.5.4 使用ADT包
C++片段1 C++类
C1.1待解决的问题
C1.1.1私有数据字段
C1.1.2 构造函数和析构函数
C1.1.3 方法
C1.1.4 防止编译错误
C1.2 实现解决方案
C1.3 模板
C1.4 继承
C1.4.1 基类和派生类
C1.4.2 重写基类方法
C1.5 虚方法和抽象类
C1.5.1 虚方法
C1.5.2 抽象类
第2章 递归:镜子
2.1 递归解决方案
2.2 返回值的递归
2.2.1 递归值函数:n的阶乘
2.2.2 箱式跟踪
2.3 执行动作的递归
2.4递归与数组
2.4.1 逆置数组项
2.4.2 折半查找
2.4.3 查找数组中的最大值
2.4.4 查找数组中第k个最小值
2.5 组织数据
2.6 更多示例
2.6.1 Fibonacci数列(兔子繁殖)
2.6.2 组织游行队伍
2.6.3 从n个事物中选出k个
2.7 递归和效率
第3章 基于数组的实现
3.1 办法
3.1.1 核心方法
3.1.2 使用大小固定的数组
3.2 ADT包的基于数组的实现
3.2.1 头文件
3.2.2 定义核心方法
3.2.3 测试核心方法
3.2.4 实现更多方法
3.2.5 删除项的方法
3.2.6 测试
3.3 在实现中使用递归
3.3.1 getlndexOf方法
3.3.2 getFrequencyOf方法
C++片段2指针、多态和内存分配
C2.1 变量的内存分配和方法的前期绑定
C2.2 需要解决的问题
C2.3 指针与程序的自由存储
C2.3.1 释放内存
C2.3.2 避免内存泄漏
C2.3.3 避免悬挂指针
C2.4 虚方法和多态
C2.5 数组的动态分配
第4章 基于链表的实现
4.1 预备知识
4.2 ADT包的基于链表的实现
4.2.1 头文件
4.2.2 定义核心方法
4.2.3 实现更多方法
4.3 在基于链表的实现中使用递归
4.4 测试多个ADT实现
4.5 比较基于数组的实现和基于链表的实现
第5章 作为问题求解技术的递归
5.1 定义语言
5.1.1 语法知识基础
5.1.2 两种简单的语言
5.2 代数表达式
5.2.1 代数表达式的类型
5.2.2 前缀表达式
5.2.3 后缀表达式
5.2.4 完全括号化表达式
5.3 回溯
5.3.1 查找航线
5.3.2 八皇后问题
5.4 递归和数学归纳法的关系
5.4.1 递归阶乘函数的正确性
5.4.2 Hanoi塔的工作量
第6章 栈
6.1 ADT栈
6.1.1 在设计解决方案期间开发ADT
6.1.2 ADT栈的规范
6.2 栈的简单应用
6.2.1 检查括号匹配
6.2.2 识别语言中的字符串
6.3 栈在代数表达式中的应用
6.3.1 计算后缀表达式
6.3.2 中缀表达式与后缀表达式的等价转换
6.4 使用栈查找航班图
6.5 栈和递归的关系
C++片段3异常
C3.1 背景知识
C3.2 断言
C3.3 抛出异常
C3.4 处理异常
C3.4.1 多个catch块
C3.4.2 未捕获的异常
C3.5 程序员定义的异常类
第7章 实现ADT栈
7.1 基于数组的实现
7.2 基于链表的实现
7.3 在实现中使用异常
第8章 列表
8.1 指定ADT列表
8.2 使用列表操作
8.3 ADT列表的模板接口
第9章 实现列表
9.1 基于数组的ADT列表实现
9.1.1 头文件
9.1.2 实现文件
9.2 基于链表的ADT列表实现
9.2.1 头文件
9.2.2 实现文件
……
第10章 算法的效率
第11章 排序算法及其效率
第12章 有序表及其实现
第13章 队列和优先队列
第14章 队列和优先队列的实现
第15章 树
第16章 树的实现
第17章 堆
第18章 字典及其实现
第19章 平衡查找树
第20章 图
第21章 外部存储中的数据处理
1.1 面向对象的概念
1.1.1 面向对象分析与设计
1.1.2 面向对象解决方案的特征
1.2 获得更好的解决方案
1.2.1 内聚
1.2.2 耦合
1.3 规范
1.3.1 操作契约
1.3.2 特殊情况
1.3.3 抽象
1.3.4 信息隐藏
1.3.5 最小且完整的接口
1.4 抽象数据类型
1.4.1 设计ADT
1.4.2 涉及其他ADT的ADT
1.5 ADT包
1.5.1 确定行为
1.5.2 指定数据和操作
1.5.3 ADT的模板接口
1.5.4 使用ADT包
C++片段1 C++类
C1.1待解决的问题
C1.1.1私有数据字段
C1.1.2 构造函数和析构函数
C1.1.3 方法
C1.1.4 防止编译错误
C1.2 实现解决方案
C1.3 模板
C1.4 继承
C1.4.1 基类和派生类
C1.4.2 重写基类方法
C1.5 虚方法和抽象类
C1.5.1 虚方法
C1.5.2 抽象类
第2章 递归:镜子
2.1 递归解决方案
2.2 返回值的递归
2.2.1 递归值函数:n的阶乘
2.2.2 箱式跟踪
2.3 执行动作的递归
2.4递归与数组
2.4.1 逆置数组项
2.4.2 折半查找
2.4.3 查找数组中的最大值
2.4.4 查找数组中第k个最小值
2.5 组织数据
2.6 更多示例
2.6.1 Fibonacci数列(兔子繁殖)
2.6.2 组织游行队伍
2.6.3 从n个事物中选出k个
2.7 递归和效率
第3章 基于数组的实现
3.1 办法
3.1.1 核心方法
3.1.2 使用大小固定的数组
3.2 ADT包的基于数组的实现
3.2.1 头文件
3.2.2 定义核心方法
3.2.3 测试核心方法
3.2.4 实现更多方法
3.2.5 删除项的方法
3.2.6 测试
3.3 在实现中使用递归
3.3.1 getlndexOf方法
3.3.2 getFrequencyOf方法
C++片段2指针、多态和内存分配
C2.1 变量的内存分配和方法的前期绑定
C2.2 需要解决的问题
C2.3 指针与程序的自由存储
C2.3.1 释放内存
C2.3.2 避免内存泄漏
C2.3.3 避免悬挂指针
C2.4 虚方法和多态
C2.5 数组的动态分配
第4章 基于链表的实现
4.1 预备知识
4.2 ADT包的基于链表的实现
4.2.1 头文件
4.2.2 定义核心方法
4.2.3 实现更多方法
4.3 在基于链表的实现中使用递归
4.4 测试多个ADT实现
4.5 比较基于数组的实现和基于链表的实现
第5章 作为问题求解技术的递归
5.1 定义语言
5.1.1 语法知识基础
5.1.2 两种简单的语言
5.2 代数表达式
5.2.1 代数表达式的类型
5.2.2 前缀表达式
5.2.3 后缀表达式
5.2.4 完全括号化表达式
5.3 回溯
5.3.1 查找航线
5.3.2 八皇后问题
5.4 递归和数学归纳法的关系
5.4.1 递归阶乘函数的正确性
5.4.2 Hanoi塔的工作量
第6章 栈
6.1 ADT栈
6.1.1 在设计解决方案期间开发ADT
6.1.2 ADT栈的规范
6.2 栈的简单应用
6.2.1 检查括号匹配
6.2.2 识别语言中的字符串
6.3 栈在代数表达式中的应用
6.3.1 计算后缀表达式
6.3.2 中缀表达式与后缀表达式的等价转换
6.4 使用栈查找航班图
6.5 栈和递归的关系
C++片段3异常
C3.1 背景知识
C3.2 断言
C3.3 抛出异常
C3.4 处理异常
C3.4.1 多个catch块
C3.4.2 未捕获的异常
C3.5 程序员定义的异常类
第7章 实现ADT栈
7.1 基于数组的实现
7.2 基于链表的实现
7.3 在实现中使用异常
第8章 列表
8.1 指定ADT列表
8.2 使用列表操作
8.3 ADT列表的模板接口
第9章 实现列表
9.1 基于数组的ADT列表实现
9.1.1 头文件
9.1.2 实现文件
9.2 基于链表的ADT列表实现
9.2.1 头文件
9.2.2 实现文件
……
第10章 算法的效率
第11章 排序算法及其效率
第12章 有序表及其实现
第13章 队列和优先队列
第14章 队列和优先队列的实现
第15章 树
第16章 树的实现
第17章 堆
第18章 字典及其实现
第19章 平衡查找树
第20章 图
第21章 外部存储中的数据处理
猜您喜欢