Students will be introduced to the basic concepts and theories in the identification and analysis of algorithms. They will explore the different types of algorithms and how they are used to solve problems. Topics include a review of fundamental tools (algorithm analysis, basic data structures, searching, sorting, and fundamental techniques), graph algorithms (graphs, weighted graphs, matching, and flow), Internet algorithmics (text processing, number theory and cryptography, and network algorithms), NP and computational intractability, computational geometry, and algorithmic frameworks. Students will also study analysis techniques for estimating run-time efficiency.Note: Prerequisite A minimum grade of C in CMPT 1011
Restricted to Machine Learning Analyst, Arts and Sciences, and Open Studies