data-structure-typed 1.18.5 → 1.18.6

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 (135) hide show
  1. package/dist/data-structures/binary-tree/abstract-binary-tree.d.ts +333 -0
  2. package/dist/data-structures/binary-tree/abstract-binary-tree.js +1455 -0
  3. package/dist/data-structures/binary-tree/avl-tree.d.ts +3 -2
  4. package/dist/data-structures/binary-tree/avl-tree.js +2 -2
  5. package/dist/data-structures/binary-tree/binary-tree.d.ts +6 -334
  6. package/dist/data-structures/binary-tree/binary-tree.js +26 -1436
  7. package/dist/data-structures/binary-tree/bst.d.ts +5 -12
  8. package/dist/data-structures/binary-tree/bst.js +31 -36
  9. package/dist/data-structures/binary-tree/index.d.ts +1 -0
  10. package/dist/data-structures/binary-tree/index.js +1 -0
  11. package/dist/data-structures/binary-tree/rb-tree.js +2 -6
  12. package/dist/data-structures/binary-tree/tree-multiset.d.ts +8 -23
  13. package/dist/data-structures/binary-tree/tree-multiset.js +26 -29
  14. package/dist/data-structures/graph/directed-graph.d.ts +2 -4
  15. package/dist/data-structures/graph/directed-graph.js +3 -7
  16. package/dist/data-structures/graph/undirected-graph.d.ts +13 -11
  17. package/dist/data-structures/graph/undirected-graph.js +14 -14
  18. package/dist/data-structures/interfaces/binary-tree.d.ts +1 -2
  19. package/dist/data-structures/types/abstract-binary-tree.d.ts +32 -0
  20. package/dist/data-structures/types/abstract-binary-tree.js +21 -0
  21. package/dist/data-structures/types/avl-tree.d.ts +2 -4
  22. package/dist/data-structures/types/binary-tree.d.ts +2 -10
  23. package/dist/data-structures/types/bst.d.ts +10 -5
  24. package/dist/data-structures/types/bst.js +7 -0
  25. package/dist/data-structures/types/helpers.d.ts +8 -0
  26. package/dist/data-structures/types/helpers.js +2 -0
  27. package/dist/data-structures/types/index.d.ts +3 -0
  28. package/dist/data-structures/types/index.js +3 -0
  29. package/dist/data-structures/types/rb-tree.d.ts +6 -0
  30. package/dist/data-structures/types/rb-tree.js +8 -0
  31. package/dist/data-structures/types/tree-multiset.d.ts +5 -3
  32. package/docs/assets/search.js +1 -1
  33. package/docs/classes/AVLTree.html +152 -152
  34. package/docs/classes/AVLTreeNode.html +38 -27
  35. package/docs/classes/AaTree.html +18 -7
  36. package/docs/classes/AbstractBinaryTree.html +2023 -0
  37. package/docs/classes/AbstractBinaryTreeNode.html +491 -0
  38. package/docs/classes/AbstractEdge.html +28 -17
  39. package/docs/classes/AbstractGraph.html +52 -41
  40. package/docs/classes/AbstractVertex.html +25 -14
  41. package/docs/classes/ArrayDeque.html +31 -20
  42. package/docs/classes/BST.html +140 -134
  43. package/docs/classes/BSTNode.html +40 -28
  44. package/docs/classes/BTree.html +18 -7
  45. package/docs/classes/BinaryIndexedTree.html +26 -15
  46. package/docs/classes/BinaryTree.html +447 -446
  47. package/docs/classes/BinaryTreeNode.html +107 -135
  48. package/docs/classes/Character.html +21 -10
  49. package/docs/classes/CoordinateMap.html +26 -15
  50. package/docs/classes/CoordinateSet.html +25 -14
  51. package/docs/classes/Deque.html +51 -40
  52. package/docs/classes/DirectedEdge.html +32 -21
  53. package/docs/classes/DirectedGraph.html +73 -147
  54. package/docs/classes/DirectedVertex.html +23 -12
  55. package/docs/classes/DoublyLinkedList.html +54 -43
  56. package/docs/classes/DoublyLinkedListNode.html +28 -17
  57. package/docs/classes/HashTable.html +18 -7
  58. package/docs/classes/Heap.html +32 -21
  59. package/docs/classes/HeapItem.html +25 -14
  60. package/docs/classes/Matrix2D.html +33 -22
  61. package/docs/classes/MatrixNTI2D.html +21 -10
  62. package/docs/classes/MaxHeap.html +32 -21
  63. package/docs/classes/MaxPriorityQueue.html +51 -40
  64. package/docs/classes/MinHeap.html +32 -21
  65. package/docs/classes/MinPriorityQueue.html +51 -40
  66. package/docs/classes/Navigator.html +27 -16
  67. package/docs/classes/ObjectDeque.html +42 -31
  68. package/docs/classes/Pair.html +18 -7
  69. package/docs/classes/PriorityQueue.html +49 -38
  70. package/docs/classes/Queue.html +31 -20
  71. package/docs/classes/SegmentTree.html +34 -23
  72. package/docs/classes/SegmentTreeNode.html +37 -26
  73. package/docs/classes/SinglyLinkedList.html +51 -40
  74. package/docs/classes/SinglyLinkedListNode.html +25 -14
  75. package/docs/classes/SkipLinkedList.html +18 -7
  76. package/docs/classes/SplayTree.html +18 -7
  77. package/docs/classes/Stack.html +29 -18
  78. package/docs/classes/TreeMap.html +18 -7
  79. package/docs/classes/TreeMultiSet.html +180 -173
  80. package/docs/classes/TreeMultiSetNode.html +450 -0
  81. package/docs/classes/TreeNode.html +33 -22
  82. package/docs/classes/TreeSet.html +18 -7
  83. package/docs/classes/Trie.html +30 -19
  84. package/docs/classes/TrieNode.html +28 -17
  85. package/docs/classes/TwoThreeTree.html +18 -7
  86. package/docs/classes/UndirectedEdge.html +29 -18
  87. package/docs/classes/UndirectedGraph.html +80 -142
  88. package/docs/classes/UndirectedVertex.html +23 -12
  89. package/docs/classes/Vector2D.html +45 -34
  90. package/docs/enums/CP.html +24 -13
  91. package/docs/enums/FamilyPosition.html +36 -25
  92. package/docs/enums/LoopType.html +30 -19
  93. package/docs/enums/RBColor.html +168 -0
  94. package/docs/enums/TopologicalProperty.html +21 -10
  95. package/docs/index.html +17 -6
  96. package/docs/interfaces/IBinaryTree.html +20 -8
  97. package/docs/interfaces/IBinaryTreeNode.html +41 -28
  98. package/docs/interfaces/IDirectedGraph.html +24 -13
  99. package/docs/interfaces/IGraph.html +37 -26
  100. package/docs/interfaces/IUNDirectedGraph.html +18 -7
  101. package/docs/modules.html +34 -12
  102. package/docs/types/{AVLTreeDeleted.html → AVLTreeOptions.html} +23 -21
  103. package/docs/types/AbstractBinaryTreeOptions.html +150 -0
  104. package/docs/types/AbstractRecursiveBinaryTreeNode.html +146 -0
  105. package/docs/types/{ResultsByProperty.html → AbstractResultByProperty.html} +23 -12
  106. package/docs/types/{TreeMultiSetDeletedResult.html → AbstractResultsByProperty.html} +23 -19
  107. package/docs/types/BSTComparator.html +18 -7
  108. package/docs/types/BSTOptions.html +146 -0
  109. package/docs/types/BinaryTreeDeletedResult.html +153 -0
  110. package/docs/types/BinaryTreeNodeId.html +18 -7
  111. package/docs/types/BinaryTreeNodePropertyName.html +18 -7
  112. package/docs/types/{BinaryTreeDeleted.html → BinaryTreeOptions.html} +23 -21
  113. package/docs/types/DFSOrderPattern.html +18 -7
  114. package/docs/types/DijkstraResult.html +18 -7
  115. package/docs/types/Direction.html +18 -7
  116. package/docs/types/EdgeId.html +18 -7
  117. package/docs/types/HeapOptions.html +18 -7
  118. package/docs/types/IdObject.html +151 -0
  119. package/docs/types/{ResultByProperty.html → KeyValObject.html} +27 -16
  120. package/docs/types/NavigatorParams.html +18 -7
  121. package/docs/types/NodeOrPropertyName.html +18 -7
  122. package/docs/types/PriorityQueueComparator.html +18 -7
  123. package/docs/types/PriorityQueueDFSOrderPattern.html +18 -7
  124. package/docs/types/PriorityQueueOptions.html +18 -7
  125. package/docs/types/{BSTDeletedResult.html → RBTreeOptions.html} +23 -21
  126. package/docs/types/RecursiveAVLTreeNode.html +18 -7
  127. package/docs/types/RecursiveBSTNode.html +18 -7
  128. package/docs/types/RecursiveBinaryTreeNode.html +18 -7
  129. package/docs/types/RecursiveTreeMultiSetNode.html +146 -0
  130. package/docs/types/SegmentTreeNodeVal.html +18 -7
  131. package/docs/types/TopologicalStatus.html +18 -7
  132. package/docs/types/TreeMultiSetOptions.html +146 -0
  133. package/docs/types/Turning.html +18 -7
  134. package/docs/types/VertexId.html +18 -7
  135. package/package.json +1 -1
@@ -19,21 +19,23 @@
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="BinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">BinaryTreeNode</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/RecursiveBinaryTreeNode.html" class="tsd-signature-type tsd-kind-type-alias">RecursiveBinaryTreeNode</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">
26
26
  <h4>Hierarchy</h4>
27
27
  <ul class="tsd-hierarchy">
28
+ <li><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>
29
+ <ul class="tsd-hierarchy">
28
30
  <li><span class="target">BinaryTreeNode</span>
29
31
  <ul class="tsd-hierarchy">
30
- <li><a href="BSTNode.html" class="tsd-signature-type tsd-kind-class">BSTNode</a></li></ul></li></ul></section>
32
+ <li><a href="BSTNode.html" class="tsd-signature-type tsd-kind-class">BSTNode</a></li></ul></li></ul></li></ul></section>
31
33
  <section class="tsd-panel">
32
34
  <h4>Implements</h4>
33
35
  <ul class="tsd-hierarchy">
34
36
  <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">
35
37
  <ul>
36
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L33">src/data-structures/binary-tree/binary-tree.ts:33</a></li></ul></aside>
38
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/binary-tree.ts#L15">src/data-structures/binary-tree/binary-tree.ts:15</a></li></ul></aside>
37
39
  <section class="tsd-panel-group tsd-index-group">
38
40
  <section class="tsd-panel tsd-index-panel">
39
41
  <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -41,48 +43,37 @@
41
43
  <div class="tsd-accordion-details">
42
44
  <section class="tsd-index-section">
43
45
  <h3 class="tsd-index-heading">Constructors</h3>
44
- <div class="tsd-index-list"><a href="BinaryTreeNode.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-512"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g></svg><span>constructor</span></a>
45
- </div></section>
46
- <section class="tsd-index-section">
47
- <h3 class="tsd-index-heading">Properties</h3>
48
- <div class="tsd-index-list"><a href="BinaryTreeNode.html#_count" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g></svg><span>_count</span></a>
49
- <a href="BinaryTreeNode.html#_familyPosition" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_family<wbr/>Position</span></a>
50
- <a href="BinaryTreeNode.html#_height" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_height</span></a>
51
- <a href="BinaryTreeNode.html#_id" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_id</span></a>
52
- <a href="BinaryTreeNode.html#_left" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_left?</span></a>
53
- <a href="BinaryTreeNode.html#_parent" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_parent</span></a>
54
- <a href="BinaryTreeNode.html#_right" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_right?</span></a>
55
- <a href="BinaryTreeNode.html#_val" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_val</span></a>
46
+ <div class="tsd-index-list"><a href="BinaryTreeNode.html#constructor" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-512"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g></svg><span>constructor</span></a>
56
47
  </div></section>
57
48
  <section class="tsd-index-section">
58
49
  <h3 class="tsd-index-heading">Accessors</h3>
59
- <div class="tsd-index-list"><a href="BinaryTreeNode.html#count" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-262144"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g></svg><span>count</span></a>
60
- <a href="BinaryTreeNode.html#familyPosition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>family<wbr/>Position</span></a>
61
- <a href="BinaryTreeNode.html#height" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>height</span></a>
62
- <a href="BinaryTreeNode.html#id" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>id</span></a>
63
- <a href="BinaryTreeNode.html#left" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>left</span></a>
64
- <a href="BinaryTreeNode.html#parent" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>parent</span></a>
65
- <a href="BinaryTreeNode.html#right" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>right</span></a>
66
- <a href="BinaryTreeNode.html#val" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>val</span></a>
50
+ <div class="tsd-index-list"><a href="BinaryTreeNode.html#count" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-262144"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g></svg><span>count</span></a>
51
+ <a href="BinaryTreeNode.html#familyPosition" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>family<wbr/>Position</span></a>
52
+ <a href="BinaryTreeNode.html#height" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>height</span></a>
53
+ <a href="BinaryTreeNode.html#id" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>id</span></a>
54
+ <a href="BinaryTreeNode.html#left" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>left</span></a>
55
+ <a href="BinaryTreeNode.html#parent" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>parent</span></a>
56
+ <a href="BinaryTreeNode.html#right" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>right</span></a>
57
+ <a href="BinaryTreeNode.html#val" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>val</span></a>
67
58
  </div></section>
68
59
  <section class="tsd-index-section">
69
60
  <h3 class="tsd-index-heading">Methods</h3>
70
61
  <div class="tsd-index-list"><a href="BinaryTreeNode.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="BinaryTreeNode.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>
72
- <a href="BinaryTreeNode.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>
62
+ <a href="BinaryTreeNode.html#clone" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>clone</span></a>
63
+ <a href="BinaryTreeNode.html#swapLocation" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>swap<wbr/>Location</span></a>
73
64
  </div></section></div></details></section></section>
74
65
  <section class="tsd-panel-group tsd-member-group">
75
66
  <h2>Constructors</h2>
76
- <section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a>
67
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="constructor" class="tsd-anchor"></a>
77
68
  <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
- <ul class="tsd-signatures">
69
+ <ul class="tsd-signatures tsd-is-inherited">
79
70
  <li class="tsd-signature tsd-anchor-link" id="constructor.new_BinaryTreeNode"><span class="tsd-kind-constructor-signature">new <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="BinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">BinaryTreeNode</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_BinaryTreeNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
80
71
  <li class="tsd-description">
81
72
  <section class="tsd-panel">
82
73
  <h4>Type Parameters</h4>
83
74
  <ul class="tsd-type-parameter-list">
84
75
  <li>
85
- <h4><span class="tsd-kind-type-parameter">T</span></h4></li>
76
+ <h4><span class="tsd-kind-type-parameter">T</span> = <span class="tsd-signature-type">number</span></h4></li>
86
77
  <li>
87
78
  <h4><span class="tsd-kind-type-parameter">FAMILY</span><span class="tsd-signature-symbol"> extends </span><a href="BinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">BinaryTreeNode</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/RecursiveBinaryTreeNode.html" class="tsd-signature-type tsd-kind-type-alias">RecursiveBinaryTreeNode</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
79
  <div class="tsd-parameters">
@@ -95,61 +86,21 @@
95
86
  <li>
96
87
  <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
88
  <h4 class="tsd-returns-title">Returns <a href="BinaryTreeNode.html" class="tsd-signature-type tsd-kind-class">BinaryTreeNode</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">
89
+ <p>Inherited from <a href="AbstractBinaryTreeNode.html">AbstractBinaryTreeNode</a>.<a href="AbstractBinaryTreeNode.html#constructor">constructor</a></p>
98
90
  <ul>
99
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L35">src/data-structures/binary-tree/binary-tree.ts:35</a></li></ul></aside></li></ul></section></section>
100
- <section class="tsd-panel-group tsd-member-group">
101
- <h2>Properties</h2>
102
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_count" class="tsd-anchor"></a>
103
- <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
- <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
- <ul>
106
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L109">src/data-structures/binary-tree/binary-tree.ts:109</a></li></ul></aside></section>
107
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_familyPosition" class="tsd-anchor"></a>
108
- <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
- <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
- <ul>
111
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L99">src/data-structures/binary-tree/binary-tree.ts:99</a></li></ul></aside></section>
112
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_height" class="tsd-anchor"></a>
113
- <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
- <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
- <ul>
116
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L119">src/data-structures/binary-tree/binary-tree.ts:119</a></li></ul></aside></section>
117
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_id" class="tsd-anchor"></a>
118
- <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
- <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
- <ul>
121
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L41">src/data-structures/binary-tree/binary-tree.ts:41</a></li></ul></aside></section>
122
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_left" class="tsd-anchor"></a>
123
- <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
- <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
- <ul>
126
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L61">src/data-structures/binary-tree/binary-tree.ts:61</a></li></ul></aside></section>
127
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_parent" class="tsd-anchor"></a>
128
- <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
- <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
- <ul>
131
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L89">src/data-structures/binary-tree/binary-tree.ts:89</a></li></ul></aside></section>
132
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_right" class="tsd-anchor"></a>
133
- <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
- <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
- <ul>
136
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L75">src/data-structures/binary-tree/binary-tree.ts:75</a></li></ul></aside></section>
137
- <section class="tsd-panel tsd-member tsd-is-private"><a id="_val" class="tsd-anchor"></a>
138
- <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">
140
- <ul>
141
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L51">src/data-structures/binary-tree/binary-tree.ts:51</a></li></ul></aside></section></section>
91
+ <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>
142
92
  <section class="tsd-panel-group tsd-member-group">
143
93
  <h2>Accessors</h2>
144
- <section class="tsd-panel tsd-member"><a id="count" class="tsd-anchor"></a>
94
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="count" class="tsd-anchor"></a>
145
95
  <h3 class="tsd-anchor-link"><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>
146
- <ul class="tsd-signatures">
96
+ <ul class="tsd-signatures tsd-is-inherited">
147
97
  <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
98
  <li class="tsd-description">
149
99
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
150
100
  <p>Implementation of IBinaryTreeNode.count</p>
101
+ <p>Inherited from AbstractBinaryTreeNode.count</p>
151
102
  <ul>
152
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L111">src/data-structures/binary-tree/binary-tree.ts:111</a></li></ul></aside></li>
103
+ <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>
153
104
  <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
105
  <li class="tsd-description">
155
106
  <div class="tsd-parameters">
@@ -159,17 +110,19 @@
159
110
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
160
111
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
161
112
  <p>Implementation of IBinaryTreeNode.count</p>
113
+ <p>Inherited from AbstractBinaryTreeNode.count</p>
162
114
  <ul>
163
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L115">src/data-structures/binary-tree/binary-tree.ts:115</a></li></ul></aside></li></ul></section>
164
- <section class="tsd-panel tsd-member"><a id="familyPosition" class="tsd-anchor"></a>
115
+ <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>
116
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="familyPosition" class="tsd-anchor"></a>
165
117
  <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
- <ul class="tsd-signatures">
118
+ <ul class="tsd-signatures tsd-is-inherited">
167
119
  <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
120
  <li class="tsd-description">
169
121
  <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
122
  <p>Implementation of IBinaryTreeNode.familyPosition</p>
123
+ <p>Inherited from AbstractBinaryTreeNode.familyPosition</p>
171
124
  <ul>
172
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L101">src/data-structures/binary-tree/binary-tree.ts:101</a></li></ul></aside></li>
125
+ <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>
173
126
  <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
127
  <li class="tsd-description">
175
128
  <div class="tsd-parameters">
@@ -179,17 +132,19 @@
179
132
  <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
133
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
181
134
  <p>Implementation of IBinaryTreeNode.familyPosition</p>
135
+ <p>Inherited from AbstractBinaryTreeNode.familyPosition</p>
182
136
  <ul>
183
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L105">src/data-structures/binary-tree/binary-tree.ts:105</a></li></ul></aside></li></ul></section>
184
- <section class="tsd-panel tsd-member"><a id="height" class="tsd-anchor"></a>
137
+ <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>
138
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="height" class="tsd-anchor"></a>
185
139
  <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
- <ul class="tsd-signatures">
140
+ <ul class="tsd-signatures tsd-is-inherited">
187
141
  <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
142
  <li class="tsd-description">
189
143
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
190
144
  <p>Implementation of IBinaryTreeNode.height</p>
145
+ <p>Inherited from AbstractBinaryTreeNode.height</p>
191
146
  <ul>
192
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L121">src/data-structures/binary-tree/binary-tree.ts:121</a></li></ul></aside></li>
147
+ <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>
193
148
  <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
149
  <li class="tsd-description">
195
150
  <div class="tsd-parameters">
@@ -199,17 +154,19 @@
199
154
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
200
155
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
201
156
  <p>Implementation of IBinaryTreeNode.height</p>
157
+ <p>Inherited from AbstractBinaryTreeNode.height</p>
202
158
  <ul>
203
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L125">src/data-structures/binary-tree/binary-tree.ts:125</a></li></ul></aside></li></ul></section>
204
- <section class="tsd-panel tsd-member"><a id="id" class="tsd-anchor"></a>
159
+ <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>
160
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="id" class="tsd-anchor"></a>
205
161
  <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
- <ul class="tsd-signatures">
162
+ <ul class="tsd-signatures tsd-is-inherited">
207
163
  <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
164
  <li class="tsd-description">
209
165
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
210
166
  <p>Implementation of IBinaryTreeNode.id</p>
167
+ <p>Inherited from AbstractBinaryTreeNode.id</p>
211
168
  <ul>
212
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L43">src/data-structures/binary-tree/binary-tree.ts:43</a></li></ul></aside></li>
169
+ <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>
213
170
  <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
171
  <li class="tsd-description">
215
172
  <div class="tsd-parameters">
@@ -219,17 +176,19 @@
219
176
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
220
177
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
221
178
  <p>Implementation of IBinaryTreeNode.id</p>
179
+ <p>Inherited from AbstractBinaryTreeNode.id</p>
222
180
  <ul>
223
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L47">src/data-structures/binary-tree/binary-tree.ts:47</a></li></ul></aside></li></ul></section>
224
- <section class="tsd-panel tsd-member"><a id="left" class="tsd-anchor"></a>
181
+ <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>
182
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="left" class="tsd-anchor"></a>
225
183
  <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
- <ul class="tsd-signatures">
184
+ <ul class="tsd-signatures tsd-is-inherited">
227
185
  <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
186
  <li class="tsd-description">
229
187
  <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
188
  <p>Implementation of IBinaryTreeNode.left</p>
189
+ <p>Inherited from AbstractBinaryTreeNode.left</p>
231
190
  <ul>
232
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L63">src/data-structures/binary-tree/binary-tree.ts:63</a></li></ul></aside></li>
191
+ <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>
233
192
  <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
193
  <li class="tsd-description">
235
194
  <div class="tsd-parameters">
@@ -239,17 +198,19 @@
239
198
  <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
199
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
241
200
  <p>Implementation of IBinaryTreeNode.left</p>
201
+ <p>Inherited from AbstractBinaryTreeNode.left</p>
242
202
  <ul>
243
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L67">src/data-structures/binary-tree/binary-tree.ts:67</a></li></ul></aside></li></ul></section>
244
- <section class="tsd-panel tsd-member"><a id="parent" class="tsd-anchor"></a>
203
+ <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>
204
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="parent" class="tsd-anchor"></a>
245
205
  <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
- <ul class="tsd-signatures">
206
+ <ul class="tsd-signatures tsd-is-inherited">
247
207
  <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
208
  <li class="tsd-description">
249
209
  <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
210
  <p>Implementation of IBinaryTreeNode.parent</p>
211
+ <p>Inherited from AbstractBinaryTreeNode.parent</p>
251
212
  <ul>
252
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L91">src/data-structures/binary-tree/binary-tree.ts:91</a></li></ul></aside></li>
213
+ <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>
253
214
  <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
215
  <li class="tsd-description">
255
216
  <div class="tsd-parameters">
@@ -259,17 +220,19 @@
259
220
  <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
221
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
261
222
  <p>Implementation of IBinaryTreeNode.parent</p>
223
+ <p>Inherited from AbstractBinaryTreeNode.parent</p>
262
224
  <ul>
263
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L95">src/data-structures/binary-tree/binary-tree.ts:95</a></li></ul></aside></li></ul></section>
264
- <section class="tsd-panel tsd-member"><a id="right" class="tsd-anchor"></a>
225
+ <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>
226
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="right" class="tsd-anchor"></a>
265
227
  <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
- <ul class="tsd-signatures">
228
+ <ul class="tsd-signatures tsd-is-inherited">
267
229
  <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
230
  <li class="tsd-description">
269
231
  <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
232
  <p>Implementation of IBinaryTreeNode.right</p>
233
+ <p>Inherited from AbstractBinaryTreeNode.right</p>
271
234
  <ul>
272
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L77">src/data-structures/binary-tree/binary-tree.ts:77</a></li></ul></aside></li>
235
+ <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>
273
236
  <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
237
  <li class="tsd-description">
275
238
  <div class="tsd-parameters">
@@ -279,17 +242,19 @@
279
242
  <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
243
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
281
244
  <p>Implementation of IBinaryTreeNode.right</p>
245
+ <p>Inherited from AbstractBinaryTreeNode.right</p>
282
246
  <ul>
283
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L81">src/data-structures/binary-tree/binary-tree.ts:81</a></li></ul></aside></li></ul></section>
284
- <section class="tsd-panel tsd-member"><a id="val" class="tsd-anchor"></a>
247
+ <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>
248
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="val" class="tsd-anchor"></a>
285
249
  <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
- <ul class="tsd-signatures">
250
+ <ul class="tsd-signatures tsd-is-inherited">
287
251
  <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>
288
252
  <li class="tsd-description">
289
253
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h4><aside class="tsd-sources">
290
254
  <p>Implementation of IBinaryTreeNode.val</p>
255
+ <p>Inherited from AbstractBinaryTreeNode.val</p>
291
256
  <ul>
292
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L53">src/data-structures/binary-tree/binary-tree.ts:53</a></li></ul></aside></li>
257
+ <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
258
  <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>
294
259
  <li class="tsd-description">
295
260
  <div class="tsd-parameters">
@@ -299,8 +264,9 @@
299
264
  <h5><span class="tsd-kind-parameter">v</span>: <span class="tsd-signature-type tsd-kind-type-parameter">T</span></h5></li></ul></div>
300
265
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
301
266
  <p>Implementation of IBinaryTreeNode.val</p>
267
+ <p>Inherited from AbstractBinaryTreeNode.val</p>
302
268
  <ul>
303
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L57">src/data-structures/binary-tree/binary-tree.ts:57</a></li></ul></aside></li></ul></section></section>
269
+ <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>
304
270
  <section class="tsd-panel-group tsd-member-group">
305
271
  <h2>Methods</h2>
306
272
  <section class="tsd-panel tsd-member"><a id="_createNode" class="tsd-anchor"></a>
@@ -319,20 +285,22 @@
319
285
  <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
286
  <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
287
  <p>Implementation of <a href="../interfaces/IBinaryTreeNode.html">IBinaryTreeNode</a>.<a href="../interfaces/IBinaryTreeNode.html#_createNode">_createNode</a></p>
288
+ <p>Overrides <a href="AbstractBinaryTreeNode.html">AbstractBinaryTreeNode</a>.<a href="AbstractBinaryTreeNode.html#_createNode">_createNode</a></p>
322
289
  <ul>
323
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L129">src/data-structures/binary-tree/binary-tree.ts:129</a></li></ul></aside></li></ul></section>
324
- <section class="tsd-panel tsd-member"><a id="clone" class="tsd-anchor"></a>
290
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/860d18d/src/data-structures/binary-tree/binary-tree.ts#L17">src/data-structures/binary-tree/binary-tree.ts:17</a></li></ul></aside></li></ul></section>
291
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="clone" class="tsd-anchor"></a>
325
292
  <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">
293
+ <ul class="tsd-signatures tsd-is-inherited">
327
294
  <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
295
  <li class="tsd-description">
329
296
  <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
297
  <p>Implementation of <a href="../interfaces/IBinaryTreeNode.html">IBinaryTreeNode</a>.<a href="../interfaces/IBinaryTreeNode.html#clone">clone</a></p>
298
+ <p>Inherited from <a href="AbstractBinaryTreeNode.html">AbstractBinaryTreeNode</a>.<a href="AbstractBinaryTreeNode.html#clone">clone</a></p>
331
299
  <ul>
332
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L154">src/data-structures/binary-tree/binary-tree.ts:154</a></li></ul></aside></li></ul></section>
333
- <section class="tsd-panel tsd-member"><a id="swapLocation" class="tsd-anchor"></a>
300
+ <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>
301
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="swapLocation" class="tsd-anchor"></a>
334
302
  <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
- <ul class="tsd-signatures">
303
+ <ul class="tsd-signatures tsd-is-inherited">
336
304
  <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
305
  <li class="tsd-description">
338
306
  <div class="tsd-parameters">
@@ -342,8 +310,9 @@
342
310
  <h5><span class="tsd-kind-parameter">swapNode</span>: <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h5></li></ul></div>
343
311
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">FAMILY</span></h4><aside class="tsd-sources">
344
312
  <p>Implementation of <a href="../interfaces/IBinaryTreeNode.html">IBinaryTreeNode</a>.<a href="../interfaces/IBinaryTreeNode.html#swapLocation">swapLocation</a></p>
313
+ <p>Inherited from <a href="AbstractBinaryTreeNode.html">AbstractBinaryTreeNode</a>.<a href="AbstractBinaryTreeNode.html#swapLocation">swapLocation</a></p>
345
314
  <ul>
346
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/binary-tree/binary-tree.ts#L133">src/data-structures/binary-tree/binary-tree.ts:133</a></li></ul></aside></li></ul></section></section></div>
315
+ <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>
347
316
  <div class="col-sidebar">
348
317
  <div class="page-menu">
349
318
  <div class="tsd-navigation settings">
@@ -363,36 +332,31 @@
363
332
  <h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>On This Page</h3></summary>
364
333
  <div class="tsd-accordion-details">
365
334
  <ul>
366
- <li><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-512"></use></svg><span>constructor</span></a></li>
367
- <li><a href="#_count" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_count</span></a></li>
368
- <li><a href="#_familyPosition" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_family<wbr/>Position</span></a></li>
369
- <li><a href="#_height" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_height</span></a></li>
370
- <li><a href="#_id" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_id</span></a></li>
371
- <li><a href="#_left" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_left</span></a></li>
372
- <li><a href="#_parent" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_parent</span></a></li>
373
- <li><a href="#_right" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_right</span></a></li>
374
- <li><a href="#_val" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_val</span></a></li>
375
- <li><a href="#count" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>count</span></a></li>
376
- <li><a href="#familyPosition" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>family<wbr/>Position</span></a></li>
377
- <li><a href="#height" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>height</span></a></li>
378
- <li><a href="#id" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>id</span></a></li>
379
- <li><a href="#left" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>left</span></a></li>
380
- <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
- <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
- <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>
335
+ <li><a href="#constructor" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-512"></use></svg><span>constructor</span></a></li>
336
+ <li><a href="#count" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>count</span></a></li>
337
+ <li><a href="#familyPosition" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>family<wbr/>Position</span></a></li>
338
+ <li><a href="#height" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>height</span></a></li>
339
+ <li><a href="#id" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>id</span></a></li>
340
+ <li><a href="#left" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>left</span></a></li>
341
+ <li><a href="#parent" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>parent</span></a></li>
342
+ <li><a href="#right" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>right</span></a></li>
343
+ <li><a href="#val" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>val</span></a></li>
383
344
  <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
- <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>
385
- <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>
345
+ <li><a href="#clone" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>clone</span></a></li>
346
+ <li><a href="#swapLocation" class="tsd-is-inherited"><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
347
  <div class="site-menu">
387
348
  <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>
388
349
  <ul class="tsd-small-nested-navigation">
389
350
  <li><a href="../enums/CP.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-8"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)"></path></g></svg><span>CP</span></a></li>
390
351
  <li><a href="../enums/FamilyPosition.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>Family<wbr/>Position</span></a></li>
391
352
  <li><a href="../enums/LoopType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>Loop<wbr/>Type</span></a></li>
353
+ <li><a href="../enums/RBColor.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>RBColor</span></a></li>
392
354
  <li><a href="../enums/TopologicalProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>Topological<wbr/>Property</span></a></li>
393
355
  <li><a href="AVLTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g></svg><span>AVLTree</span></a></li>
394
356
  <li><a href="AVLTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>AVLTree<wbr/>Node</span></a></li>
395
357
  <li><a href="AaTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Aa<wbr/>Tree</span></a></li>
358
+ <li><a href="AbstractBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree</span></a></li>
359
+ <li><a href="AbstractBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node</span></a></li>
396
360
  <li><a href="AbstractEdge.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Edge</span></a></li>
397
361
  <li><a href="AbstractGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Graph</span></a></li>
398
362
  <li><a href="AbstractVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Vertex</span></a></li>
@@ -435,6 +399,7 @@
435
399
  <li><a href="Stack.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Stack</span></a></li>
436
400
  <li><a href="TreeMap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Map</span></a></li>
437
401
  <li><a href="TreeMultiSet.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Multi<wbr/>Set</span></a></li>
402
+ <li><a href="TreeMultiSetNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Multi<wbr/>Set<wbr/>Node</span></a></li>
438
403
  <li><a href="TreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Node</span></a></li>
439
404
  <li><a href="TreeSet.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Set</span></a></li>
440
405
  <li><a href="Trie.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Trie</span></a></li>
@@ -449,30 +414,37 @@
449
414
  <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>
450
415
  <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>
451
416
  <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>
452
- <li><a href="../types/AVLTreeDeleted.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/>Deleted</span></a></li>
417
+ <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>
418
+ <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>
419
+ <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>
420
+ <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>
421
+ <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>
453
422
  <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>
454
- <li><a href="../types/BSTDeletedResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>BSTDeleted<wbr/>Result</span></a></li>
455
- <li><a href="../types/BinaryTreeDeleted.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Deleted</span></a></li>
423
+ <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>
424
+ <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>
456
425
  <li><a href="../types/BinaryTreeNodeId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Node<wbr/>Id</span></a></li>
457
426
  <li><a href="../types/BinaryTreeNodePropertyName.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Node<wbr/>Property<wbr/>Name</span></a></li>
427
+ <li><a href="../types/BinaryTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Options</span></a></li>
458
428
  <li><a href="../types/DFSOrderPattern.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>DFSOrder<wbr/>Pattern</span></a></li>
459
429
  <li><a href="../types/DijkstraResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Dijkstra<wbr/>Result</span></a></li>
460
430
  <li><a href="../types/Direction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Direction</span></a></li>
461
431
  <li><a href="../types/EdgeId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Edge<wbr/>Id</span></a></li>
462
432
  <li><a href="../types/HeapOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Heap<wbr/>Options</span></a></li>
433
+ <li><a href="../types/IdObject.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Id<wbr/>Object</span></a></li>
434
+ <li><a href="../types/KeyValObject.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Key<wbr/>Val<wbr/>Object</span></a></li>
463
435
  <li><a href="../types/NavigatorParams.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Navigator<wbr/>Params</span></a></li>
464
436
  <li><a href="../types/NodeOrPropertyName.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Node<wbr/>Or<wbr/>Property<wbr/>Name</span></a></li>
465
437
  <li><a href="../types/PriorityQueueComparator.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Priority<wbr/>Queue<wbr/>Comparator</span></a></li>
466
438
  <li><a href="../types/PriorityQueueDFSOrderPattern.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Priority<wbr/>QueueDFSOrder<wbr/>Pattern</span></a></li>
467
439
  <li><a href="../types/PriorityQueueOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Priority<wbr/>Queue<wbr/>Options</span></a></li>
440
+ <li><a href="../types/RBTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>RBTree<wbr/>Options</span></a></li>
468
441
  <li><a href="../types/RecursiveAVLTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>RecursiveAVLTree<wbr/>Node</span></a></li>
469
442
  <li><a href="../types/RecursiveBSTNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>RecursiveBSTNode</span></a></li>
470
443
  <li><a href="../types/RecursiveBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Recursive<wbr/>Binary<wbr/>Tree<wbr/>Node</span></a></li>
471
- <li><a href="../types/ResultByProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Result<wbr/>By<wbr/>Property</span></a></li>
472
- <li><a href="../types/ResultsByProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Results<wbr/>By<wbr/>Property</span></a></li>
444
+ <li><a href="../types/RecursiveTreeMultiSetNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Recursive<wbr/>Tree<wbr/>Multi<wbr/>Set<wbr/>Node</span></a></li>
473
445
  <li><a href="../types/SegmentTreeNodeVal.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Segment<wbr/>Tree<wbr/>Node<wbr/>Val</span></a></li>
474
446
  <li><a href="../types/TopologicalStatus.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Topological<wbr/>Status</span></a></li>
475
- <li><a href="../types/TreeMultiSetDeletedResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Tree<wbr/>Multi<wbr/>Set<wbr/>Deleted<wbr/>Result</span></a></li>
447
+ <li><a href="../types/TreeMultiSetOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Tree<wbr/>Multi<wbr/>Set<wbr/>Options</span></a></li>
476
448
  <li><a href="../types/Turning.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Turning</span></a></li>
477
449
  <li><a href="../types/VertexId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Vertex<wbr/>Id</span></a></li></ul></nav></div></div></div>
478
450
  <div class="tsd-generator">