Hostname: page-component-78c5997874-v9fdk Total loading time: 0 Render date: 2024-11-14T06:58:28.384Z Has data issue: false hasContentIssue false

O(1) reversible tree navigation without cycles

Published online by Cambridge University Press:  18 October 2001

RICHARD A. O'KEEFE
Affiliation:
Department of Computer Science, The University of Otago, P.O. Box 56, Dunedin, 9001, New Zealand (e-mail: ok@cs.otago.ac.nz)

Abstract

Imperative programmers often use cyclically linked trees in order to achieve O(1) navigation time to neighbours. Some logic programmers believe that cyclic terms are necessary to achieve the same in logic-based languages. An old but little-known technique provides O(1) time and space navigation without cyclic links, in the form of reversible predicates. A small modification provides O(1) amortised time and space editing.

Type
PROGRAMMING PEARL
Copyright
© 2001 Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)