Improving Programs by the Introduction of Recursion

28Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.

Abstract

A new technique of program transformation, called “recursion introduction,” is described and applied to two algorithms which solve pattern matching problems. By using recursion introduction, algorithms which manipulate a stack are first translated into recursive algorithms in which no stack operations occur. These algorithms are then subjected to a second transformation, a method of recursion elimination called “tabulation,” to produce programs with a very efficient running time. In particular, it is shown how the fast linear pattern matching algorithm of Knuth, Morris, and Pratt can be derived in a few steps from a simple nonlinear stack algorithm. © 1977, ACM. All rights reserved.

Cite

CITATION STYLE

APA

Bird, R. S. (1977). Improving Programs by the Introduction of Recursion. Communications of the ACM, 20(11), 856–863. https://doi.org/10.1145/359863.359889

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free