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.
Natural Scientific and Mathematical Perspectives
Prerequisites
CSCI 261 and MATH 210 with a grade of C- or higher. In lieu of MATH 210, students may take MATH 290 and MATH 300 with a grade of C or higher. Recommended to be taken in the junior year.
Course UID
001303.1
Course Subject
Catalog Number
361
Long title
Algorithms and Data Structures