algorithms class notes 20 pages 1733955