The derivation of on-line algorithms, with an application to finding palindromes
Publication date
1994
Authors
Jeuring, J.T.
Editors
Advisors
Supervisors
DOI
Document Type
Article
Metadata
Show full item recordCollections
License
Abstract
A theory for the derivation of on-line algorithms is presented. The algorithms are derived
in the Bird-Meertens calculus for program transformations. This calculus provides a concise functional
notation for algorithms, and a few powerful theorems for proving equalities of functions. The theory
for the derivation of on-line algorithms is illustrated with the derivation of an algorithm for finding
palindromes.
An on-line linear-time random access machine (RAM) algorithm for finding the longest palindromic
substring in a string is derived, For the purpose of finding the longest palindromic substring, all
maximal palindromic substrings are computed. The list of maximal palindromes obtained in the
computation of the longest palindrome can be used for other purposes such as finding the largest
palindromic rectangle in a matrix and finding the shortest partition of a string into palindromes.