Mark Allen Weiss provides a proven approach to algorithms and data structures using the exciting Java programming language as the implementation tool. With Java he highlights conceptual topics, focusing on ADTs and the analysis of algorithms for efficiency as well as performance and running time. Dr. Weiss also distinguishes this text with a logical organization of topics, his engaging writing style and an extensive use of figures and examples showing the successive stages of an algorithm. Included are algorithm and design techniques and amortized analysis, plus a new chapter on advanced data structures and their implementation.
Mark Allen Weiss is a Professor in the School of Computer Science at Florida International University. He received his Ph.D. in Computer Science from Princeton University where he studied under Robert Sedgewick. Dr.Weiss has received FIU's Excellence in Research Award, as well as the Teaching Incentive Program Award, which was established by the Florida Legislature to recognize teaching excellence. Mark Allen Weiss is on the Advanced Placement Computer Science Development Committee. He is the successful author of Algorithms, Data Structures, and Problem Solving with C++ and the series Data Structures and Algorithm Analysis in Pascal, Ada, C, and C++, with Addison-Wesley.
What's the Book About?
A Brief Introduction to Recursion.
Generic Objects in Java.
Input and Output.
Code Organization.Algorithm Analysis.
What to Analyze.
Running Time Calculations.Lists, Stacks, and Queues.
Abstract Data Types (ADTs).
The List ADT.
The Stack ADT.
The Queue ADT.Trees.
The Search Tree ADT: Binary Search Trees.
Tree Traversals (Revisited).
Extendible Hashing.Priority Queues (Heaps).
Applications of Priority Queues.
A Lower Bound for Simple Sorting Algorithms.
A General Lower Bound for Sorting.
External Sorting.The Disjoint Set ADT.
The Dynamic Equivalence Problem.
Basic Data Structure.
Smart Union Algorithms.
Worst Case for Union-by Rank and Path Compression.
An Application.Graph Algorithms.
Network Flow Problems.
Minimum Spanning Tree.
Applications of Depth-First Search.
Introduction to NP-Completeness.Algorithm Design Techniques.
Divide and Conquer.
Backtracking Algorithms.Amortized Analysis.
An Unrelated Puzzle.
Splay Trees.Advanced Data Structures and Implementation.
Top-Down Splay Trees.
Red Black Trees.
Deterministic Skip Lists.
Pairing Heaps.Appendix A: Some Library Routines.
Classes in Package java.lang.
Classes in Package java.io.
Classes in Package java.util.Appendix B: The Collections Library.
Example: Generating a Concordance.
Example: Shortest Path Calculation. 0201357442T04062001