An introduction to fundamental data types, algorithms, and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Specific topics covered include: union-find algorithms; basic iterable data types (stack, queues, and bags); sorting algorithms (quicksort, mergesort, heapsort) and applications; priority queues; binary search trees; red-black trees; hash tables; and symbol-table applications.
Robert Sedgewick was the founding chair of the Department of Computer Science. Prof. Sedgewick also served on the faculty at Brown University and has held various visiting research positions. Prof. Sedgewick's interests are in analytic combinatorics, algorithm design, the scientific analysis of algorithms, curriculum development, and innovations in the dissemination of knowledge. He has published widely in these areas and is the author of several books.
Kevin Wayne's research interests include the design, analysis, and implementation of algorithms. With Robert Sedgewick, he is the coauthor of two acclaimed textbooks, Introduction to Programming in Java: An Interdisciplinary Approach (Addison-Wesley, 2008) and Algorithms, 4th Edition (Addison-Wesley Professional 2011). He has won the School of Engineering and Applied Science's Distinguished Teacher Award and the Engineering Council's Excellence in Teaching Award.