Data Structures and Algorithms
Implementations of advanced tree structures, priority queues, heaps, directed and undirected graphs. Advanced searching and sorting (radix sort, heapsort, mergesort, and quicksort). Design and analysis of data structures and algorithms. Divide-and-conquer, greedy, and dynamic programming algorithm design techniques. Prerequisite: MATH 030, MATH 042, CS 049J (or equivalent knowledge of Java), and CS 046B (with a grade of "C-" or better in each); Computer Science, Applied and Computational Math or Software Engineering Majors only; or instructor consent.
Normal Grade Rules