Skip to main content

Data Structures and Algorithms in Java, 1st edition

  • Peter Drake
Data Structures and Algorithms in Java

ISBN-13:  9780131469143

Free delivery
$159.99 $199.99
Free delivery
$159.99 $199.99

What's included

  • Paperback

    You'll get a bound printed text.


KEY BENEFITS: This new book provides a concise and engaging introduction to Java and object-oriented programming with an abundance of original examples, use of Unified Modeling Language throughout, and coverage of the new Java 1.5. Addressing critical concepts up front, the book's five-part structure covers object-oriented programming, linear structures, algorithms, trees and collections, and advanced topics. KEY FEATURES: Data Structures and Algorithms in Java takes a practical approach to real-world programming and introduces readers to the process of crafting programs by working through the development of projects, often providing multiple versions of the code and consideration for alternate designs. The book features the extensive use of games as examples; a gradual development of classes analogous to the Java Collections Framework; complete, working code in the book and online; and strong pedagogy including extended examples in most chapters along with exercises, problems and projects. MARKET: For readers and professionals with a familiarity with the basic control structures of Java or C and a precalculus level of mathematics who want to expand their knowledge to Java data structures and algorithms. Ideal for a second undergraduate course in computer science.

Table of 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  

For teachers

All the material you need to teach your courses.

Discover teaching material

Published by Pearson (December 19th 2005) - Copyright © 2006