A Constructive Approach to the Design of Algorithms and Their Data Structures. - Gonnet, Gaston H.; Tompa, Frank W.; Horowitz, Ellis (Communications of the ACM, 1983)