This is a course in advanced data structures, the algorithms needed to manipulate these data structures, proofs that the algorithms are correct, and a runtime analysis of the algorithms. Students study advanced data structures such as Red-Black Trees, 2-3 Trees, Heaps, and Graphs. Students also study algorithm design techniques including Greedy Algorithms, Divide and Conquer, Dynamic Programming, and Backtracking. They also learn about NP-Complete problems.

Prerequisites
CSCI 261, 281 (may be taken concurrently), and MATH 210. In lieu of MATH 210, students may take MATH 290 with a grade of C or better, and a 300-level or 400-level mathematics course from List B with a grade of C or better.
Course UID
001303.1
Course Subject
Catalog Number
361
Long title
Algorithms and Data Structures