Have ideas to improve npm?Join in the discussion! »

    libstl

    0.1.22 • Public • Published

    libstl

    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();

    Install

    npm i libstl

    DownloadsWeekly Downloads

    8

    Version

    0.1.22

    License

    MIT

    Last publish

    Collaborators

    • avatar