Yomguithereal/mnemonist

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

JavaScript

2,435

725 commits

updated Sep 22, 2026

See the code

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

npm install --save mnemonist

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 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.

# Installing
git clone git@github.com:Yomguithereal/mnemonist.git
cd mnemonist
npm install

# Linting
npm run lint

# Running the unit tests
npm test

License

MIT

data-structure

Yomguithereal/mnemonist

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

JavaScript

2,435

725 commits

updated Sep 22, 2026

See the code

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

npm install --save mnemonist

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 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.

# Installing
git clone git@github.com:Yomguithereal/mnemonist.git
cd mnemonist
npm install

# Linting
npm run lint

# Running the unit tests
npm test

License

MIT

data-structure

Project health

Overall

3.2/10

Maintained

1/10

Code review

3/10
OpenSSF Scorecard

Latest release

0.40.5 · Sep 22, 2026

Releases this year

2

Significant stargazers

(top 24 of 41)

Aras Abbasi

241 followers · starred Jan 2022

Blake Embrey

1,937 followers · starred May 2022

Manuel Spigolon

465 followers · starred Jul 2021

Jared Palmer

10,732 followers · starred May 2022