From a71b22322666eb54ba9f1c53d6c3798db0fbb133 Mon Sep 17 00:00:00 2001 From: Revone Date: Mon, 27 Nov 2023 10:12:15 +0800 Subject: [PATCH] docs: Add print results for free conversion between data structures. --- README.md | 115 ++++++++++++++++++++++++++++++------ test/integration/index.html | 95 +++++++++++++++++++++++++---- 2 files changed, 180 insertions(+), 30 deletions(-) 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 - +
@@ -520,7 +601,7 @@ avl2.print(); ## Standard library data structure comparison -
Data Structure
+
@@ -752,7 +833,7 @@ avl2.print(); ## Built-in classic algorithms -
Data Structure Typed
+
@@ -853,7 +934,7 @@ avl2.print(); ## Software Engineering Design Standards -
Algorithm
+
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); }
Principle Description