Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
Information and Control
Planar point location using persistent search trees
Communications of the ACM
Searching and sorting similar lists
Journal of Algorithms
Information Processing Letters
Abstract continuations: a mathematical semantics for handling full jumps
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Making data structures persistent
Journal of Computer and System Sciences - 18th Annual ACM Symposium on Theory of Computing (STOC), May 28-30, 1986
Stores and partial continuations as first-class objects in a language and its environment
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Control delimiters and their hierarchies
Lisp and Symbolic Computation
Real-time deques, multihead Turing machines, and purely functional programming
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
An optimal algorithm for selection in a min-heap
Information and Computation
Fully persistent lists with catenation
Journal of the ACM (JACM)
Confluently persistent deques via data-structural bootstrapping
SODA '93 Selected papers from the fourth annual ACM SIAM symposium on Discrete algorithms
SIAM Journal on Computing
Persistent lists with catenation via recursive slow-down
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Purely functional representations of catenable sorted lists
STOC '96 Proceedings of the twenty-eighth annual ACM symposium on Theory of computing
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Purely functional lists
Purely functional data structures
Purely functional data structures
Worst-case efficient priority queues
Proceedings of the seventh annual ACM-SIAM symposium on Discrete algorithms
An optimal RAM implementation of catenable min double-ended queues
SODA '94 Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms
Real-Time Simulation of Multihead Tape Units
Journal of the ACM (JACM)
New Real-Time Simulations of Multihead Tape Units
Journal of the ACM (JACM)
An example of hierarchical design and proof
Communications of the ACM
The Art of Computer Programming Volumes 1-3 Boxed Set
The Art of Computer Programming Volumes 1-3 Boxed Set
The Science of Programming
Anatomy of LISP
Simple Confluently Persistent Catenable Lists (Extended Abstract)
SWAT '98 Proceedings of the 6th Scandinavian Workshop on Algorithm Theory
Fully Persistent Arrays (Extended Array)
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
Amortization, lazy evaluation, and persistence: lists with catenation via lazy linking
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
STOC '79 Proceedings of the eleventh annual ACM symposium on Theory of computing
A programming and problem-solving seminar
A programming and problem-solving seminar
The efficient implementation of very-high-level programming language constructs
The efficient implementation of very-high-level programming language constructs
Persistent data structures
Making data structures confluently persistent
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Making data structures confluently persistent
Journal of Algorithms - Special issue: Twelfth annual ACM-SIAM symposium on discrete algorithms
Purely functional worst case constant time catenable sorted lists
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
Lightweight semiformal time complexity analysis for purely functional data structures
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A survey of persistent data structures
ICCOMP'05 Proceedings of the 9th WSEAS International Conference on Computers
A Hoare Logic for Call-by-Value Functional Programs
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
I/O-efficient planar range skyline and attrition priority queues
Proceedings of the 32nd symposium on Principles of database systems
Hi-index | 0.00 |
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 kth 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.