Algorithms, Part I

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.

Instructor(s)

Robert Sedgewick
Robert Sedgewick
William O. Baker Professor of Computer Science

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
Kevin Wayne
Phillip Y. Goldman Senior Lecturer in Computer Science

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.