data-structure-typed 1.18.6 → 1.18.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/data-structures/binary-tree/abstract-binary-tree.d.ts +48 -24
  2. package/dist/data-structures/binary-tree/abstract-binary-tree.js +51 -26
  3. package/dist/data-structures/binary-tree/avl-tree.d.ts +5 -4
  4. package/dist/data-structures/binary-tree/avl-tree.js +5 -3
  5. package/dist/data-structures/binary-tree/binary-tree.d.ts +13 -3
  6. package/dist/data-structures/binary-tree/binary-tree.js +14 -5
  7. package/dist/data-structures/binary-tree/bst.d.ts +26 -5
  8. package/dist/data-structures/binary-tree/bst.js +26 -4
  9. package/dist/data-structures/binary-tree/rb-tree.d.ts +30 -1
  10. package/dist/data-structures/binary-tree/rb-tree.js +27 -14
  11. package/dist/data-structures/binary-tree/tree-multiset.d.ts +15 -4
  12. package/dist/data-structures/binary-tree/tree-multiset.js +15 -3
  13. package/dist/data-structures/graph/abstract-graph.d.ts +20 -21
  14. package/dist/data-structures/graph/abstract-graph.js +24 -19
  15. package/dist/data-structures/graph/directed-graph.d.ts +10 -9
  16. package/dist/data-structures/graph/directed-graph.js +18 -18
  17. package/dist/data-structures/graph/undirected-graph.d.ts +5 -11
  18. package/dist/data-structures/graph/undirected-graph.js +4 -17
  19. package/dist/data-structures/interfaces/abstract-binary-tree.d.ts +101 -0
  20. package/dist/data-structures/interfaces/abstract-binary-tree.js +2 -0
  21. package/dist/data-structures/interfaces/abstract-graph.d.ts +1 -4
  22. package/dist/data-structures/interfaces/avl-tree.d.ts +16 -1
  23. package/dist/data-structures/interfaces/binary-tree.d.ts +4 -24
  24. package/dist/data-structures/interfaces/bst.d.ts +18 -1
  25. package/dist/data-structures/interfaces/directed-graph.d.ts +4 -1
  26. package/dist/data-structures/interfaces/index.d.ts +1 -1
  27. package/dist/data-structures/interfaces/index.js +1 -1
  28. package/dist/data-structures/interfaces/rb-tree.d.ts +9 -0
  29. package/dist/data-structures/interfaces/rb-tree.js +2 -0
  30. package/dist/data-structures/interfaces/undirected-graph.d.ts +4 -1
  31. package/dist/data-structures/types/abstract-binary-tree.d.ts +2 -2
  32. package/dist/utils/utils.js +62 -0
  33. package/docs/assets/search.js +1 -1
  34. package/docs/classes/AVLTree.html +292 -180
  35. package/docs/classes/AVLTreeNode.html +126 -77
  36. package/docs/classes/AaTree.html +12 -6
  37. package/docs/classes/AbstractBinaryTree.html +258 -163
  38. package/docs/classes/AbstractBinaryTreeNode.html +117 -84
  39. package/docs/classes/AbstractEdge.html +22 -16
  40. package/docs/classes/AbstractGraph.html +137 -140
  41. package/docs/classes/AbstractVertex.html +19 -13
  42. package/docs/classes/ArrayDeque.html +25 -19
  43. package/docs/classes/BST.html +275 -174
  44. package/docs/classes/BSTNode.html +127 -77
  45. package/docs/classes/BTree.html +12 -6
  46. package/docs/classes/BinaryIndexedTree.html +20 -14
  47. package/docs/classes/BinaryTree.html +265 -169
  48. package/docs/classes/BinaryTreeNode.html +110 -61
  49. package/docs/classes/Character.html +15 -9
  50. package/docs/classes/CoordinateMap.html +20 -14
  51. package/docs/classes/CoordinateSet.html +19 -13
  52. package/docs/classes/Deque.html +45 -39
  53. package/docs/classes/DirectedEdge.html +26 -20
  54. package/docs/classes/DirectedGraph.html +189 -154
  55. package/docs/classes/DirectedVertex.html +17 -11
  56. package/docs/classes/DoublyLinkedList.html +48 -42
  57. package/docs/classes/DoublyLinkedListNode.html +22 -16
  58. package/docs/classes/HashTable.html +12 -6
  59. package/docs/classes/Heap.html +26 -20
  60. package/docs/classes/HeapItem.html +19 -13
  61. package/docs/classes/Matrix2D.html +27 -21
  62. package/docs/classes/MatrixNTI2D.html +15 -9
  63. package/docs/classes/MaxHeap.html +26 -20
  64. package/docs/classes/MaxPriorityQueue.html +45 -39
  65. package/docs/classes/MinHeap.html +26 -20
  66. package/docs/classes/MinPriorityQueue.html +45 -39
  67. package/docs/classes/Navigator.html +21 -15
  68. package/docs/classes/ObjectDeque.html +36 -30
  69. package/docs/classes/Pair.html +12 -6
  70. package/docs/classes/PriorityQueue.html +43 -37
  71. package/docs/classes/Queue.html +25 -19
  72. package/docs/classes/RBTree.html +2388 -0
  73. package/docs/classes/RBTreeNode.html +516 -0
  74. package/docs/classes/SegmentTree.html +28 -22
  75. package/docs/classes/SegmentTreeNode.html +31 -25
  76. package/docs/classes/SinglyLinkedList.html +45 -39
  77. package/docs/classes/SinglyLinkedListNode.html +19 -13
  78. package/docs/classes/SkipLinkedList.html +12 -6
  79. package/docs/classes/SplayTree.html +12 -6
  80. package/docs/classes/Stack.html +23 -17
  81. package/docs/classes/TreeMap.html +12 -6
  82. package/docs/classes/TreeMultiSet.html +273 -172
  83. package/docs/classes/TreeMultiSetNode.html +126 -77
  84. package/docs/classes/TreeNode.html +27 -21
  85. package/docs/classes/TreeSet.html +12 -6
  86. package/docs/classes/Trie.html +24 -18
  87. package/docs/classes/TrieNode.html +22 -16
  88. package/docs/classes/TwoThreeTree.html +12 -6
  89. package/docs/classes/UndirectedEdge.html +23 -17
  90. package/docs/classes/UndirectedGraph.html +160 -146
  91. package/docs/classes/UndirectedVertex.html +17 -11
  92. package/docs/classes/Vector2D.html +39 -33
  93. package/docs/enums/CP.html +15 -9
  94. package/docs/enums/FamilyPosition.html +15 -9
  95. package/docs/enums/LoopType.html +14 -8
  96. package/docs/enums/RBColor.html +14 -8
  97. package/docs/enums/TopologicalProperty.html +15 -9
  98. package/docs/index.html +11 -5
  99. package/docs/interfaces/IAVLTree.html +1378 -0
  100. package/docs/interfaces/IAVLTreeNode.html +405 -0
  101. package/docs/interfaces/IAbstractBinaryTree.html +1124 -0
  102. package/docs/interfaces/{IBinaryTreeNode.html → IAbstractBinaryTreeNode.html} +61 -73
  103. package/docs/interfaces/{IGraph.html → IAbstractGraph.html} +52 -90
  104. package/docs/interfaces/IBST.html +1271 -0
  105. package/docs/interfaces/IBSTNode.html +408 -0
  106. package/docs/interfaces/IDirectedGraph.html +329 -16
  107. package/docs/interfaces/IUNDirectedGraph.html +322 -8
  108. package/docs/modules.html +22 -10
  109. package/docs/types/AVLTreeOptions.html +12 -6
  110. package/docs/types/{AbstractResultsByProperty.html → AbstractBinaryTreeNodeProperties.html} +16 -10
  111. package/docs/types/{AbstractResultByProperty.html → AbstractBinaryTreeNodeProperty.html} +16 -10
  112. package/docs/types/AbstractBinaryTreeOptions.html +12 -6
  113. package/docs/types/AbstractRecursiveBinaryTreeNode.html +12 -6
  114. package/docs/types/BSTComparator.html +12 -6
  115. package/docs/types/BSTOptions.html +12 -6
  116. package/docs/types/BinaryTreeDeletedResult.html +12 -6
  117. package/docs/types/BinaryTreeNodeId.html +12 -6
  118. package/docs/types/BinaryTreeNodePropertyName.html +12 -6
  119. package/docs/types/BinaryTreeOptions.html +12 -6
  120. package/docs/types/DFSOrderPattern.html +12 -6
  121. package/docs/types/DijkstraResult.html +12 -6
  122. package/docs/types/Direction.html +12 -6
  123. package/docs/types/EdgeId.html +12 -6
  124. package/docs/types/HeapOptions.html +12 -6
  125. package/docs/types/IdObject.html +12 -6
  126. package/docs/types/KeyValObject.html +12 -6
  127. package/docs/types/NavigatorParams.html +12 -6
  128. package/docs/types/NodeOrPropertyName.html +12 -6
  129. package/docs/types/PriorityQueueComparator.html +12 -6
  130. package/docs/types/PriorityQueueDFSOrderPattern.html +12 -6
  131. package/docs/types/PriorityQueueOptions.html +12 -6
  132. package/docs/types/RBTreeOptions.html +12 -6
  133. package/docs/types/RecursiveAVLTreeNode.html +12 -6
  134. package/docs/types/RecursiveBSTNode.html +12 -6
  135. package/docs/types/RecursiveBinaryTreeNode.html +12 -6
  136. package/docs/types/RecursiveTreeMultiSetNode.html +12 -6
  137. package/docs/types/SegmentTreeNodeVal.html +12 -6
  138. package/docs/types/TopologicalStatus.html +12 -6
  139. package/docs/types/TreeMultiSetOptions.html +12 -6
  140. package/docs/types/Turning.html +12 -6
  141. package/docs/types/VertexId.html +12 -6
  142. package/package.json +2 -2
  143. package/docs/interfaces/IBinaryTree.html +0 -189
@@ -19,7 +19,7 @@
19
19
  <h4>Type Parameters</h4>
20
20
  <ul class="tsd-type-parameter-list">
21
21
  <li>
22
- <h4><span class="tsd-kind-type-parameter">T</span></h4></li>
22
+ <h4><span class="tsd-kind-type-parameter">T</span> = <span class="tsd-signature-type">number</span></h4></li>
23
23
  <li>
24
24
  <h4><span class="tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span> = <a href="../types/AbstractRecursiveBinaryTreeNode.html" class="tsd-signature-type tsd-kind-type-alias">AbstractRecursiveBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section>
25
25
  <section class="tsd-panel tsd-hierarchy">
@@ -31,9 +31,9 @@
31
31
  <section class="tsd-panel">
32
32
  <h4>Implements</h4>
33
33
  <ul class="tsd-hierarchy">
34
- <li><a href="../interfaces/IBinaryTreeNode.html" class="tsd-signature-type tsd-kind-interface">IBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span></li></ul></section><aside class="tsd-sources">
34
+ <li><a href="../interfaces/IAbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-interface">IAbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span></li></ul></section><aside class="tsd-sources">
35
35
  <ul>
36
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L25">src/data-structures/binary-tree/abstract-binary-tree.ts:25</a></li></ul></aside>
36
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L24">src/data-structures/binary-tree/abstract-binary-tree.ts:24</a></li></ul></aside>
37
37
  <section class="tsd-panel-group tsd-index-group">
38
38
  <section class="tsd-panel tsd-index-panel">
39
39
  <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -67,8 +67,8 @@
67
67
  </div></section>
68
68
  <section class="tsd-index-section">
69
69
  <h3 class="tsd-index-heading">Methods</h3>
70
- <div class="tsd-index-list"><a href="AbstractBinaryTreeNode.html#_createNode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g></svg><span>_create<wbr/>Node</span></a>
71
- <a href="AbstractBinaryTreeNode.html#clone" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>clone</span></a>
70
+ <div class="tsd-index-list"><a href="AbstractBinaryTreeNode.html#clone" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g></svg><span>clone</span></a>
71
+ <a href="AbstractBinaryTreeNode.html#createNode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Node</span></a>
72
72
  <a href="AbstractBinaryTreeNode.html#swapLocation" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>swap<wbr/>Location</span></a>
73
73
  </div></section></div></details></section></section>
74
74
  <section class="tsd-panel-group tsd-member-group">
@@ -76,69 +76,84 @@
76
76
  <section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a>
77
77
  <h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" id="icon-anchor"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3>
78
78
  <ul class="tsd-signatures">
79
- <li class="tsd-signature tsd-anchor-link" id="constructor.new_AbstractBinaryTreeNode"><span class="tsd-kind-constructor-signature">new <wbr/>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span>, <span class="tsd-kind-parameter">count</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span><a href="#constructor.new_AbstractBinaryTreeNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
79
+ <li class="tsd-signature tsd-anchor-link" id="constructor.new_AbstractBinaryTreeNode"><span class="tsd-kind-constructor-signature">new <wbr/>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">count</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span><a href="#constructor.new_AbstractBinaryTreeNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
80
80
  <li class="tsd-description">
81
+ <div class="tsd-comment tsd-typography"><p>The constructor function initializes a BinaryTreeNode object with an id, value, and count.</p>
82
+ </div>
81
83
  <section class="tsd-panel">
82
84
  <h4>Type Parameters</h4>
83
85
  <ul class="tsd-type-parameter-list">
84
86
  <li>
85
- <h4><span class="tsd-kind-type-parameter">T</span></h4></li>
87
+ <h4><span class="tsd-kind-type-parameter">T</span> = <span class="tsd-signature-type">number</span></h4></li>
86
88
  <li>
87
- <h4><span class="tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span> = <a href="../types/AbstractRecursiveBinaryTreeNode.html" class="tsd-signature-type tsd-kind-type-alias">AbstractRecursiveBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section>
89
+ <h4><span class="tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span> = <a href="../types/AbstractRecursiveBinaryTreeNode.html" class="tsd-signature-type tsd-kind-type-alias">AbstractRecursiveBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section>
88
90
  <div class="tsd-parameters">
89
91
  <h4 class="tsd-parameters-title">Parameters</h4>
90
92
  <ul class="tsd-parameter-list">
91
93
  <li>
92
- <h5><span class="tsd-kind-parameter">id</span>: <span class="tsd-signature-type">number</span></h5></li>
94
+ <h5><span class="tsd-kind-parameter">id</span>: <span class="tsd-signature-type">number</span></h5>
95
+ <div class="tsd-comment tsd-typography"><p>The <code>id</code> parameter is of type <code>BinaryTreeNodeId</code> and represents the unique identifier
96
+ for the binary tree node.</p>
97
+ </div>
98
+ <div class="tsd-comment tsd-typography"></div></li>
93
99
  <li>
94
- <h5><span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5></li>
100
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5>
101
+ <div class="tsd-comment tsd-typography"><p>The <code>val</code> parameter is an optional parameter of type <code>T</code>. It represents the value of the binary
102
+ tree node. If no value is provided, it will be <code>undefined</code>.</p>
103
+ </div>
104
+ <div class="tsd-comment tsd-typography"></div></li>
95
105
  <li>
96
- <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">count</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
97
- <h4 class="tsd-returns-title">Returns <a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
106
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">count</span>: <span class="tsd-signature-type">number</span></h5>
107
+ <div class="tsd-comment tsd-typography"><p>The <code>count</code> parameter is an optional parameter that represents the number of times the
108
+ value <code>val</code> appears in the binary tree node. If the <code>count</code> parameter is not provided, it defaults to 1.</p>
109
+ </div>
110
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
111
+ <h4 class="tsd-returns-title">Returns <a href="AbstractBinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">AbstractBinaryTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol">&gt;</span></h4>
112
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
98
113
  <ul>
99
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L27">src/data-structures/binary-tree/abstract-binary-tree.ts:27</a></li></ul></aside></li></ul></section></section>
114
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L35">src/data-structures/binary-tree/abstract-binary-tree.ts:35</a></li></ul></aside></li></ul></section></section>
100
115
  <section class="tsd-panel-group tsd-member-group">
101
116
  <h2>Properties</h2>
102
117
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_count" class="tsd-anchor"></a>
103
118
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_count</span><a href="#_count" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
104
119
  <div class="tsd-signature"><span class="tsd-kind-property">_count</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></div><aside class="tsd-sources">
105
120
  <ul>
106
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L101">src/data-structures/binary-tree/abstract-binary-tree.ts:101</a></li></ul></aside></section>
121
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L109">src/data-structures/binary-tree/abstract-binary-tree.ts:109</a></li></ul></aside></section>
107
122
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_familyPosition" class="tsd-anchor"></a>
108
123
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_family<wbr/>Position</span><a href="#_familyPosition" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
109
124
  <div class="tsd-signature"><span class="tsd-kind-property">_family<wbr/>Position</span><span class="tsd-signature-symbol">:</span> <a href="../enums/FamilyPosition.html" class="tsd-signature-type tsd-kind-enum">FamilyPosition</a><span class="tsd-signature-symbol"> = FamilyPosition.ROOT</span></div><aside class="tsd-sources">
110
125
  <ul>
111
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L91">src/data-structures/binary-tree/abstract-binary-tree.ts:91</a></li></ul></aside></section>
126
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L99">src/data-structures/binary-tree/abstract-binary-tree.ts:99</a></li></ul></aside></section>
112
127
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_height" class="tsd-anchor"></a>
113
128
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_height</span><a href="#_height" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
114
129
  <div class="tsd-signature"><span class="tsd-kind-property">_height</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources">
115
130
  <ul>
116
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L111">src/data-structures/binary-tree/abstract-binary-tree.ts:111</a></li></ul></aside></section>
131
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L119">src/data-structures/binary-tree/abstract-binary-tree.ts:119</a></li></ul></aside></section>
117
132
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_id" class="tsd-anchor"></a>
118
133
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_id</span><a href="#_id" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
119
134
  <div class="tsd-signature"><span class="tsd-kind-property">_id</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
120
135
  <ul>
121
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L33">src/data-structures/binary-tree/abstract-binary-tree.ts:33</a></li></ul></aside></section>
136
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L41">src/data-structures/binary-tree/abstract-binary-tree.ts:41</a></li></ul></aside></section>
122
137
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_left" class="tsd-anchor"></a>
123
138
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <code class="tsd-tag ts-flagOptional">Optional</code> <span>_left</span><a href="#_left" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
124
139
  <div class="tsd-signature"><span class="tsd-kind-property">_left</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></div><aside class="tsd-sources">
125
140
  <ul>
126
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L53">src/data-structures/binary-tree/abstract-binary-tree.ts:53</a></li></ul></aside></section>
141
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L61">src/data-structures/binary-tree/abstract-binary-tree.ts:61</a></li></ul></aside></section>
127
142
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_parent" class="tsd-anchor"></a>
128
143
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_parent</span><a href="#_parent" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
129
144
  <div class="tsd-signature"><span class="tsd-kind-property">_parent</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></div><aside class="tsd-sources">
130
145
  <ul>
131
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L81">src/data-structures/binary-tree/abstract-binary-tree.ts:81</a></li></ul></aside></section>
146
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L89">src/data-structures/binary-tree/abstract-binary-tree.ts:89</a></li></ul></aside></section>
132
147
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_right" class="tsd-anchor"></a>
133
148
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <code class="tsd-tag ts-flagOptional">Optional</code> <span>_right</span><a href="#_right" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
134
149
  <div class="tsd-signature"><span class="tsd-kind-property">_right</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></div><aside class="tsd-sources">
135
150
  <ul>
136
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L67">src/data-structures/binary-tree/abstract-binary-tree.ts:67</a></li></ul></aside></section>
151
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L75">src/data-structures/binary-tree/abstract-binary-tree.ts:75</a></li></ul></aside></section>
137
152
  <section class="tsd-panel tsd-member tsd-is-private"><a id="_val" class="tsd-anchor"></a>
138
153
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_val</span><a href="#_val" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
139
- <div class="tsd-signature"><span class="tsd-kind-property">_val</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type tsd-kind-type-parameter">T</span></div><aside class="tsd-sources">
154
+ <div class="tsd-signature"><span class="tsd-kind-property">_val</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">T</span></div><aside class="tsd-sources">
140
155
  <ul>
141
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L43">src/data-structures/binary-tree/abstract-binary-tree.ts:43</a></li></ul></aside></section></section>
156
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L51">src/data-structures/binary-tree/abstract-binary-tree.ts:51</a></li></ul></aside></section></section>
142
157
  <section class="tsd-panel-group tsd-member-group">
143
158
  <h2>Accessors</h2>
144
159
  <section class="tsd-panel tsd-member"><a id="count" class="tsd-anchor"></a>
@@ -147,9 +162,9 @@
147
162
  <li class="tsd-signature" id="count.count-1"><span class="tsd-signature-symbol">get</span> count<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
148
163
  <li class="tsd-description">
149
164
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
150
- <p>Implementation of IBinaryTreeNode.count</p>
165
+ <p>Implementation of IAbstractBinaryTreeNode.count</p>
151
166
  <ul>
152
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L103">src/data-structures/binary-tree/abstract-binary-tree.ts:103</a></li></ul></aside></li>
167
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L111">src/data-structures/binary-tree/abstract-binary-tree.ts:111</a></li></ul></aside></li>
153
168
  <li class="tsd-signature" id="count.count-2"><span class="tsd-signature-symbol">set</span> count<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
154
169
  <li class="tsd-description">
155
170
  <div class="tsd-parameters">
@@ -158,18 +173,18 @@
158
173
  <li>
159
174
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
160
175
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
161
- <p>Implementation of IBinaryTreeNode.count</p>
176
+ <p>Implementation of IAbstractBinaryTreeNode.count</p>
162
177
  <ul>
163
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L107">src/data-structures/binary-tree/abstract-binary-tree.ts:107</a></li></ul></aside></li></ul></section>
178
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L115">src/data-structures/binary-tree/abstract-binary-tree.ts:115</a></li></ul></aside></li></ul></section>
164
179
  <section class="tsd-panel tsd-member"><a id="familyPosition" class="tsd-anchor"></a>
165
180
  <h3 class="tsd-anchor-link"><span>family<wbr/>Position</span><a href="#familyPosition" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
166
181
  <ul class="tsd-signatures">
167
182
  <li class="tsd-signature" id="familyPosition.familyPosition-1"><span class="tsd-signature-symbol">get</span> familyPosition<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../enums/FamilyPosition.html" class="tsd-signature-type tsd-kind-enum">FamilyPosition</a></li>
168
183
  <li class="tsd-description">
169
184
  <h4 class="tsd-returns-title">Returns <a href="../enums/FamilyPosition.html" class="tsd-signature-type tsd-kind-enum">FamilyPosition</a></h4><aside class="tsd-sources">
170
- <p>Implementation of IBinaryTreeNode.familyPosition</p>
185
+ <p>Implementation of IAbstractBinaryTreeNode.familyPosition</p>
171
186
  <ul>
172
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L93">src/data-structures/binary-tree/abstract-binary-tree.ts:93</a></li></ul></aside></li>
187
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L101">src/data-structures/binary-tree/abstract-binary-tree.ts:101</a></li></ul></aside></li>
173
188
  <li class="tsd-signature" id="familyPosition.familyPosition-2"><span class="tsd-signature-symbol">set</span> familyPosition<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
174
189
  <li class="tsd-description">
175
190
  <div class="tsd-parameters">
@@ -178,18 +193,18 @@
178
193
  <li>
179
194
  <h5><span class="tsd-kind-parameter">v</span>: <a href="../enums/FamilyPosition.html" class="tsd-signature-type tsd-kind-enum">FamilyPosition</a></h5></li></ul></div>
180
195
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
181
- <p>Implementation of IBinaryTreeNode.familyPosition</p>
196
+ <p>Implementation of IAbstractBinaryTreeNode.familyPosition</p>
182
197
  <ul>
183
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L97">src/data-structures/binary-tree/abstract-binary-tree.ts:97</a></li></ul></aside></li></ul></section>
198
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L105">src/data-structures/binary-tree/abstract-binary-tree.ts:105</a></li></ul></aside></li></ul></section>
184
199
  <section class="tsd-panel tsd-member"><a id="height" class="tsd-anchor"></a>
185
200
  <h3 class="tsd-anchor-link"><span>height</span><a href="#height" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
186
201
  <ul class="tsd-signatures">
187
202
  <li class="tsd-signature" id="height.height-1"><span class="tsd-signature-symbol">get</span> height<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
188
203
  <li class="tsd-description">
189
204
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
190
- <p>Implementation of IBinaryTreeNode.height</p>
205
+ <p>Implementation of IAbstractBinaryTreeNode.height</p>
191
206
  <ul>
192
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L113">src/data-structures/binary-tree/abstract-binary-tree.ts:113</a></li></ul></aside></li>
207
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L121">src/data-structures/binary-tree/abstract-binary-tree.ts:121</a></li></ul></aside></li>
193
208
  <li class="tsd-signature" id="height.height-2"><span class="tsd-signature-symbol">set</span> height<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
194
209
  <li class="tsd-description">
195
210
  <div class="tsd-parameters">
@@ -198,18 +213,18 @@
198
213
  <li>
199
214
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
200
215
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
201
- <p>Implementation of IBinaryTreeNode.height</p>
216
+ <p>Implementation of IAbstractBinaryTreeNode.height</p>
202
217
  <ul>
203
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L117">src/data-structures/binary-tree/abstract-binary-tree.ts:117</a></li></ul></aside></li></ul></section>
218
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L125">src/data-structures/binary-tree/abstract-binary-tree.ts:125</a></li></ul></aside></li></ul></section>
204
219
  <section class="tsd-panel tsd-member"><a id="id" class="tsd-anchor"></a>
205
220
  <h3 class="tsd-anchor-link"><span>id</span><a href="#id" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
206
221
  <ul class="tsd-signatures">
207
222
  <li class="tsd-signature" id="id.id-1"><span class="tsd-signature-symbol">get</span> id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
208
223
  <li class="tsd-description">
209
224
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
210
- <p>Implementation of IBinaryTreeNode.id</p>
225
+ <p>Implementation of IAbstractBinaryTreeNode.id</p>
211
226
  <ul>
212
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L35">src/data-structures/binary-tree/abstract-binary-tree.ts:35</a></li></ul></aside></li>
227
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L43">src/data-structures/binary-tree/abstract-binary-tree.ts:43</a></li></ul></aside></li>
213
228
  <li class="tsd-signature" id="id.id-2"><span class="tsd-signature-symbol">set</span> id<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
214
229
  <li class="tsd-description">
215
230
  <div class="tsd-parameters">
@@ -218,18 +233,18 @@
218
233
  <li>
219
234
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
220
235
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
221
- <p>Implementation of IBinaryTreeNode.id</p>
236
+ <p>Implementation of IAbstractBinaryTreeNode.id</p>
222
237
  <ul>
223
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L39">src/data-structures/binary-tree/abstract-binary-tree.ts:39</a></li></ul></aside></li></ul></section>
238
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L47">src/data-structures/binary-tree/abstract-binary-tree.ts:47</a></li></ul></aside></li></ul></section>
224
239
  <section class="tsd-panel tsd-member"><a id="left" class="tsd-anchor"></a>
225
240
  <h3 class="tsd-anchor-link"><span>left</span><a href="#left" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
226
241
  <ul class="tsd-signatures">
227
242
  <li class="tsd-signature" id="left.left-1"><span class="tsd-signature-symbol">get</span> left<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></li>
228
243
  <li class="tsd-description">
229
244
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
230
- <p>Implementation of IBinaryTreeNode.left</p>
245
+ <p>Implementation of IAbstractBinaryTreeNode.left</p>
231
246
  <ul>
232
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L55">src/data-structures/binary-tree/abstract-binary-tree.ts:55</a></li></ul></aside></li>
247
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L63">src/data-structures/binary-tree/abstract-binary-tree.ts:63</a></li></ul></aside></li>
233
248
  <li class="tsd-signature" id="left.left-2"><span class="tsd-signature-symbol">set</span> left<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
234
249
  <li class="tsd-description">
235
250
  <div class="tsd-parameters">
@@ -238,18 +253,18 @@
238
253
  <li>
239
254
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h5></li></ul></div>
240
255
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
241
- <p>Implementation of IBinaryTreeNode.left</p>
256
+ <p>Implementation of IAbstractBinaryTreeNode.left</p>
242
257
  <ul>
243
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L59">src/data-structures/binary-tree/abstract-binary-tree.ts:59</a></li></ul></aside></li></ul></section>
258
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L67">src/data-structures/binary-tree/abstract-binary-tree.ts:67</a></li></ul></aside></li></ul></section>
244
259
  <section class="tsd-panel tsd-member"><a id="parent" class="tsd-anchor"></a>
245
260
  <h3 class="tsd-anchor-link"><span>parent</span><a href="#parent" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
246
261
  <ul class="tsd-signatures">
247
262
  <li class="tsd-signature" id="parent.parent-1"><span class="tsd-signature-symbol">get</span> parent<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></li>
248
263
  <li class="tsd-description">
249
264
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
250
- <p>Implementation of IBinaryTreeNode.parent</p>
265
+ <p>Implementation of IAbstractBinaryTreeNode.parent</p>
251
266
  <ul>
252
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L83">src/data-structures/binary-tree/abstract-binary-tree.ts:83</a></li></ul></aside></li>
267
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L91">src/data-structures/binary-tree/abstract-binary-tree.ts:91</a></li></ul></aside></li>
253
268
  <li class="tsd-signature" id="parent.parent-2"><span class="tsd-signature-symbol">set</span> parent<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
254
269
  <li class="tsd-description">
255
270
  <div class="tsd-parameters">
@@ -258,18 +273,18 @@
258
273
  <li>
259
274
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h5></li></ul></div>
260
275
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
261
- <p>Implementation of IBinaryTreeNode.parent</p>
276
+ <p>Implementation of IAbstractBinaryTreeNode.parent</p>
262
277
  <ul>
263
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L87">src/data-structures/binary-tree/abstract-binary-tree.ts:87</a></li></ul></aside></li></ul></section>
278
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L95">src/data-structures/binary-tree/abstract-binary-tree.ts:95</a></li></ul></aside></li></ul></section>
264
279
  <section class="tsd-panel tsd-member"><a id="right" class="tsd-anchor"></a>
265
280
  <h3 class="tsd-anchor-link"><span>right</span><a href="#right" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
266
281
  <ul class="tsd-signatures">
267
282
  <li class="tsd-signature" id="right.right-1"><span class="tsd-signature-symbol">get</span> right<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></li>
268
283
  <li class="tsd-description">
269
284
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
270
- <p>Implementation of IBinaryTreeNode.right</p>
285
+ <p>Implementation of IAbstractBinaryTreeNode.right</p>
271
286
  <ul>
272
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L69">src/data-structures/binary-tree/abstract-binary-tree.ts:69</a></li></ul></aside></li>
287
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L77">src/data-structures/binary-tree/abstract-binary-tree.ts:77</a></li></ul></aside></li>
273
288
  <li class="tsd-signature" id="right.right-2"><span class="tsd-signature-symbol">set</span> right<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
274
289
  <li class="tsd-description">
275
290
  <div class="tsd-parameters">
@@ -278,35 +293,49 @@
278
293
  <li>
279
294
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h5></li></ul></div>
280
295
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
281
- <p>Implementation of IBinaryTreeNode.right</p>
296
+ <p>Implementation of IAbstractBinaryTreeNode.right</p>
282
297
  <ul>
283
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L73">src/data-structures/binary-tree/abstract-binary-tree.ts:73</a></li></ul></aside></li></ul></section>
298
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L81">src/data-structures/binary-tree/abstract-binary-tree.ts:81</a></li></ul></aside></li></ul></section>
284
299
  <section class="tsd-panel tsd-member"><a id="val" class="tsd-anchor"></a>
285
300
  <h3 class="tsd-anchor-link"><span>val</span><a href="#val" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
286
301
  <ul class="tsd-signatures">
287
- <li class="tsd-signature" id="val.val-1"><span class="tsd-signature-symbol">get</span> val<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">T</span></li>
302
+ <li class="tsd-signature" id="val.val-1"><span class="tsd-signature-symbol">get</span> val<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">T</span></li>
288
303
  <li class="tsd-description">
289
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h4><aside class="tsd-sources">
290
- <p>Implementation of IBinaryTreeNode.val</p>
304
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">T</span></h4><aside class="tsd-sources">
305
+ <p>Implementation of IAbstractBinaryTreeNode.val</p>
291
306
  <ul>
292
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L45">src/data-structures/binary-tree/abstract-binary-tree.ts:45</a></li></ul></aside></li>
293
- <li class="tsd-signature" id="val.val-2"><span class="tsd-signature-symbol">set</span> val<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
307
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L53">src/data-structures/binary-tree/abstract-binary-tree.ts:53</a></li></ul></aside></li>
308
+ <li class="tsd-signature" id="val.val-2"><span class="tsd-signature-symbol">set</span> val<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
294
309
  <li class="tsd-description">
295
310
  <div class="tsd-parameters">
296
311
  <h4 class="tsd-parameters-title">Parameters</h4>
297
312
  <ul class="tsd-parameter-list">
298
313
  <li>
299
- <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5></li></ul></div>
314
+ <h5><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5></li></ul></div>
300
315
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
301
- <p>Implementation of IBinaryTreeNode.val</p>
316
+ <p>Implementation of IAbstractBinaryTreeNode.val</p>
302
317
  <ul>
303
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L49">src/data-structures/binary-tree/abstract-binary-tree.ts:49</a></li></ul></aside></li></ul></section></section>
318
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L57">src/data-structures/binary-tree/abstract-binary-tree.ts:57</a></li></ul></aside></li></ul></section></section>
304
319
  <section class="tsd-panel-group tsd-member-group">
305
320
  <h2>Methods</h2>
306
- <section class="tsd-panel tsd-member"><a id="_createNode" class="tsd-anchor"></a>
307
- <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>_create<wbr/>Node</span><a href="#_createNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
321
+ <section class="tsd-panel tsd-member"><a id="clone" class="tsd-anchor"></a>
322
+ <h3 class="tsd-anchor-link"><span>clone</span><a href="#clone" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
323
+ <ul class="tsd-signatures">
324
+ <li class="tsd-signature tsd-anchor-link" id="clone.clone-1"><span class="tsd-kind-call-signature">clone</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><a href="#clone.clone-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
325
+ <li class="tsd-description">
326
+ <div class="tsd-comment tsd-typography"><p>The <code>clone</code> function returns a new instance of the <code>FAMILY</code> class with the same <code>id</code>, <code>val</code>, and <code>count</code> properties.</p>
327
+ </div>
328
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><p>The <code>clone()</code> method is returning a new instance of the <code>FAMILY</code> class with the same <code>id</code>, <code>val</code>, and
329
+ <code>count</code> values as the current instance.</p>
330
+
331
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
332
+ <p>Implementation of <a href="../interfaces/IAbstractBinaryTreeNode.html">IAbstractBinaryTreeNode</a>.<a href="../interfaces/IAbstractBinaryTreeNode.html#clone">clone</a></p>
333
+ <ul>
334
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L162">src/data-structures/binary-tree/abstract-binary-tree.ts:162</a></li></ul></aside></li></ul></section>
335
+ <section class="tsd-panel tsd-member"><a id="createNode" class="tsd-anchor"></a>
336
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>create<wbr/>Node</span><a href="#createNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
308
337
  <ul class="tsd-signatures">
309
- <li class="tsd-signature tsd-anchor-link" id="_createNode._createNode-1"><span class="tsd-kind-call-signature">_create<wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span>, <span class="tsd-kind-parameter">count</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><a href="#_createNode._createNode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
338
+ <li class="tsd-signature tsd-anchor-link" id="createNode.createNode-1"><span class="tsd-kind-call-signature">create<wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">count</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><a href="#createNode.createNode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
310
339
  <li class="tsd-description">
311
340
  <div class="tsd-parameters">
312
341
  <h4 class="tsd-parameters-title">Parameters</h4>
@@ -314,36 +343,34 @@
314
343
  <li>
315
344
  <h5><span class="tsd-kind-parameter">id</span>: <span class="tsd-signature-type">number</span></h5></li>
316
345
  <li>
317
- <h5><span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5></li>
346
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5></li>
318
347
  <li>
319
348
  <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">count</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
320
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
321
- <p>Implementation of <a href="../interfaces/IBinaryTreeNode.html">IBinaryTreeNode</a>.<a href="../interfaces/IBinaryTreeNode.html#_createNode">_createNode</a></p>
322
- <ul>
323
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L121">src/data-structures/binary-tree/abstract-binary-tree.ts:121</a></li></ul></aside></li></ul></section>
324
- <section class="tsd-panel tsd-member"><a id="clone" class="tsd-anchor"></a>
325
- <h3 class="tsd-anchor-link"><span>clone</span><a href="#clone" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
326
- <ul class="tsd-signatures">
327
- <li class="tsd-signature tsd-anchor-link" id="clone.clone-1"><span class="tsd-kind-call-signature">clone</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><a href="#clone.clone-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
328
- <li class="tsd-description">
329
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
330
- <p>Implementation of <a href="../interfaces/IBinaryTreeNode.html">IBinaryTreeNode</a>.<a href="../interfaces/IBinaryTreeNode.html#clone">clone</a></p>
349
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
350
+ <p>Implementation of <a href="../interfaces/IAbstractBinaryTreeNode.html">IAbstractBinaryTreeNode</a>.<a href="../interfaces/IAbstractBinaryTreeNode.html#createNode">createNode</a></p>
331
351
  <ul>
332
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L144">src/data-structures/binary-tree/abstract-binary-tree.ts:144</a></li></ul></aside></li></ul></section>
352
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L129">src/data-structures/binary-tree/abstract-binary-tree.ts:129</a></li></ul></aside></li></ul></section>
333
353
  <section class="tsd-panel tsd-member"><a id="swapLocation" class="tsd-anchor"></a>
334
354
  <h3 class="tsd-anchor-link"><span>swap<wbr/>Location</span><a href="#swapLocation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
335
355
  <ul class="tsd-signatures">
336
356
  <li class="tsd-signature tsd-anchor-link" id="swapLocation.swapLocation-1"><span class="tsd-kind-call-signature">swap<wbr/>Location</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">swapNode</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span><a href="#swapLocation.swapLocation-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
337
357
  <li class="tsd-description">
358
+ <div class="tsd-comment tsd-typography"><p>The function swaps the location of two nodes in a binary tree.</p>
359
+ </div>
338
360
  <div class="tsd-parameters">
339
361
  <h4 class="tsd-parameters-title">Parameters</h4>
340
362
  <ul class="tsd-parameter-list">
341
363
  <li>
342
- <h5><span class="tsd-kind-parameter">swapNode</span>: <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h5></li></ul></div>
343
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
344
- <p>Implementation of <a href="../interfaces/IBinaryTreeNode.html">IBinaryTreeNode</a>.<a href="../interfaces/IBinaryTreeNode.html#swapLocation">swapLocation</a></p>
364
+ <h5><span class="tsd-kind-parameter">swapNode</span>: <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h5>
365
+ <div class="tsd-comment tsd-typography"><p>The <code>swapNode</code> parameter is of type <code>FAMILY</code>, which represents a node in a family tree.</p>
366
+ </div>
367
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
368
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><p>the <code>swapNode</code> object after swapping its properties with the properties of <code>this</code> object.</p>
369
+
370
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
371
+ <p>Implementation of <a href="../interfaces/IAbstractBinaryTreeNode.html">IAbstractBinaryTreeNode</a>.<a href="../interfaces/IAbstractBinaryTreeNode.html#swapLocation">swapLocation</a></p>
345
372
  <ul>
346
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/abstract-binary-tree.ts#L123">src/data-structures/binary-tree/abstract-binary-tree.ts:123</a></li></ul></aside></li></ul></section></section></div>
373
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/2ea57d2/src/data-structures/binary-tree/abstract-binary-tree.ts#L136">src/data-structures/binary-tree/abstract-binary-tree.ts:136</a></li></ul></aside></li></ul></section></section></div>
347
374
  <div class="col-sidebar">
348
375
  <div class="page-menu">
349
376
  <div class="tsd-navigation settings">
@@ -380,8 +407,8 @@
380
407
  <li><a href="#parent" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>parent</span></a></li>
381
408
  <li><a href="#right" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>right</span></a></li>
382
409
  <li><a href="#val" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>val</span></a></li>
383
- <li><a href="#_createNode" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_create<wbr/>Node</span></a></li>
384
410
  <li><a href="#clone" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>clone</span></a></li>
411
+ <li><a href="#createNode" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Node</span></a></li>
385
412
  <li><a href="#swapLocation" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>swap<wbr/>Location</span></a></li></ul></div></details></div>
386
413
  <div class="site-menu">
387
414
  <nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g></svg><span>data-<wbr/>structure-<wbr/>typed</span></a>
@@ -429,6 +456,8 @@
429
456
  <li><a href="Pair.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Pair</span></a></li>
430
457
  <li><a href="PriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Priority<wbr/>Queue</span></a></li>
431
458
  <li><a href="Queue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Queue</span></a></li>
459
+ <li><a href="RBTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>RBTree</span></a></li>
460
+ <li><a href="RBTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>RBTree<wbr/>Node</span></a></li>
432
461
  <li><a href="SegmentTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree</span></a></li>
433
462
  <li><a href="SegmentTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree<wbr/>Node</span></a></li>
434
463
  <li><a href="SinglyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Singly<wbr/>Linked<wbr/>List</span></a></li>
@@ -448,16 +477,20 @@
448
477
  <li><a href="UndirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Graph</span></a></li>
449
478
  <li><a href="UndirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Vertex</span></a></li>
450
479
  <li><a href="Vector2D.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Vector2D</span></a></li>
451
- <li><a href="../interfaces/IBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g></svg><span>IBinary<wbr/>Tree</span></a></li>
452
- <li><a href="../interfaces/IBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IBinary<wbr/>Tree<wbr/>Node</span></a></li>
480
+ <li><a href="../interfaces/IAVLTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g></svg><span>IAVLTree</span></a></li>
481
+ <li><a href="../interfaces/IAVLTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAVLTree<wbr/>Node</span></a></li>
482
+ <li><a href="../interfaces/IAbstractBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAbstract<wbr/>Binary<wbr/>Tree</span></a></li>
483
+ <li><a href="../interfaces/IAbstractBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAbstract<wbr/>Binary<wbr/>Tree<wbr/>Node</span></a></li>
484
+ <li><a href="../interfaces/IAbstractGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAbstract<wbr/>Graph</span></a></li>
485
+ <li><a href="../interfaces/IBST.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IBST</span></a></li>
486
+ <li><a href="../interfaces/IBSTNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IBSTNode</span></a></li>
453
487
  <li><a href="../interfaces/IDirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IDirected<wbr/>Graph</span></a></li>
454
- <li><a href="../interfaces/IGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IGraph</span></a></li>
455
488
  <li><a href="../interfaces/IUNDirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IUNDirected<wbr/>Graph</span></a></li>
456
489
  <li><a href="../types/AVLTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g></svg><span>AVLTree<wbr/>Options</span></a></li>
490
+ <li><a href="../types/AbstractBinaryTreeNodeProperties.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node<wbr/>Properties</span></a></li>
491
+ <li><a href="../types/AbstractBinaryTreeNodeProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node<wbr/>Property</span></a></li>
457
492
  <li><a href="../types/AbstractBinaryTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Options</span></a></li>
458
493
  <li><a href="../types/AbstractRecursiveBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Recursive<wbr/>Binary<wbr/>Tree<wbr/>Node</span></a></li>
459
- <li><a href="../types/AbstractResultByProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Result<wbr/>By<wbr/>Property</span></a></li>
460
- <li><a href="../types/AbstractResultsByProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Results<wbr/>By<wbr/>Property</span></a></li>
461
494
  <li><a href="../types/BSTComparator.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>BSTComparator</span></a></li>
462
495
  <li><a href="../types/BSTOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>BSTOptions</span></a></li>
463
496
  <li><a href="../types/BinaryTreeDeletedResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Deleted<wbr/>Result</span></a></li>