Skip to main navigation Skip to search Skip to main content

Program optimization using indexed and recursive data structures

Research output: Contribution to conferencePaperpeer-review

12 Scopus citations

Abstract

This paper describes a systematic method for optimizing recursive functions using both indexed and recursive data structures. The method is based on two critical ideas: first, determining a minimal input increment operation so as to compute a function on repeatedly incremented input; second, determining appropriate additional values to maintain in appropriate data structures, based on what values are needed in computation on an incremented input and how these values can be established and accessed. Once these two are determined, the method extends the original program to return the additional values, derives an incremental version of the extended program, and forms an optimized program that repeatedly calls the incremental program. The method can derive all dynamic programming algorithms found in standard algorithm textbooks. There are many previous methods for deriving efficient algorithms, but none is as simple, general, and systematic as ours.

Original languageEnglish
Pages108-118
Number of pages11
DOIs
StatePublished - 2002
Event2002 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'02) - Portland, OR, United States
Duration: Jan 14 2002Jan 15 2002

Conference

Conference2002 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'02)
Country/TerritoryUnited States
CityPortland, OR
Period01/14/0201/15/02

Fingerprint

Dive into the research topics of 'Program optimization using indexed and recursive data structures'. Together they form a unique fingerprint.

Cite this