libstl
v0.1.22
Published
Standard JavaScript/TypeScript Library: DoublyLinkedList, Stack, Queue, Heap, MaxHeap, MinHeap, PriorityQueue
Downloads
364
Maintainers
Readme
Introduction
The Standard Javascript/TypeScript Library (STL) is a collection of interfaces and classes that are meant to solve common problems.
STL provides a set of standard datastructures. They are grouped here by their underlying implementation which usually defines their general field of application.
API Documentation can be found here
Table of Contents
Doubly Linked Lists
A Doubly Linked List (DLL) is a list of nodes linked in both directions to each others. Iterator's operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.
Heaps
Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.
DoublyLinkedList
var DoublyLinkedList = require('libstl').DoublyLinkedList;
var list = new DoublyLinkedList();
list.push(1);
list.push(2);
list.push(3);
list.toString(); // = {1->2->3}
Stack
var Stack = require('libstl').Stack;
var stack = new Stack();
stack.push('A');
stack.push('B');
stack.push('C');
stack.pop(); // = 'C'
Queue
var Queue = require('libstl').Queue;
var queue = new Queue();
queue.enqueue('A');
queue.enqueue('B');
queue.enqueue('C');
queue.dequeue(); // = 'A'
Heap
var Heap = require('libstl').Heap;
var heap = new Heap();
heap.insert(1);
heap.insert(2);
heap.insert(3);
heap.top(); // = 1
MaxHeap
var MaxHeap = require('libstl').MaxHeap;
var heap = new MaxHeap();
heap.insert(1);
heap.insert(2);
heap.insert(3);
heap.top(); // = 3
MinHeap
var MinHeap = require('libstl').MinHeap;
var heap = new MinHeap();
heap.insert(1);
heap.insert(2);
heap.insert(3);
heap.top(); // = 1
PriorityQueue
var PriorityQueue = require('libstl').PriorityQueue;
var queue = new PriorityQueue();