#### Filter Results:

- Full text PDF available (23)

#### Publication Year

1992

2011

- This year (0)
- Last 5 years (0)
- Last 10 years (1)

#### Publication Type

#### Co-author

#### Journals and Conferences

#### Key Phrases

Learn More

- Chris Okasaki
- 1999

When a C programmer needs an efficient data structure for a particular problem, he or she can often simply look one up in any of a number of good textbooks or handbooks. Unfortunately, programmers in functional languages such as Standard ML or Haskell do not have this luxury. Although some data structures designed for imperative languages such as C can be… (More)

- Chris Okasaki
- ICFP
- 1999

Square matrices serve as an interesting case study in functional programming. Common representations, such as lists of lists, are both inefficient---at least for access to individual elements---and error-prone, because the compiler cannot enforce "squareness". Switching to a typical balanced-tree representation solves the first problem, but not the second.… (More)

- Chris Okasaki
- J. Funct. Program.
- 1995

We present purely functional implementations of queues and double-ended queues (deques) requiring only O(1) time per operation in the worst case. Our algorithms are considerably simpler than previous designs with the same bounds. The inspiration for our approach is the incremental behavior of certain functions on lazy lists.

- Gerth Stølting Brodal, Chris Okasaki
- J. Funct. Program.
- 1996

Brodal recently introduced the first implementation of imperative priority queues to support findMin, insert, and meld in O(1) worst-case time, and deleteMin in O(log n) worst-case time. These bounds are asymptotically optimal among all comparison-based priority queues. In this paper, we adapt Brodal’s data structure to a purely functional setting. In doing… (More)

- Chris Okasaki
- ICFP
- 2000

Every programmer has blind spots. Breadth-first numbering is an interesting toy problem that exposes a blind spot common to many---perhaps most---functional programmers.

Graphs are ubiquitous, finding applications in domains ranging from software engineering to computational biology. While graph theory and graph algorithms are some of the oldest, most studied fields in computer science, the problem of visualizing graphs is comparatively young. This problem, known as graph drawing, is that of transforming combinatorial… (More)

- Chris Okasaki
- FPCA
- 1995

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, tad). A closer analysis of the array operations improves the bound to O(min{i, log n}) in the worst case and O(log i) in the expected case, where i is the index… (More)

- Chris Okasaki
- Advanced Functional Programming
- 1996

- Chris Okasaki
- ICFP
- 1996

Traditional techniques for designing and analyzing amortized data structures in an imperative setting are of limited use in a functional setting because they apply only to single-threaded data structures, yet functional data structures can be non-single-threaded. In earlier work, we showed how lazy evaluation supports functional amortized data structures… (More)

- Chris Okasaki
- J. Funct. Program.
- 1999