|
Data Structures and Algorithms in Java
An abundance of unique, interesting examples, use of the Unified Modeling Language throughout, and the newest Java 1.5 features characterize this text. Drake provides a concise and engaging introduction to Java and object-oriented programming, assuming familiarity with the basic control structures of Java or C and only a pre-calculus level of mathematics.
Contents:
Note:
Each chapter concludes with a summary, vocabulary, problems, and projects
Part I: Object-Oriented Programming 1 Encapsulation
Software Development
Classes and Objects
Using Objects
2 Polymorphism
Reference Types
Arrays
Interfaces
Overloading
3 Inheritance
Extending a Class
The Object Class
Packages and Access Levels
Part II: Linear Structures 4 Stacks and Queues
The Stack Interface
The Call Stack
Exceptions
The Queue Interface
5 Array-Based Structures
Shrinking and Stretching Arrays
Implementing Stacks and Queues
The List Interface
Iterators
The Java Collections Framework: A First Look
6 Linked Structures
List Nodes
Stacks and Queues
The LinkedList Class
The Java Collections Framework Revisited Part III: Algorithms 7 Analysis of Algorithms
Timing
Asymptotic Notation
Counting Steps
Best, Worst, and Average Case
Amortized Analysis
8 Searching and Sorting
Linear Search
Binary Search
Insertion Sort
The Comparable Interface
Sorting Linked Lists
9 Recursion
Thinking Recursively
Analyzing Recursive Algorithms
Merge Sort
Quicksort
Avoiding Recursion
Part IV: Trees and Sets 10 Trees
Binary Trees
Tree Traversal
General Trees 11 Sets
The Set Interface
Ordered Lists
Binary Search Trees
Hash Tables
The Java Collections Framework Again
Part V: Advanced Topics 12 Advanced Linear Structures
Bit Vectors
Sparse Arrays
Contiguous Representation of Multidimensional Arrays
Advanced Searching and Sorting 13 Strings
Strings and StringBuilders
String Matching
14 Advanced Trees
Heaps
Disjoint Set Clusters
Digital Search Trees
Red-Black Trees
15 Graphs
Terminology
Representation
Graph Traversal
Topological Sorting
Shortest Paths
Minimum Spanning Trees
16 Memory Management
Explicit Memory Management
Automatic Memory Management
17 Out to the Disk
Interacting With Files
Compression
External Sorting
B-Trees
Review of Java Unified Modeling Language Summation Formulae Further Reading
|