书籍详情
数据结构-Java语言描述(英文版,第三版)
作者:(美)梅因
出版社:机械工业出版社
出版时间:2006-08-01
ISBN:9787111196105
定价:¥79.00
购买这本书可以去
内容简介
本书系统地讲述了各种常用的数据结构,对基本概念、基本原理和基本方法进行了深入浅出的介绍,同时对相关的算法设计也进行了详细的讲解。本书的一大特点就是采用非常流行的面向对象程序设计语言Java作为算法描述语言,将传统的数据结构与面向对象技术完美结合,更加自然贴切,易于理解。 本书第3版结合Java5.0进行了改进,增加了一些新内容,包括:泛型和枚举数据类型,数组、集合以及枚举类型中使用的for循环的新形式,用于原始值与封装器之间转换的autoboxing和unboxing,带有可变参数的方法,输入/输出特性,Java子类型和协变返回值。本书特色 各个主题的顺序非常灵活,教师可以根据课程需要自行选择。 讲述如何基于Java类库规范,设计、实现和使用类。 讨论编程技巧、陷阱警告和错误警告,突出Java的细微之处。 使用一致的五步方法介绍数据类型:抽象理解数据类型,编写规格说明,使用数据类型,设计和实现数据类型,分析实现。 介绍如何编写Java Applet来测试新实现的数据结构。
作者简介
MichaelMain于华盛顿州立大学获得博士学位,目前为科罗拉多大学计算机科学系副教授。
目录
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
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
猜您喜欢