node-data-structure
v1.7.11
Published
no description
Downloads
24
Maintainers
Readme
data-structure
BLOG DOCS Or GithubDocs
TEST CODE
Features
Primitive Data Structures
- [x] 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
- [x] 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
- [x] 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
- [x] Queue
queue.enqueue(10)
queue.enqueue(20)
queue.dequeue() //Outputs: 10
queue.size() //Outputs: 1
queue.dequeue() //Outputs: 20
queue.size() //Outputs: 0
- [x] 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
- [x] 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