GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - monmohan/dsjslib: A library implementing several standard data structures and utilities, in JavaScript. Its written and tested using Node.js which is the target platform.

BranchesTags
Open more actions menu

Latest commit

 

History

271 Commits
271 Commits

Folders and files

NameName
Last commit message
Last commit date
build
build
 
 
lib
lib
 
 
tests
tests
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
index.js
index.js
 
 
package.json
package.json
 
 

Repository files navigation

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
      • AVLTree
      • Skip List
    • Tries Map optimized for prefix searching on string keys
      • Multi Way Trie
      • Ternary Search Trie
    • Multi-Valued Map supporting multiple values for a key
      • MultiMap
      • TreeMultiMap - In addition, Map is sorted on keys. Uses AVLTree as backing store
  • Queues

    • Linked Deque - An optionally capacity constrained deque based on linked nodes
    • Priority Queue - Priority Queue based on a Binary Heap
    • Delay Queue - Queue of 'Delayed' items, item can only be taken when its delay has expired. For example usage see wiki: DelayQueue-for-Scheduled-Task-Management
  • 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

About

A library implementing several standard data structures and utilities, in JavaScript. Its written and tested using Node.js which is the target platform.

Topics

algorithmsdatastructuresjavascript

Resources

Readme
MIT license
Activity

Stars

764 stars

Watchers

45 watching

Forks

68 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.