CSC4020 Algorithms and Data Structures
Learners explore the design, implementation, and application of data structures and computing algorithms. Learners gain an understanding of data encapsulation constructs, including linked lists, stacks, queues, hashes, trees, and graphs. Learners apply techniques for sorting and searching; recursive, divide-and-conquer, greedy, and heuristic solving; graph traversal; memorization; and dynamic programming algorithms. Learners practice approaches for performing analysis of run-time complexity and NP-completeness.