数据结构-Java语言描述(英文版,第三版)

数据结构-Java语言描述(英文版,第三版)
作 者: 梅因
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 入门教程
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  MichaelMain于华盛顿州立大学获得博士学位,目前为科罗拉多大学计算机科学系副教授。

内容简介

本书系统地讲述了各种常用的数据结构,对基本概念、基本原理和基本方法进行了深入浅出的介绍,同时对相关的算法设计也进行了详细的讲解。本书的一大特点就是采用非常流行的面向对象程序设计语言Java作为算法描述语言,将传统的数据结构与面向对象技术完美结合,更加自然贴切,易于理解。 本书第3版结合Java5.0进行了改进,增加了一些新内容,包括:泛型和枚举数据类型,数组、集合以及枚举类型中使用的for循环的新形式,用于原始值与封装器之间转换的autoboxing和unboxing,带有可变参数的方法,输入/输出特性,Java子类型和协变返回值。本书特色 各个主题的顺序非常灵活,教师可以根据课程需要自行选择。 讲述如何基于Java类库规范,设计、实现和使用类。 讨论编程技巧、陷阱警告和错误警告,突出Java的细微之处。 使用一致的五步方法介绍数据类型:抽象理解数据类型,编写规格说明,使用数据类型,设计和实现数据类型,分析实现。 介绍如何编写Java Applet来测试新实现的数据结构。

图书目录

CHAPTER 1 The Phases of Software Development

1.1 Specification,Design,Implementation

1.2 Running Time Analysis

1.3 Testing and Debugging

CHAPTER 2 Java Classes and Information Hiding

2.1 Classes and Their Members

2.2 Using a Class

2.3 Packages

2.4 Parameters,Equals Methods,and Clones

CHAPTER 3 Collection Classes

3.1 A Review of Java Arrays

3.2 An ADT for a Bag of Integers

3.3 Programming Project:The Sequence ADT

3.4 Programming Project:The Polynomial

CHAPTER 4 Linked Lists

4.1 Fundamentals of Linked Lists

4.2 Methods for Manipulating Nodes

4.3 Manipulating and Entire Linked List

4.4 The Bag ADT with a Linked List

4.5 Programming Project:The Sequence ADT with a Linked List

4.6 Beyond Simple Linked Lists

CHAPTER 5 Generic Programming

5.1 Java's Object Type

5.2 Object Methods and Generic Methods

5.3 Generic Classes

5.4 Generic Nodes

5.5 Interfaces and Iterators

5.6 A Generic Bag Class That Implements the Interface

5.7 Introduction to the Java Colletion and Map Interfaces

CHAPTER 6 Stacks

6.1 Introduction to Stacks

6.2 Stack Applications

6.3 Implementations of the Stack ADT

6.4 More Complex Stack Applications

CHAPTER 7 Queues

7.1 Introduction to Queues

7.2 Queues Applications

7.3 Implementations of the Queue ADT

7.4 Priority Queues

CHAPTER 8 Recursive Thinking

8.1 Recursive Methods

8.2 Studies of Recursion

8.3 Reasoning about Recursion

CHAPTER 9 Trees

9.1 Introduction to Trees

9.2 Tree Representations

9.3 A Class for Binary Tree Nodes

9.4 Tree Traversals

9.5 Binary Search Trees

CHAPTER 10 Projects

10.1 Heaps

10.2 B-Trees

10.3 Java Support for Trees

10.4 Trees,Logs,and Time Analysis

CHAPTER 11 Searching

11.1 Serial Search and Binary Search

11.2 Open-Address Hashing

11.3 Using Java's Hashtable Class

11.4 Chained Hashing

11.5 Time Analysis of Hashing

CHAPTER 12 Sorting

12.1 Quadratic Sorting Algorithms

12.2 Recursive Sorting Algorithms

12.3 An O Algorithm Using a Heap

CHAPTER 13 Software Reuse with Extended Classes

13.1 Extended Classes

13.2 Generic Type Parameters and Inheritance

13.3 Simulation of an Ecosystem

13.4 Abstract Classes and a Game Class

CHAPTER 14 Graphs

14.1 Graph Definitions

14.2 Graph Implementations

14.3 Graph Traversals

14.4 Path Algorithms

APPENDIXES

INDEX