1.7.11 • Published 12 months ago

node-data-structure v1.7.11

Weekly downloads
-
License
ISC
Repository
github
Last release
12 months ago

data-structure

BLOG DOCS Or GithubDocs

TEST CODE

npm npm npm npm npm (tag) NPM npm package size npm package size (gzip) ESLint GitHub contributors
GitHub stars
GitHub issues
GitHub last commit GitHub top language
GitHub language count

Features

Primitive Data Structures

  • Linked List
	const linkedList = new LinkedList<number>()
	linkedList.append(10)
	linkedList.toArray() //Outputs: [10]
	linkedList.prepend(5)
	linkedList.toArray() // Outputs: [5,10]
	linkedList.getHead()?.getValue() // Outputs: 5
	linkedList.getHead()?.getNext()?.getValue() //Outputs: 10
  • Doubly Linked List
	const doublyLinkedList = new DoublyLinkedList<number>()
	doublyLinkedList.append(10)
	doublyLinkedList.toArray() //Outputs: [10]
	doublyLinkedList.prepend(5)
	doublyLinkedList.toArray() //Outputs: [5,10]
	doublyLinkedList.append(15)
	doublyLinkedList.toArray() //Outputs: [5,10,15]
	doublyLinkedList.getHead()?.getNext()?.getValue() //Outputs: 10
	doublyLinkedList.getHead()?.getNext()?.getPrev()?.getValue() //Outputs: 5
	doublyLinkedList.getHead()?.getNext()?.getPrev()?.getNext()?.getNext()?.getValue() //OutPuts: 15
  • Stack
	const stack = new Stack<number>()
        stack.push(10)
        stack.push(20)
        stack.push(30)
        stack.pop() //Outputs: 30
        stack.size() //Outputs: 2
        stack.isEmpty() //Outputs: true
        stack.pop() //Outputs: 20
        stack.size() //Outputs: 1
        stack.isEmpty() //Outputs: true
        stack.pop() //Outputs: 10
        stack.size() //Outputs: 0
        stack.isEmpty() //Outtpus: true
  • Queue
	queue.enqueue(10)
	queue.enqueue(20)
	queue.dequeue() //Outputs: 10
	queue.size() //Outputs: 1
	queue.dequeue() //Outputs: 20
	queue.size() //Outputs: 0
  • Hash Table
    const hashTable = new HashTable<number>();
    hashTable.put("key1", 1);
    hashTable.put("key2", 2);
    hashTable.get("key1"); // Outputs: 1
    hashTable.size(); // Outputs: 2
    hashTable.remove("key1");
    hashTable.get("key1"); // Outputs: null
    hashTable.containsKey("key2"); // Outputs: true

Tree

  • Binary Tree
  • Binary Search Tree
  • AVL Tree
  • Red-Black Tree
  • Heap
  • B-Tree

Graph

  • Undirected Graph
  • Directed Graph
  • Weighted Graph
  • Adjacency Matrix
  • Adjacency List

Set

  • Set
  • Bit Vector

Other Data Structures

  • Trie
  • Fibonacci heap
  • Disjoint Set, Union-Find
  • Deque, Double-ended Queue
    const deque = new Deque<number>()
    deque.addFront(10)
    deque.addBack(20)
    console.log(deque.size()) //Outputs:2
    console.log(deque.peekFront()) // Outputs: 10
    console.log(deque.peekBack()) // Outputs: 20
  • Linear List
  • Circular Queue

Versions

1.7.11

  • HashTable

1.6.9

  • Deque

v1.5.6

  • Doubly Linked List

v1.4.4

Added

  • Stack

v1.3.2

Added

  • Linked List
  • Queue
1.7.11

12 months ago

1.6.9

12 months ago

1.5.9

1 year ago

1.5.6

1 year ago

1.4.6

1 year ago

1.4.5

1 year ago

1.4.4

1 year ago

1.3.2

1 year ago

1.2.2

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago