Mnemonist

Curated collection of data structures for the JavaScript/TypeScript languag...

README

Build Status

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.

Installation


  1. ```
  2. npm install --save mnemonist
  3. ```

Documentation


Full documentation for the library can be found here.

Classics


Low-level & structures for very specific use cases


Information retrieval & Natural language processing


Space & time indexation


Metric space indexation


Probabilistic & succinct data structures


Utility classes



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](https://graphology.github.io/) library instead.

Don't find the data structure you need? Maybe we can work it out together.

Contribution


Contributions are obviously welcome. Be sure to lint the code & add relevant unit tests.

  1. ```
  2. # Installing
  3. git clone git@github.com:Yomguithereal/mnemonist.git
  4. cd mnemonist
  5. npm install

  6. # Linting
  7. npm run lint

  8. # Running the unit tests
  9. npm test
  10. ```

License