DataStructures.jl
This package implements a variety of data structures, including
- Deque (implemented with an unrolled linked list)
- CircularBuffer
- CircularDeque (based on a circular buffer)
- Stack
- Queue
- Priority Queue
- Fenwick Tree
- Accumulators and Counters (i.e. Multisets / Bags)
- Disjoint Sets
- Binary Heap
- Mutable Binary Heap
- Ordered Dicts and Sets
- RobinDict and OrderedRobinDict (implemented with Robin Hood Hashing)
- SwissDict (inspired from SwissTables)
- Dictionaries with Defaults
- Trie
- Linked List and Mutable Linked List
- Sorted Dict, Sorted Multi-Dict and Sorted Set
- DataStructures.IntSet
- SparseIntSet
- DiBitVector
- Red Black Tree
- AVL Tree
- Splay Tree
Contents
- DataStructures.jl
- Deque
- CircularBuffer
- CircularDeque
- Stack and Queue
- Priority Queue
- Fenwick Tree
- Accumulators and Counters
- Disjoint Sets
- Heaps
- Functions using heaps
- Improving performance with Float data
- OrderedDicts and OrderedSets
- DefaultDict and DefaultOrderedDict
- RobinDict
- Trie
- Linked List
- Mutable Linked List
- DataStructures.IntSet
- Sorted Containers
- Tokens for Sorted Containers
- Constructors for Sorted Containers
- Complexity of Sorted Containers
- Inserting & Deleting in Sorted Containers
- Iteration Over Sorted Containers
- Cautionary note on mutable keys
- Performance of Sorted Containers
- DataStructures.SparseIntSet
- DiBitVector
- Red Black Tree
- AVL Tree
- Splay Tree