Curated collection of data structures for the JavaScript/TypeScript.
npm install mnemonist
Mnemonist is a curated collection of data structures for the JavaScript language.
It gathers classic data structures (think heap, trie etc.) as well as more exotic ones such as Buckhard-Keller trees etc.
It strives at being:
* As performant as possible for a high-level language.
* Completely modular (don't need to import the whole library just to use a simple heap).
* Simple & straightforward to use and consistent with JavaScript standard objects' API.
* Completely typed and comfortably usable with Typescript.
```
npm install --save mnemonist
Full documentation for the library can be found here.
Classics
* Heap
* Linked List
* LRUCache, LRUMap
* MultiMap
* MultiSet
* Queue
* Set (helpers)
* Stack
* Trie
* TrieMap
Low-level & structures for very specific use cases
* Circular Buffer
* Fixed Deque
* Fibonacci Heap
* Fixed Reverse Heap
* Fixed Stack
* Hashed Array Tree
* Static DisjointSet
* SparseQueueSet
* SparseMap
* SparseSet
* Suffix Array
* Generalized Suffix Array
* Vector
Information retrieval & Natural language processing
* Fuzzy Map
* Fuzzy MultiMap
* Inverted Index
* Passjoin Index
* SymSpell
Space & time indexation
* Static IntervalTree
* KD-Tree
Metric space indexation
* Burkhard-Keller Tree
* Vantage Point Tree
Probabilistic & succinct data structures
* BitSet
* BitVector
* Bloom Filter
Utility classes
* BiMap
* DefaultMap
* DefaultWeakMap
---
Note that this list does not include a Graph data structure, whose implementation is usually far too complex for the scope of this library.
However, we advise the reader to take a look at the graphology library instead.
Don't find the data structure you need? Maybe we can work it out together.
Contributions are obviously welcome. Be sure to lint the code & add relevant unit tests.
`Installing
git clone git@github.com:Yomguithereal/mnemonist.git
cd mnemonist
npm install