EECE 331 - Design and Analysis of Algorithms