Time Schedule:
Ashish Sabharwal
CSE 326
Seattle Campus
Abstract data types and their implementations as data structures. Efficient of algorithms employing these data structures; asymptotic analyses. Dictionaries: balanced search trees, hashing. Priority queues: heaps. Disjoint sets with union, find. Graph algorithms: shortest path, minimum spanning tree, topological sort, search. Sorting. Not available for credit for students who have completed CSE 373. Prerequisite: CSE 321.
Class description
This course will be about data structures, which are key to all efficient and effective programs one writes in practice. We will try to develop a clear theoretical understanding of the importance, strengths and weaknesses of various data structures such as stacks, graphs and dictionaries. There will also be a significant focus on implementations of these ideas to solve some interesting problems. The programming language used will be Java.
NOTE: The textbook was incorrectly listed as "Data Structures and Algorithms in C++" by Weiss. We will instead be using the JAVA version of this book. The University Bookstore has been notified of this.
Student learning goals
General method of instruction
Recommended preparation
Class assignments and grading