Product Cover Image

Data Structures and Algorithms in Java, CourseSmart eTextbook

By Peter Drake

Published by Prentice Hall

Published Date: Sep 17, 2007

More Product Info


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.

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  

Purchase Info ?

With CourseSmart eTextbooks and eResources, you save up to 60% off the price of new print textbooks, and can switch between studying online or offline to suit your needs.

Once you have purchased your eTextbooks and added them to your CourseSmart bookshelf, you can access them anytime, anywhere.

Buy Access

Data Structures and Algorithms in Java, CourseSmart eTextbook
Format: Safari Book

$70.99 | ISBN-13: 978-0-13-174690-9