Course Detail
Units:
3.0
Course Components:
Discussion
Lecture
Enrollment Information
Enrollment Requirement:
Prerequisites: 'C-' or better in (CS 2100 OR MATH 2200) AND CS 3500 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
Requirement Designation:
Quantitative Intensive BS
Description
Study of algorithms, data structures, and complexity analysis beyond the introductory treatment from CS 2420. Balanced trees, heaps, hash tables, string matching, graph algorithms, external sorting and searching. Dynamic programming, exhaustive search. Space and time complexity, derivation and solution of recurrence relations, complexity hierarchies, reducibility, NP completeness. Laboratory practice.