CSCE 146 Algorithmic design II