Proceedings of the Second ACM SIGPLAN International Conference on Functional Programming 1997
DOI: 10.1145/258948.258956
|View full text |Cite
|
Sign up to set email alerts
|

Catenable double-ended queues

Abstract: Catenabledouble-ended queues are double-ended queues (deques) thatsupportcatenation(i.e., append)efficiently without sacrificing the efficiency of other operations. We present a purely functional implementationof catenable deques for which every operation, including catenation,takea0(1) amortizedtime. Kaplan and Tarjan haveindependentlydeveloped a much more complicated implementationof crdenabledeques thatachieves similar worst-casebounds. The two designs are superficially similar, but differ in the underlying… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
1

Year Published

1998
1998
2013
2013

Publication Types

Select...
4
4

Relationship

0
8

Authors

Journals

citations
Cited by 10 publications
(3 citation statements)
references
References 25 publications
0
2
1
Order By: Relevance
“…Our definition of purely functional is extremely strict; we do not, for example, allow techniques such as memoization. This contrasts our work with, for example, that ofOkasaki [1995a; 1995b;1997;]. For more discussion of this issue, see Sections 2 and 7.…”
contrasting
confidence: 59%
“…Our definition of purely functional is extremely strict; we do not, for example, allow techniques such as memoization. This contrasts our work with, for example, that ofOkasaki [1995a; 1995b;1997;]. For more discussion of this issue, see Sections 2 and 7.…”
contrasting
confidence: 59%
“…If a data type has more than two alternatives, or if a constructor has more than two arguments, we have to nest the binary type constructors Plus and Pair accordingly. Actually, we are more flexible than this: we can map the new type to any other type as long as the target type is an instance of Rep. For instance, we could map elements of some efficient sequence type (Okasaki, 1997) to lists. This flexibility is even necessary if the structure of a type is not available as in the case of abstract types.…”
Section: Remarkmentioning
confidence: 99%
“…Okasaki also presents a wealth of functional implementations of sequences and other data types. Implementations of functional deques with constant time concatenation are known (Kaplan & Tarjan, 1995;Okasaki, 1997), but these structures do not admit efficient insertion, deletion or splitting. Kaplan and Tarjan (1996) defined two functional data structures with the same time bounds as here, except that their bounds are worst case, and do not require laziness.…”
Section: Related Work and Conclusionmentioning
confidence: 99%