McGill University - COMP 251 - Algorithms & Data Structures