CS577 Algorithms