Due to technical difficulties with the Course Catalogue, students should confirm course availability with Visual Schedule Builder (VSB) and Minerva. In cases where the Course Catalogue differs from these systems, VSB and Minerva should be considered the source of truth.

COMP 251. Algorithms and Data Structures.

Credits: 3
Offered by: Computer Science (Faculty of Science)
Terms offered: Fall 2026, Winter 2027
View offerings for Fall 2026 or Winter 2027 in Visual Schedule Builder.

Description

Data Structures: priority queues, balanced binary search trees, hash tables, graphs. Algorithms: topological sort, connected components, shortest paths, minimum spanning trees, bipartite matching, network flows. Algorithm design: greedy, divide and conquer, dynamic programming, randomization. Mathematicaltools: proofs of asymptotic complexity and program correctness, Master theorem.
  • 3 hours
  • Prerequisites: COMP 250; MATH 235 or MATH 240
  • COMP 251 uses basic counting techniques (permutations and combinations) that are covered in MATH 240 but not in MATH 235. These techniques will be reviewed for the benefit of MATH 235 students.
  • Restrictions: Not open to students who have taken or are taking: COMP 252 or COMP 260.

Most students use Visual Schedule Builder (VSB) to organize their schedules. VSB helps you plan class schedules, travel time, and more.

Launch Visual Schedule Builder
Back to top

What are you comfortable with?