cs4102 Algorithms