JSPM

@javascript-data-structures/collection

1.0.7
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 48
  • Score
    100M100P100Q33304F
  • License ISC

Collection of Data Structure implementations written in JavaScript

Package Exports

  • @javascript-data-structures/collection
  • @javascript-data-structures/collection/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@javascript-data-structures/collection) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Collection of Data Structures implemented in JavaScript

Priority Queue

Trie

Priority Queue

Complexity

Heap method Time complexity Space complexity Method
Construct a Heap O(N) O(N) heapify
Insert an element O(logN) O(1) add
Get the top element O(1) O(1) peak
Delete the top element O(logN) O(1) poll
Get the size of a Heap O(1) O(1) size

N is the number of elements in the heap.

Usage

npm install @javascript-data-structures/collection
const { PriorityQueue } = require('@javascript-data-structures/collection');

//By Default creates a max heap
let maxHeap = new PriorityQueue();

maxHeap.add(3);
maxHeap.add(5);
maxHeap.add(2);
console.log(maxHeap);


console.log(maxHeap.toString());
console.log(maxHeap.size);

//Min Heap using Comparator Function
let pq = new PriorityQueue((a,b)=>b-a);

pq.heapify([5,4,3,2,1]);
console.log(pq.peak());

//Max Heap using Comparator Function
pq = new PriorityQueue((a,b)=>a-b);

pq.heapify([1,2,3,4,5]);
pq.add(45);
console.log(pq);

//More Ways to prioritize
let priorityQueue = new PriorityQueue((pointA, pointB)=>pointB[2]-pointA[2]);

Trie

Methods

insert(word) - inserts given word into Trie

search(word) - search for exact word in the Trie. Returns true if exists, false otherwise.

startsWith(prefix) - checks if Trie has words satarting with the given prefix. Returns true if exists, false otherwise.

findAllMatches(prefix) - Retuns all the words matching with the prefix in the Trie.

Usage

npm install @javascript-data-structures/collection
const { Trie } = require('@javascript-data-structures/collection');

let trie = new Trie();

trie.insert("apple");

trie.insert("app");

trie.insert("apps");

trie.insert("ball");

trie.insert("b");

console.log(trie.search("ba"));
console.log(trie.startsWith("ball"));
console.log(trie.findAllMatches("app"));