数据结构与Java教程

数据结构与Java教程
作 者: Frank Carrano Janet Prichard 文家焱 刘伟杰 黄丽姬 文家焱
出版社: 清华大学出版社
丛编项: 国外经典教材·计算机科学与技术
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Frank M.Cairo于1969年获得Syracuse大学的博士学位。多年来,Carrano教授一直致力于数据结构、数据抽象、计算机科学教育、社会信息处理以及数值计算领域的研究,他还非常重视计算机科学专业本科教材的设计和发行工作,目前已经编写并出版了数本知名的教材。Janet J.Prichard分别于1986年和1995年获得Rhode Island大学的理学硕士学位和哲学博士学位,目前在Bryant大学任助理教授。她的研究领域包括实时数据库、数据库查询语言、网络安全。

内容简介

本书特色:-适用于没有基础的初学者-丰富的课后练习及答案-详细讲解重要的递归思想及其应用:这在同类书中并不多见本书详细介绍了数据间的逻辑关系、存储方式和相关运算。帮助学生逐步学会分析和解决程序设计问题。举例说明了在问题求解过程中类和抽象数据类型的作用,论述了抽象数据类型的主要用途,并在许多实例和习题中使用了递归方法。本书可作为计算机及其相关专业的本科生、研究生的教材,也可供程序开发人员自学。适用课程:数据结构、算法设计、算法分析、程序设计等

图书目录

第Ⅰ部分 问题求解方法

第1章 程序设计与软件工程基本原理 1

1.1 问题求解与软件工程 1

1.2 完成模块化设计 10

1.3 程序设计关键问题小结 15

第2章 递归:镜子 32

2.1 递归解决方案 32

2.2 事件计数 49

2.3 数组检索 55

2.4 组织数据 62

2.5 递归和效率 67

第3章 数据抽象:墙 76

3.1 抽象数据类型 76

3.2 规定ADT 80

3.3 实现ADT 90

第4章 链表 109

4.1 预备知识 109

4.2 链表程序设计 118

4.3 链表的变种 137

4.4 应用实例:维护库存清单 143

第5章 问题求解的递归方法 153

5.1 回溯 153

5.2 定义语言 157

5.3 递归与数学归纳的关系 167

第Ⅱ部分 用抽象数据类型求解问题

第6章 栈 177

6.1 抽象数据类型 177

6.2 栈ADT的简单应用 181

6.3 栈ADT的实现 185

6.4 应用:代数表达式 191

6.5 应用:检索问题 195

6.6 栈和递归之间的关系 204

第7章 队列 212

7.1 队列 212

7.2 队列ADT的简单应用 213

7.3 队列的实现 215

7.4 面向位置的ADT综述 225

7.5 应用:仿真 226

第8章 类关系 238

8.1 继承回顾 238

8.2 动态绑定和抽象类 246

8.3 ADT表和有序表回顾 254

8.4 面向对象方法的好处 262

第9章 算法效率与排序 267

9.1 算法效率的度量 267

9.2 排序算法及其效率 276

第10章 树 303

10.1 术语 303

10.2 二叉树ADT 309

10.3 二叉查找树 326

10.4 通用树 348

第11章 表格与优先级队列 357

11.1 表格ADT 357

11.2 优先级队列:表格的一种变体 371

第12章 表格的高级实现 389

12.1 平衡查找树 389

12.2 散列法 416

12.3 多重组织的数据 431

第13章 图 439

13.1 术语 439

13.2 图ADT 442

13.3 图的遍历 445

13.4 图的应用 449

第14章 外部方法 468

14.1 外部存储器简介 468

14.2 外部文件中的数据排序 470

14.3 外部表格 476

自测题答案 497