本书使用流行的Java语言作为描述语言,详细介绍了数据结构和算法。全书共分为五大部分。及时部分的Java教程是全书的基础,具体讲述Java的运行环境、数据类型和运算符、基本语法等;同时介绍了面向对象的一些概念。第二部分对Java应用程序接口集(API)中的各种数据结构接口和其中涉及到的算法及算法分析进行了详细介绍,并用实例说明了如何使用这些数据结构。第三部分是这些数据结构在实际中的应用,每一章对不同应用的理论和具体实现做了详尽阐述。第四部分则是针对第6章应用程序接口集中介绍过的各种数据结构接口,分别给予更加细致的实例解说。第五部分介绍了一些高级的数据结构。 通过对本书的学习,读者能够抽象地思考不同数据结构的功能,了解它们之间的相关性,掌握在计算机工程中使用这些数据结构的能力。 本书概念清楚,逻辑性强,内容新颖,可作为高等院校计算机软件专业与计算机应用专业学生的双语教材和参考用书,也可供计算机工程技术人员参考。
通过重点考虑抽象思考及问题的求解,本书提供了对数据结构及算法的实际介绍。畅销书作教授Mark Allen Weiss独辟蹊径,清晰地分离了数据结构的接口及实现。计税针在本书的第二部分学习数据结构的接口及运行时间,以及在各种实际例子中如何使用数据结构。在这之后的第四部分中,Weiss教授介绍了数据结构的实现。通过熟悉接口及使用数据结构,读者将能够更加抽象地思考各种数据结构的功能以及潜在的功效。
Mark Allen Weiss 的普林斯顿大学获得计算机科学博士学位现任佛罗里达国际大学计算机科学学院教授。他在研究的内容包括数据结构、算法及教育,因他的数据结构教科书而闻名。本书受到高度称赞,并被世界各地的上百所大学所彩。他现任高级计算机科学发展委员会主席。
PART 1:TOUR OF JAVA
CHAPTER 1 Primitive Java
1.1 The General Environment
1.2 The First Program
1.2.1 Comments
1.2.2 main
1.2.3 Terminal Output
1.3 Primitive Types
1.3.1 The Primitive Types
1.3.2 Constants
1.3.3 Declaration and Initialization of Primitive Types
1.3.4 Terminal Input and Output
1.4 Basic Operators
1.4.1 Assignment Operators
1.4.2 Binary Arithmetic Operators
1.4.3 Unary Operators
1.4.4 Type Conversions
1.5 Conditional Statements
1.5.1 Relational and Equality Operators
1.5.2 Logical Operators
1.5.3 The if Statement
1.5.4 The while Statement
1.5.5 The for Statement
1.5.6 The do Statement
1.5.7 break and continue
1.5.8 The swjtch statement
1.5.9 The Conditional Operator
1.6 Methods
1.6.1 Overloading of Method Names
1.6.2 Storage Classes
Summary
Objects of the Game
Common Errors
On the Internet
Exercises
References
CHAPTER 2 Reference Types
2.1 What Is a Reference?
2.2 Basics of Objects and References
2.2.1 The Dot Operator(.)
2.2.2 Declaration of Objects
2.2.3 Garbage Collection
2.2.4 The Meaning of =
2.2.5 Parameter Passing
2.2.6 The meaning of ==
2.2.7 No Operator Overloading for Objects
2.3 Strings
2.3.1 Basics of String Manipulation
2.3.2 String Concatenation
2.3.3 Comparing Strings
2.3.4 Other String Methods
2.3.5 Converting Other Types of Strings
2.4 Arrays
2.4.1 Declaration,Assignment,and Methods
2.4.2 Dynamic Array Expansion
2.4.3 ArrayList
2.4.4 Multidimensional Arrays
2.4.5 Command-line Arguments
2.5 Exception Handling
2.5.1 Processing Exceptions
2.5.2 The Finally Clause
2.5.3 Common Exceptions
2.5.4 The throw and throws Clauses
2.6 Input and Output
2.6.1 Basic Stream Operations
2.6.2 The StringTokenizer Type
2.6.3 Sequential Files
Summary
Objects of the Game
Common Errors
On the Internet
Exercises
CHAPTER 3 Objects and Classes
CHAPTER 4 Inheritance
PART II:ALGORITHMS AND BUILDING BLOCKS
CHAPTER 5 Algorithm Analysis
CHAPTER 6 The Collections
CHAPTER 7 Recursion
CHAPTER 8 Sorting Algorithms
CHAPTER 9 Randomization
PART III:APPLICATIONS
CHAPTER 10 Fun and Games
CHAPTER 11 Stacks and Compilers
CHAPTER 12 Utilities
CHAPTER 13 Simulation
CHAPTER 14 Graphs and Paths
PART IV:IMPLEMENTATIONS
CHAPTER 15 Inner Classes and Implementation of ArrayList
CHAPTER 16 Stacks and Queues
CHAPTER 17 Linked Lists
CHAPTER 18 Trees
CHAPTER 19 Binary Search Trees
CHAPTER 20 Hash Tables
CHAPTER 21 A Priority Queue:The Binary Heap
PART V:ADVANCED DATA STRUCTURES
CHAPTER 22 Splay Trees
CHAPTER 23 Merging Priority Queues
CHAPTER 24 The Disjoint Set Class
APPENDICES
APPENDIX A Operators
APPENDIX B Graphical User Interfaces
B.1 The Abstract Window Toolkit and Swing
B.2 Basic Objects in Swing
B.2.1 Component
B.2.2 Container
B.2.3 Top-level Containers
B.2.4 JPanel
B.2.5 Important I/O Components
B.3 Basic Principles
B.3.1 Layout Managers
B.3.2 Graphics
B.3.3 Events
B.3.4 Event Hankling:Adapters and Anonymous inner Classes
B.3.5 Summary:Putting the Pieces Together
B.3.6 Is This Everything I Need To Know About Swing?
Summary
Objects of the Game
Common Errors
On the Internet
Exercises
References
APPENDIX C Bitwise Operators
Index