### Abstract

In this paper we propose a new method for deriving a practical linear-time algorithm from the specification of a maximum-weightsum problem: From the elements of a data structure x, find a subset which satisfies a certain property p and whose weightsum is maximum. Previously proposed methods for automatically generating linear-time algorithms are theoretically appealing, but the algorithms generated are hardly useful in practice due to a huge constant factor for space and time. The key points of our approach are to express the property p by a recursive boolean function over the structure x rather than a usual logical predicate and to apply program transformation techniques to reduce the constant factor. We present an optimization theorem, give a calculational strategy for applying the theorem, and demonstrate the effectiveness of our approach through several nontrivial examples which would be difficult to deal with when using the methods previously available.

Original language | English |
---|---|

Pages | 137-149 |

Number of pages | 13 |

Publication status | Published - 2000 Dec 1 |

Event | 5th ACM SIGPLAN International Conference on Functional Programming (ICFP'00) - Montreal, Que, Can Duration: 2000 Sep 18 → 2000 Sep 21 |

### Other

Other | 5th ACM SIGPLAN International Conference on Functional Programming (ICFP'00) |
---|---|

City | Montreal, Que, Can |

Period | 00/9/18 → 00/9/21 |

### Fingerprint

### ASJC Scopus subject areas

- Software

### Cite this

*Make it practical: A generic linear-time algorithm for solving maximum-weightsum problems*. 137-149. Paper presented at 5th ACM SIGPLAN International Conference on Functional Programming (ICFP'00), Montreal, Que, Can, .