Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

js-data-structs

Aveek-Saha80MIT2.0.0

A library of data structures and algorithms

js-datastructures, es6 data structures, javascript data structures, data structures, data structures javascript, data structures js, stack, es6 stack, queue, es6 queue, priority queue, priorityqueue, trees, binary trees, binary search tree, trie, bst, graph, es6 graph, directed graph, directedgraph, depth first search, breadth first search, dfs, bfs, power set, linked list, heap sort, z algorithm, topological sort, heaps algorithm

readme

JS data structs

npm bundle size Codecov

A small data structures and algorithms library for JavaScript.

Installing

NPM package

npm i js-data-structs

NPM page

CDN

https://cdn.jsdelivr.net/npm/js-data-structs/DataStructures.js

https://cdn.jsdelivr.net/npm/js-data-structs/DataStructures.min.js

Implemented Data structures/ Algos-

<summary>Expand</summary>
  • 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
  • Heap Sort
    • Max heap
    • Min heap
  • Z algorithm (pattern matching)
  • N Queens
  • LZW
    • Encoding
    • Decoding
  • Fisher–Yates shuffle Algorithm
  • Binary Search
  • Rabin Karp

Contributing

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

  • npm run prepare to compile with Rollup and Babel
  • npm run format to format with Prettier
  • npm run lint to check for linting errors
  • npm 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.

Usage guide

Future features

<summary>Expand</summary>
  • Minified version

  • Linked List

    • <input disabled="" type="checkbox"> Circular Linked List
    • <input disabled="" type="checkbox"> Doubly Linked List
  • <input checked="" disabled="" type="checkbox"> Heapsort
    • <input checked="" disabled="" type="checkbox"> Max heap
    • <input checked="" disabled="" type="checkbox"> Min heap
  • <input disabled="" type="checkbox"> Suffix trees
  • <input disabled="" type="checkbox"> More Graph algorithms
    • <input checked="" disabled="" type="checkbox"> Topological Sort
    • <input checked="" disabled="" type="checkbox"> Dijkstra's Algorithm
  • <input checked="" disabled="" type="checkbox"> LZW
    • <input checked="" disabled="" type="checkbox"> Encoding
    • <input checked="" disabled="" type="checkbox"> Decoding