class notes on algorithms 5562610