We describe an efficient, purely functional implementation of deques with catenation. In addition to being an intriguing problem in its own right, finding a purely functional implementation of catenable deques is required to add certain sophisticated programming constructs to functional programming languages. Our solution has a worst-case running time of O(1) for each push, pop, inject, eject and catenation. The best previously known solution has an O(log* k) time bound for the fcth deque operation. Our solution is not only faster but simpler. A key idea used in our result is an algorithmic technique related to the redundant digital representations used to avoid carry propagation in binary counting. © 1999 ACM.
CITATION STYLE
Kaplan, H., & Tarjan, R. E. (1999). Purely functional, real-time deques with catenation. Journal of the ACM, 46(5), 577–603. https://doi.org/10.1145/324133.324139
Mendeley helps you to discover research relevant for your work.