Reingold, E. M. (1996), 'Basic techniques for design and analysis of algorithms', ACM Comput. Surv. 28 (1), 19--21.