A small data structures and algorithms library for JavaScript.
npm i js-data-structs
https://cdn.jsdelivr.net/npm/js-data-structs@latest/dist/js-data-structs.umd.js
Expand
- Trees
- Binary Trees
- Binary Search Trees
- Stack
- Queue
- Priority Queue
- Graph
- BFS
- DFS
- Topological Sort
- Dijkstra's Algorithm
- Trie
- Power set
- Heap's algorithm (array permutations)
- Linked List
- Doubly Linked List
- Heap Sort
- Max heap
- Min heap
- Z algorithm (pattern matching)
- N Queens
- LZW
- Encoding
- Decoding
- Fisher–Yates shuffle Algorithm
- Binary Search
- Rabin Karp
- Levenshtein Distance
Before contributing please read CONTRIBUTING.md for guidelines.
In addition to the guidelines mentioned in CONTRIBUTING.md
there are some additional things to keep in mind while raising pull requests. Before your pull request can be accepted there are some checks that have to pass. To run these checks locally-
npm run prepare
to compile with Rollup and Babelnpm run format
to format with Prettiernpm run lint
to check for linting errorsnpm test
to run the Jest unit tests
New algorithms or data structures are added to ./src/
and you also have to add test cases for all functions implemented in the ./test/
folder.
Expand
-
Minified version
-
Linked List
- Circular Linked List
- Doubly Linked List
-
Heapsort
- Max heap
- Min heap
-
Suffix trees
-
More Graph algorithms
- Topological Sort
- Dijkstra's Algorithm
-
LZW
- Encoding
- Decoding