algorithms and data structures cs 3 4485