Computer Science (Sci): Advanced data structures: heaps, binary search trees, graphs, algorithmic analysis: space-time analysis, worst-case and expected complexity. Examples of searching sorting and merging. Algorithm design: divide-and-conquer, dynamic programming, greedy methods, backtracking. Algorithms: set manipulation, tree traversals. Memory management: hashing, dynamic storage allocation and garbage collection.
Restrictions: COMP 431 is open only to B.Eng. students in Electrical and Computer Engineering. Credit will be given for only one of: COMP 431, COMP 251, COMP 360.