This library provides several functional data structures based on the work of Chris Okasaki and Phil Bagwell. Click the badge above the documentation.
The original library was implemented by Hari Prashanth.
Use one of:
raco pkg install pfds
or
git clone git://github.com/takikawa/tr-pfds.git
raco pkg install tr-pfds/
On Racket v5.3.1 or older, use raco
to link this repository as
a Racket collection. Here are step-by-step instructions:
git clone git://github.com/takikawa/tr-pfds.git
cd tr-pfds/pfds
raco link .
raco setup pfds
This will link the pfds
folder as a collection called pfds
.
Then you can require, for example, the Bankers Deque by using
(require pfds/deque/bankers)
.
The following data structures are implemented:
pfds/deque/bankers
pfds/deque/implicit
pfds/deque/real-time
pfds/heap/binomial
pfds/heap/skew-binomial
pfds/heap/leftist
pfds/heap/splay
pfds/heap/pairing
pfds/heap/lazy-pairing
pfds/heap/bootstrapped
pfds/queue/bankers
pfds/queue/physicists
pfds/queue/hood-melville
pfds/queue/implicit
pfds/queue/real-time
pfds/ralist/binary
pfds/ralist/skew
pfds/catenable-list
pfds/vlist
pfds/stream
pfds/red-black-tree
pfds/trie
pfds/treap