(Enter summary)
Abstract: We present a new data structure, called a random-access list,
that supports array lookup and update operations in O(log n)
time, while simultaneously providing O(1) time list operations
(cons, head, tail). A closer analysis of the array operations
improves the bound to O(minfi; log ng) in the worst
case and O(log i) in the expected case, where i is the index of
the desired element. Empirical evidence suggests that this
data structure should be quite efficient in practice.
1 Introduction... (Update)
Context of citations to this paper: More
...cs.york.ac.uk Abstract. Despite a lot of recent interest in purely functional data structures, for example [Ada93, Oka95, BO96, Oka96, OB97, Erw97], few have been benchmarked. Of these, even fewer have their performance qualified by how they are used. But how a data structure...
...trees [11] for instance, support all operations in Q(log n) time. An unrivalled data structure is the skew binary random access list [15, 16], which provides logarithmic array operations and constant time list operations. A common characteristic of the tree based...
Cited by: More
Non-Blocking Synchronization and Object-Oriented Operating System .. - Ananian
(Correct)
Efficient Data Structures in a Lazy Functional Language - Holters (2003)
(Correct)
Bootstrapping One-sided Flexible Arrays - Hinze (2002)
(Correct)
Active bibliography (related documents): More All
0.9: Sequence Implementations in Haskell - Borges (1997)
(Correct)
0.9: A Probabilistic Approach to the Problem of Automatic Selection .. - Chuang, Hwang (1996)
(Correct)
0.7: A Randomized Implementation of Multiple Functional Arrays - Chuang (1994)
(Correct)
Similar documents based on text: More All
0.1: Optimal Purely Functional Priority Queues - Brodal (1996)
(Correct)
0.0: Catenable Double-Ended Queues - Okasaki (1997)
(Correct)
0.0: Simple Confluently Persistent Catenable Lists (Extended.. - Kaplan, Okasaki, Tarjan (1998)
(Correct)
Related documents from co-citation: More All
9: Purely Functional Data Structures
- Okasaki - 1998
6: An applicative random-access stack (context) - Myers - 1983
6: Simple and efficient purely functional queues and deques
- Okasaki - 1995
BibTeX entry: (Update)
Chris Okasaki. Purely functional random-access lists. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pages 86--95, 1995. http://citeseer.ist.psu.edu/okasaki95purely.html More
@inproceedings{ okasaki95purely,
author = "Chris Okasaki",
title = "Purely Functional Random-Access Lists",
booktitle = "Functional Programming Languages and Computer Architecture",
pages = "86-95",
year = "1995",
url = "citeseer.ist.psu.edu/okasaki95purely.html" }
Citations (may not include all citations):
1074
The Definition of Standard ML (context) - Milner, Tofte et al. - 1990
362
ML for the Working Programmer (context) - Paulson - 1991
244
Imperative functional programming
- Jones, Wadler - 1993
184
Linear types can change the world
- Wadler - 1990
173
A real-time garbage collector based on the lifetimes of obje..
- Lieberman, Hewitt - 1983
101
A Discipline of Programming (context) - Dijksta - 1976
71
A data structure for manipulating priority queues (context) - Vuillemin - 1978
66
Views: A way for pattern matching to cohabit with data abstr..
- Wadler - 1987
61
Detecting global variables in denotational specifications (context) - Schmidt - 1985
33
Making data structures persistent (context) - Driscoll, Sarnak et al. - 1989
33
Fully persistent arrays (context) - Dietz - 1989
27
Update analysis and the efficient implementation of function.. (context) - Bloss - 1989
21
Real-time queue operations in pure Lisp (context) - Hood, Melville - 1981
20
Persistent lists with catenation via recursive slow-down (context) - Kaplan, Tarjan - 1995
19
Simple and efficient purely functional queues and deques
- Okasaki - 1995
19
Planar graph decomposition and all pairs shortest paths (context) - Frederickson - 1991
18
Efficient applicative data types (context) - Myers - 1984
17
Order-of-evaluation analysis for destructive updates in stri..
- Sastry, Clinger et al. - 1993
17
River routing every which way (context) - Cole, Siegel - 1984
17
Information Processing Letters (context) - Gajewska, Tarjan et al. - 1986
16
Localized search in sorted lists (context) - Kosaraju - 1981
16
Abstract value constructors (context) - Aitken, Reppy - 1992
16
Pattern matching with abstract data types (context) - Burton, Cameron - 1993
15
Shallow binding in Lisp
- Baker - 1978
13
On pointers versus addresses (context) - Ben-Amram, Galil - 1992
13
Unrolling lists
- Shao, Reppy et al. - 1994
12
An applicative random-access stack (context) - Myers - 1983
11
An efficiency comparison of some representations of purely f.. (context) - Aasa, Holmstrom et al. - 1988
10
Shallow binding makes functional arrays fast
- Baker - 1991
9
How to make destructive updates less destructive
- Odersky - 1991
8
A logarithmic implementation of flexible arrays (context) - Hoogerwoord - 1992
7
The efficient implementation of veryhigh -level programming .. (context) - Hood - 1982
7
and purely functional programming (context) - Chuang, Goldberg et al. - 1993
6
Computing external farthest neighbors for a simple polygon (context) - Agarwal, Agarwol et al. - 1991
4
A randomized implementation of multiple functional arrays (context) - Chuang - 1994
1
AVL-trees for localized search (context) - Tsakalidis - 1985
The graph only includes citing articles where the year of publication is known.
Documents on the same site (http://www.cs.columbia.edu/~cdo/papers.html): More
Safe-for-Space Threads in Standard ML - Biagioni, Cline, Lee, Okasaki.. (1998)
(Correct)
Amortization, Lazy Evaluation, and Persistence: Lists with.. - Okasaki (1995)
(Correct)
Functional Data Structures - Okasaki (1996)
(Correct)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC