diff --git a/README.md b/README.md
index 23ae822..bb437f0 100644
--- a/README.md
+++ b/README.md
@@ -308,65 +308,146 @@ const orgStrArr = ["trie", "trial", "trick", "trip", "tree", "trend", "triangle"
const entries = [[6, 6], [1, 1], [2, 2], [7, 7], [5, 5], [3, 3], [4, 4], [9, 9], [8, 8]];
const queue = new Queue(orgArr);
-queue.print();
+queue.print();
+// [6, 1, 2, 7, 5, 3, 4, 9, 8]
const deque = new Deque(orgArr);
-deque.print();
+deque.print();
+// [6, 1, 2, 7, 5, 3, 4, 9, 8]
const sList = new SinglyLinkedList(orgArr);
-sList.print();
+sList.print();
+// [6, 1, 2, 7, 5, 3, 4, 9, 8]
const dList = new DoublyLinkedList(orgArr);
-dList.print();
+dList.print();
+// [6, 1, 2, 7, 5, 3, 4, 9, 8]
const stack = new Stack(orgArr);
-stack.print();
+stack.print();
+// [6, 1, 2, 7, 5, 3, 4, 9, 8]
const minHeap = new MinHeap(orgArr);
-minHeap.print();
+minHeap.print();
+// [1, 5, 2, 7, 6, 3, 4, 9, 8]
const maxPQ = new MaxPriorityQueue(orgArr);
-maxPQ.print();
+maxPQ.print();
+// [9, 8, 4, 7, 5, 2, 3, 1, 6]
const biTree = new BinaryTree(entries);
biTree.print();
+// ___6___
+// / \
+// ___1_ _2_
+// / \ / \
+// _7_ 5 3 4
+// / \
+// 9 8
const bst = new BST(entries);
bst.print();
+// _____5___
+// / \
+// _2_ _7_
+// / \ / \
+// 1 3_ 6 8_
+// \ \
+// 4 9
+
const rbTree = new RedBlackTree(entries);
rbTree.print();
+// ___4___
+// / \
+// _2_ _6___
+// / \ / \
+// 1 3 5 _8_
+// / \
+// 7 9
+
const avl = new AVLTree(entries);
avl.print();
+// ___4___
+// / \
+// _2_ _6___
+// / \ / \
+// 1 3 5 _8_
+// / \
+// 7 9
const treeMulti = new TreeMultimap(entries);
treeMulti.print();
+// ___4___
+// / \
+// _2_ _6___
+// / \ / \
+// 1 3 5 _8_
+// / \
+// 7 9
const hm = new HashMap(entries);
-hm.print()
+hm.print()
+// [[6, 6], [1, 1], [2, 2], [7, 7], [5, 5], [3, 3], [4, 4], [9, 9], [8, 8]]
+
const rbTreeH = new RedBlackTree(hm);
rbTreeH.print();
+// ___4___
+// / \
+// _2_ _6___
+// / \ / \
+// 1 3 5 _8_
+// / \
+// 7 9
const pq = new MinPriorityQueue(orgArr);
-pq.print();
+pq.print();
+// [1, 5, 2, 7, 6, 3, 4, 9, 8]
+
const bst1 = new BST(pq);
bst1.print();
+// _____5___
+// / \
+// _2_ _7_
+// / \ / \
+// 1 3_ 6 8_
+// \ \
+// 4 9
const dq1 = new Deque(orgArr);
-dq1.print();
+dq1.print();
+// [6, 1, 2, 7, 5, 3, 4, 9, 8]
const rbTree1 = new RedBlackTree(dq1);
rbTree1.print();
+// _____5___
+// / \
+// _2___ _7___
+// / \ / \
+// 1 _4 6 _9
+// / /
+// 3 8
+
const trie2 = new Trie(orgStrArr);
-trie2.print();
+trie2.print();
+// ['trie', 'trial', 'triangle', 'trick', 'trip', 'tree', 'trend', 'track', 'trace', 'transmit']
const heap2 = new Heap(trie2, { comparator: (a, b) => Number(a) - Number(b) });
-heap2.print();
+heap2.print();
+// ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
const dq2 = new Deque(heap2);
-dq2.print();
+dq2.print();
+// ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
const entries2 = dq2.map((el, i) => [i, el]);
const avl2 = new AVLTree(entries2);
avl2.print();
+// ___3_______
+// / \
+// _1_ ___7_
+// / \ / \
+// 0 2 _5_ 8_
+// / \ \
+// 4 6 9
```
## API docs & Examples
@@ -379,7 +460,7 @@ avl2.print();
## Data Structures
-
+
Data Structure |
@@ -520,7 +601,7 @@ avl2.print();
## Standard library data structure comparison
-
+
Data Structure Typed |
@@ -752,7 +833,7 @@ avl2.print();
## Built-in classic algorithms
-
+
Algorithm |
@@ -853,7 +934,7 @@ avl2.print();
## Software Engineering Design Standards
-
+
Principle |
Description |
diff --git a/test/integration/index.html b/test/integration/index.html
index 79b8b5f..e0d984f 100644
--- a/test/integration/index.html
+++ b/test/integration/index.html
@@ -240,65 +240,134 @@
const entries = [[6, 6], [1, 1], [2, 2], [7, 7], [5, 5], [3, 3], [4, 4], [9, 9], [8, 8]];
const queue = new Queue(orgArr);
- queue.print();
+ queue.print(); // [6, 1, 2, 7, 5, 3, 4, 9, 8]
const deque = new Deque(orgArr);
- deque.print();
+ deque.print(); // [6, 1, 2, 7, 5, 3, 4, 9, 8]
const sList = new SinglyLinkedList(orgArr);
- sList.print();
+ sList.print(); // [6, 1, 2, 7, 5, 3, 4, 9, 8]
const dList = new DoublyLinkedList(orgArr);
- dList.print();
+ dList.print(); // [6, 1, 2, 7, 5, 3, 4, 9, 8]
const stack = new Stack(orgArr);
- stack.print();
+ stack.print(); // [6, 1, 2, 7, 5, 3, 4, 9, 8]
const minHeap = new MinHeap(orgArr);
- minHeap.print();
+ minHeap.print(); // [1, 5, 2, 7, 6, 3, 4, 9, 8]
const maxPQ = new MaxPriorityQueue(orgArr);
- maxPQ.print();
+ maxPQ.print(); // [9, 8, 4, 7, 5, 2, 3, 1, 6]
const biTree = new BinaryTree(entries);
biTree.print();
+ // ___6___
+ // / \
+ // ___1_ _2_
+ // / \ / \
+ // _7_ 5 3 4
+ // / \
+ // 9 8
const bst = new BST(entries);
bst.print();
+ // _____5___
+ // / \
+ // _2_ _7_
+ // / \ / \
+ // 1 3_ 6 8_
+ // \ \
+ // 4 9
+
const rbTree = new RedBlackTree(entries);
rbTree.print();
+ // ___4___
+ // / \
+ // _2_ _6___
+ // / \ / \
+ // 1 3 5 _8_
+ // / \
+ // 7 9
+
const avl = new AVLTree(entries);
avl.print();
+ // ___4___
+ // / \
+ // _2_ _6___
+ // / \ / \
+ // 1 3 5 _8_
+ // / \
+ // 7 9
const treeMulti = new TreeMultimap(entries);
treeMulti.print();
+ // ___4___
+ // / \
+ // _2_ _6___
+ // / \ / \
+ // 1 3 5 _8_
+ // / \
+ // 7 9
const hm = new HashMap(entries);
- hm.print()
+ hm.print() // [[6, 6], [1, 1], [2, 2], [7, 7], [5, 5], [3, 3], [4, 4], [9, 9], [8, 8]]
+
const rbTreeH = new RedBlackTree(hm);
rbTreeH.print();
+ // ___4___
+ // / \
+ // _2_ _6___
+ // / \ / \
+ // 1 3 5 _8_
+ // / \
+ // 7 9
const pq = new MinPriorityQueue(orgArr);
- pq.print();
+ pq.print(); // [1, 5, 2, 7, 6, 3, 4, 9, 8]
+
const bst1 = new BST(pq);
bst1.print();
+ // _____5___
+ // / \
+ // _2_ _7_
+ // / \ / \
+ // 1 3_ 6 8_
+ // \ \
+ // 4 9
const dq1 = new Deque(orgArr);
- dq1.print();
+ dq1.print(); // [6, 1, 2, 7, 5, 3, 4, 9, 8]
const rbTree1 = new RedBlackTree(dq1);
rbTree1.print();
+ // _____5___
+ // / \
+ // _2___ _7___
+ // / \ / \
+ // 1 _4 6 _9
+ // / /
+ // 3 8
+
const trie2 = new Trie(orgStrArr);
- trie2.print();
+ trie2.print(); // ['trie', 'trial', 'triangle', 'trick', 'trip', 'tree', 'trend', 'track', 'trace', 'transmit']
const heap2 = new Heap(trie2, { comparator: (a, b) => Number(a) - Number(b) });
- heap2.print();
+ heap2.print(); // ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
const dq2 = new Deque(heap2);
- dq2.print();
+ dq2.print(); // ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
const entries2 = dq2.map((el, i) => [i, el]);
const avl2 = new AVLTree(entries2);
avl2.print();
+ // ___3_______
+ // / \
+ // _1_ ___7_
+ // / \ / \
+ // 0 2 _5_ 8_
+ // / \ \
+ // 4 6 9
+
} catch (e) {
console.error(e);
}