|
作者: | (美) 卡雷诺 著, 郭平, 张敏 译, 曹蓉蓉, 宋红 审校 |
ISBN: |
9787302118695 , 7302118698
|
出版社: | |
出版日期: | 2005-11-1 |
定价: |
¥79.80 元
|
|
|
|
|
内容提要 :
本书主要论述数据抽象和其他解决问题的工具,是计算机科学的第二门课。
本书旨在使学生切实了解和掌握数据抽象、面向对象编程及其他主流的问题解决技术。本书分两部分。第I部分是问题解决技术,主要介绍了编程和软件工程的主要问题,分析了递归、数据抽象和链表。第II部分用ADT解决问题。这部分主要介绍了栈、队列、树、表、堆和优先队列的基本ADT,还讨论了数量阶分析和大O表示法,规范了以前讨论的算法效率。第II部分还包括平衡查找树(2-3树、2-3-4树、红-黑树和AVL树)和散列等高级主题,并用它们实现表。最后分析外部直接访问文件的数据存储。
本书列举了大量实例,范围很广,既可用作初级数据结构教材,也可用作高级编程和问题解决教材。
编辑推荐 :
本书畅销的经典教材经过本次修订后,囊括了C++编程语言的许多最新特性.除阐述了数据抽象的所有的基础知识外,还强调了规范和实现之间的区别,而这种区别正是面向对象方式的基础。本书详细介绍了数据抽象的基础知识,并进行了具体应用。扩展了面向对象的编程技术。
作者简介 :
Frank M.Carrano:Syracuse大学博士毕业,现任Rhode Island大学计算科学系教授。主要研究方向为数据投影象技术、教育软件及多媒体技术。编写过多部著作,如Data Abstraction and Problem Solving with Java:Walls and Mirrors 和Intermediate Problem Solving and Data Structures:Walls and Mirrors。
译者,郭平,女,1962年生,硕士,教授,毕业于湖南大学。一直从事计算机网络与通信高级程序设计、网络系统安全方面的教学、科研和开发工作;取得多项科研、学术成果,在核心期刊、国际国内会议上发表论文30余篇。编著出版教材和译著5本,获军队科技进步奖励3项。主要研究领域:计算机网络系统设计、网络性能分析、Web应用系统。
目录 :
第1部分 问题解决技术
第1章 编程原理与软件工程
1.1 问题求解与软件工程
1.1.1 问题求解的含义
1.1.2 软件的生命周期
1.1.3 优秀解决方案的含义
1.2 模块化设计
1.2.1 抽象与信息隐藏
1.2.2 面向对象的设计
1.2.3 自上面下的设计
1.2.4 一般设计原则
1.2.5 使用UML为面向对象的设计建模
1.2.6 面向对象方式的优点
1.3 关键编程问题
1.3.1 模块化
1.3.2 可修改
1.3.3 易用
1.3.4 防故障编程
1.3.5 风格
1.3.6 调试
1.4 小结
1.5 提示
1.6 自我测试题
1.7 练习题
1.8 编程问题
第2章 递归:镜子
2.1 递归解决方案
2.1.1 递归值函数:n的阶乘
2.1.2 递归void函数:逆置字符串
2.2 计数
2.2.1 兔子繁殖(Fibonacci序列)
2.2.2 组织游行队伍
2.2.3 Spock的困惑
2.3 数组查找
2.3.1 查找数组的最大项
2.3.2 折半查找
2.3.3 查的数组中的 第k个最小项
2.4 组织数据
2.5 递归与效率
2.6 小结
2.7 提示
2.8 自我测试题
2.9 练习题
2.10 编程问题
第3章 数据抽象:墙
3.1 抽象数据类型
3.2 指定ADT
3.2.1 ADT列表
3.2.2 ADT有序表
3.2.3 设计ADT
3.2.4 公理
3.3 实现ADT
3.3.1 C++类
3.3.2 C++命名空间
3.3.3 基于数组的ADT列表实现
3.3.4 C++异常
3.3.5 使用异常的ADT列表实现
3.4 小结
3.5 提示
3.6 自我测试题
3.7 练习题
3.8 编程问题
第4章 链表
第5章 递归问题解决技术
第2部分 使用抽象数据类型解决问题
第6章 栈
第7章 队例
第8章 类关系
第9章 算法效率和排序
第10章 树
第11章 表和优先队列
第12章 表的高级实现
第13章 图
第14章 外部方法
附录A ++基础
附录B ASCII字答代码
附录C C++头文件和标准函数
附录D 数学归纳法
附录E 标准模板库
术语表
自我测试题答案
前言:
本书自第3版以来,我们积累了一些使用C++以面向对象的方式教授数据抽象的经验。第4版就反映了这些经验和C抖的一些变化。.
本书基于Paul Helman和Robert Veroff最初编著的Intermediate Problem Solving and DataStractures:Walls and Mirrors(Benjamin/Cumming公司,1986年),继承了原著的组织方式和整体理念,包括技术要点与正文内容、示例、图和练习题。Paul Helman和Robert Veroff教授引入了两个内涵丰富的词:墙和镜子,方便了计算机科学的教学。
本书主要论述数据抽象和其他解决问题的工具,是计算机科学的一门核心课程。考虑到计算机科学的动态性和多样性,本书涵盖各种主题,以求尽量适用于不同..