O(1) Reversible Tree Navigation Without Cycles
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.
- Publication:
-
arXiv e-prints
- Pub Date:
- June 2004
- DOI:
- 10.48550/arXiv.cs/0406014
- arXiv:
- arXiv:cs/0406014
- Bibcode:
- 2004cs........6014O
- Keywords:
-
- Computer Science - Programming Languages;
- D.1.6;
- D.3.2
- E-Print:
- Appeared in Theory and Practice of Logic Programming, vol. 1, no. 5, 2001