ACM Home Page
Please provide us with feedback. Feedback
Purely functional, real-time deques with catenation
Full text PdfPdf (188 KB)
Source Journal of the ACM (JACM) archive
Volume 46 ,  Issue 5  (September 1999) table of contents
Pages: 577 - 603  
Year of Publication: 1999
ISSN:0004-5411
Authors
Haim Kaplan  AT&T Labs, Florham Park, NJ
Robert E. Tarjan  Princeton Univ., Princeton, NJ; and InterTrust Technologies, Sunnyvale, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 62,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/324133.324139
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
 
5
BURTON, F. W. 1982. An efficient functional implementation of FIFO queues. Inf. Proc. Lett. 14,5, 205-206.
 
6
 
7
CHAZELLE, B., AND GUIBAS, L. J. 1986. Fractional cascading: I. a data structuring technique. Algorithmica 1, 2, 133-162.
8
 
9
 
10
 
11
 
12
DOBKIN,D.P.,AND MUNRO, J. I. 1985. Efficient uses of the past. J. Algorithms 6, 455-465.
 
13
14
15
16
17
 
18
 
19
 
20
 
21
 
22
HOOD, R., AND MELVILLE, R. 1981. Real-time queue operations in pure Lisp. Inf. Proc. Lett. 13, 50-54.
 
23
HOOGERWOOD, R. R. 1992. A symmetric set of efficient list operations. J. Funct. Prog. 2,4, 505-513.
24
 
25
 
26
27
28
 
29
30
 
31
32
 
33
 
34
OKASAKI, C. 1995. Simple and efficient purely functional queues and deques. J. Funct. Prog. 5,4, 583-592.
 
35
36
 
37
OVERMARS, M. H. 1981a. Searching in the past. I. Tech. Rep. RUU-CS-81-7. Dept. Computer Science, Univ. Utrecht, Utrecht, The Netherlands.
 
38
OVERMARS, M. H. 1981b. Searching in the past. II: General transforms. Tech. Rep. RUU-CS-81-9. Dept. Computer Science, Univ. Utrecht, Utrecht, The Netherlands.
 
39
40
 
41
42
 
43
STOSS, H.-J. 1970. K-band simulation von k-kopf-turing-maschinen. Computing 6, 3, 309-317.
 
44
TARJAN, R. E. 1985. Amortized computational complexity. SIAM J. Alg. Disc. Meth. 6, 2, 306-318.
45



REVIEW

"Susan M. Merritt : Reviewer"

A real-time, purely functional implementation of deques with catenation is presented. The authors demonstrate that their data structure is both more efficient and simpler than previously proposed structures. They note that, in addition to bein  more...

Collaborative Colleagues:
Haim Kaplan: colleagues
Robert E. Tarjan: colleagues