A library implementing several standard data structures and utilities, in JavaScript. Its written and tested using Node.js which is the target platform.
Clone or download
monmohan Merge pull request #17 from wranai/patch-1
LinkedDeque was not quite exported
Latest commit a7ea470 Jul 19, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build local build file Jun 9, 2014
lib LinkedDeque was not quite exported Jul 13, 2017
tests Update test case to include min/max for empty tree Nov 13, 2014
LICENSE update package.json Sep 2, 2013
README.md Update README.md May 18, 2017
index.js update index.js for exporting classes Aug 6, 2013
package.json fix min/max for empty tree, update package json Nov 13, 2014

README.md

dsjslib

This is a collection of different data structures and utilities, implemented in JavaScript. Its written and tested using Node.js which is also the target platform.

API Documentation >>

Overview

  • New

    • Bloom Filter - Probabilistic data structure to test whether an element is a member of a set.
  • Maps

    • Sorted Maps: Maps sorted according to natural ordering of keys or by comparator function provided at creation time. Two different backing stores are available
    • Tries Map optimized for prefix searching on string keys
    • Multi-Valued Map supporting multiple values for a key
  • Queues

  • Utilities

    • LRU Cache with Stats Google Guava inspired LRU cache. Reference: Google Guava. In-memory LRU cache implementation for Node, inspired by Google Guava Loading Cache . The cache is simpler since it doesn't have to deal with concurrent threads, but other functionality of Guava cache are captured like - Auto loader function - Removal listener - Auto expiry After Write (TTL) - Max Size and weight - Cache Stats recording For usage and overview see wiki: https://github.com/monmohan/dsjslib/wiki/LRU-Cache-Feature-and-usage-overview

    • BitSet - An array of bits with operations to set, examine and clear individual bits

    • CircularBuffer - A data structure that uses a single, fixed-size buffer as if it were connected end-to-end. When the buffer is filled, new data is written starting at the beginning of the buffer and overwriting the old.

    • Bloom Filter - Probabilistic data structure to test whether an element is a member of a set.

    • BTree - Self balancing generalized Search Tree

Installation

    npm install dsjslib

Current version 0.6.14 is stable and thoroughly tested on Node v0.10