A concise introduction to data structures and algorithms in Java. Data structures are presented in a container hierarchy that includes stacks and queues as non-traversable dispensers, and lists, sets, and maps as traversable collections. Algorithm analysis is introduced and applied to linear and binary search, bubble sort, selection sort, insertion sort, merge sort and quicksort. The book also covers heaps and heapsort, unbalanced binary search trees, AVL trees, 2-3 trees, hashing, graph representations, and graph algorithms based on depth-and breadth-first search.
Christopher Fox is a Professor and Director of the Undergraduate Program in Computer Science at James Madison University. He holds a Ph.D. in Information Studies and an M.S. in Computer Science from Syracuse University, and M.A. and B.A. degrees in Philosophy from Michigan State University. Dr. Fox has over 20 years experience teaching Computer Science at JMU, Bowling Green State University, Villanova, Rutgers, and Colgate. Dr. Fox also spent a decade in software research and development at various companies, including AT&T Bell Laboratories. He has published numerous articles and several books, including Introduction to Software Engineering in the Unix/C Environment, and Introduction to Software Engineering Design.