review guide for algorithms 3279872