data-structure-typed 1.33.0 → 1.33.5

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 (222) hide show
  1. package/{.eslintrc.json → .eslintrc.js} +2 -1
  2. package/.github/workflows/ci.yml +15 -3
  3. package/.github/workflows/release-package.yml +32 -0
  4. package/{.prettierrc → .prettierrc.js} +1 -1
  5. package/CHANGELOG.md +5 -1
  6. package/README.md +196 -257
  7. package/coverage/coverage-final.json +64 -64
  8. package/coverage/coverage-summary.json +16 -16
  9. package/dist/data-structures/binary-tree/abstract-binary-tree.js +1 -16
  10. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
  11. package/dist/data-structures/binary-tree/avl-tree.js +2 -2
  12. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
  13. package/dist/data-structures/binary-tree/rb-tree.js +3 -4
  14. package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
  15. package/dist/data-structures/graph/abstract-graph.js +12 -12
  16. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  17. package/dist/data-structures/graph/directed-graph.js.map +1 -1
  18. package/dist/data-structures/graph/undirected-graph.js.map +1 -1
  19. package/dist/data-structures/hash/hash-table.js +107 -2
  20. package/dist/data-structures/hash/hash-table.js.map +1 -1
  21. package/dist/data-structures/heap/max-heap.js.map +1 -1
  22. package/dist/data-structures/heap/min-heap.js.map +1 -1
  23. package/dist/data-structures/linked-list/doubly-linked-list.js +30 -0
  24. package/dist/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  25. package/dist/data-structures/matrix/matrix2d.js +5 -8
  26. package/dist/data-structures/matrix/matrix2d.js.map +1 -1
  27. package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  28. package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  29. package/dist/data-structures/priority-queue/priority-queue.js +6 -6
  30. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
  31. package/dist/data-structures/queue/deque.js.map +1 -1
  32. package/docs/index.html +196 -256
  33. package/docs/modules.html +2 -0
  34. package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +8 -18
  35. package/lib/data-structures/binary-tree/abstract-binary-tree.js +5 -23
  36. package/lib/data-structures/binary-tree/avl-tree.d.ts +7 -10
  37. package/lib/data-structures/binary-tree/avl-tree.js +6 -9
  38. package/lib/data-structures/binary-tree/binary-tree.d.ts +2 -2
  39. package/lib/data-structures/binary-tree/bst.d.ts +2 -2
  40. package/lib/data-structures/binary-tree/rb-tree.d.ts +3 -3
  41. package/lib/data-structures/binary-tree/rb-tree.js +3 -3
  42. package/lib/data-structures/binary-tree/tree-multiset.d.ts +3 -3
  43. package/lib/data-structures/binary-tree/tree-multiset.js +1 -1
  44. package/lib/data-structures/graph/abstract-graph.d.ts +10 -10
  45. package/lib/data-structures/graph/abstract-graph.js +2 -2
  46. package/lib/data-structures/graph/directed-graph.d.ts +6 -6
  47. package/lib/data-structures/graph/directed-graph.js +2 -2
  48. package/lib/data-structures/graph/map-graph.d.ts +6 -6
  49. package/lib/data-structures/graph/map-graph.js +2 -2
  50. package/lib/data-structures/graph/undirected-graph.d.ts +6 -6
  51. package/lib/data-structures/graph/undirected-graph.js +2 -2
  52. package/lib/data-structures/hash/hash-table.d.ts +61 -1
  53. package/lib/data-structures/hash/hash-table.js +136 -0
  54. package/lib/data-structures/heap/heap.d.ts +31 -31
  55. package/lib/data-structures/heap/heap.js +11 -11
  56. package/lib/data-structures/heap/max-heap.d.ts +4 -4
  57. package/lib/data-structures/heap/max-heap.js +1 -1
  58. package/lib/data-structures/heap/min-heap.d.ts +4 -4
  59. package/lib/data-structures/heap/min-heap.js +1 -1
  60. package/lib/data-structures/linked-list/doubly-linked-list.d.ts +93 -54
  61. package/lib/data-structures/linked-list/doubly-linked-list.js +79 -22
  62. package/lib/data-structures/linked-list/singly-linked-list.d.ts +46 -46
  63. package/lib/data-structures/linked-list/singly-linked-list.js +20 -20
  64. package/lib/data-structures/matrix/matrix.d.ts +3 -3
  65. package/lib/data-structures/matrix/matrix2d.d.ts +1 -1
  66. package/lib/data-structures/matrix/matrix2d.js +3 -2
  67. package/lib/data-structures/priority-queue/max-priority-queue.d.ts +4 -4
  68. package/lib/data-structures/priority-queue/min-priority-queue.d.ts +4 -4
  69. package/lib/data-structures/priority-queue/priority-queue.d.ts +26 -26
  70. package/lib/data-structures/priority-queue/priority-queue.js +8 -8
  71. package/lib/data-structures/queue/deque.d.ts +30 -30
  72. package/lib/data-structures/queue/deque.js +7 -7
  73. package/lib/data-structures/queue/queue.d.ts +27 -27
  74. package/lib/data-structures/queue/queue.js +8 -8
  75. package/lib/data-structures/stack/stack.d.ts +15 -15
  76. package/lib/data-structures/stack/stack.js +6 -6
  77. package/lib/data-structures/tree/tree.d.ts +7 -7
  78. package/lib/interfaces/abstract-binary-tree.d.ts +0 -1
  79. package/lib/interfaces/avl-tree.d.ts +1 -1
  80. package/lib/types/data-structures/navigator.d.ts +1 -1
  81. package/package.json +68 -62
  82. package/src/data-structures/binary-tree/aa-tree.ts +1 -0
  83. package/src/data-structures/binary-tree/abstract-binary-tree.ts +1608 -0
  84. package/src/data-structures/binary-tree/avl-tree.ts +307 -0
  85. package/src/data-structures/binary-tree/b-tree.ts +1 -0
  86. package/src/data-structures/binary-tree/binary-indexed-tree.ts +76 -0
  87. package/src/data-structures/binary-tree/binary-tree.ts +47 -0
  88. package/src/data-structures/binary-tree/bst.ts +537 -0
  89. package/src/data-structures/binary-tree/index.ts +12 -0
  90. package/src/data-structures/binary-tree/rb-tree.ts +366 -0
  91. package/src/data-structures/binary-tree/segment-tree.ts +242 -0
  92. package/src/data-structures/binary-tree/splay-tree.ts +1 -0
  93. package/src/data-structures/binary-tree/tree-multiset.ts +700 -0
  94. package/src/data-structures/binary-tree/two-three-tree.ts +1 -0
  95. package/src/data-structures/graph/abstract-graph.ts +1040 -0
  96. package/src/data-structures/graph/directed-graph.ts +470 -0
  97. package/src/data-structures/graph/index.ts +4 -0
  98. package/src/data-structures/graph/map-graph.ts +129 -0
  99. package/src/data-structures/graph/undirected-graph.ts +274 -0
  100. package/src/data-structures/hash/coordinate-map.ts +67 -0
  101. package/src/data-structures/hash/coordinate-set.ts +56 -0
  102. package/src/data-structures/hash/hash-table.ts +157 -0
  103. package/src/data-structures/hash/index.ts +6 -0
  104. package/src/data-structures/hash/pair.ts +1 -0
  105. package/src/data-structures/hash/tree-map.ts +1 -0
  106. package/src/data-structures/hash/tree-set.ts +1 -0
  107. package/src/data-structures/heap/heap.ts +212 -0
  108. package/src/data-structures/heap/index.ts +3 -0
  109. package/src/data-structures/heap/max-heap.ts +31 -0
  110. package/src/data-structures/heap/min-heap.ts +32 -0
  111. package/src/data-structures/index.ts +11 -0
  112. package/src/data-structures/linked-list/doubly-linked-list.ts +636 -0
  113. package/src/data-structures/linked-list/index.ts +3 -0
  114. package/src/data-structures/linked-list/singly-linked-list.ts +501 -0
  115. package/src/data-structures/linked-list/skip-linked-list.ts +1 -0
  116. package/src/data-structures/matrix/index.ts +4 -0
  117. package/src/data-structures/matrix/matrix.ts +27 -0
  118. package/src/data-structures/matrix/matrix2d.ts +213 -0
  119. package/src/data-structures/matrix/navigator.ts +121 -0
  120. package/src/data-structures/matrix/vector2d.ts +316 -0
  121. package/src/data-structures/priority-queue/index.ts +3 -0
  122. package/src/data-structures/priority-queue/max-priority-queue.ts +56 -0
  123. package/src/data-structures/priority-queue/min-priority-queue.ts +57 -0
  124. package/src/data-structures/priority-queue/priority-queue.ts +359 -0
  125. package/src/data-structures/queue/deque.ts +297 -0
  126. package/src/data-structures/queue/index.ts +2 -0
  127. package/src/data-structures/queue/queue.ts +191 -0
  128. package/src/data-structures/stack/index.ts +1 -0
  129. package/src/data-structures/stack/stack.ts +98 -0
  130. package/src/data-structures/tree/index.ts +1 -0
  131. package/src/data-structures/tree/tree.ts +69 -0
  132. package/src/data-structures/trie/index.ts +1 -0
  133. package/src/data-structures/trie/trie.ts +225 -0
  134. package/src/index.ts +4 -0
  135. package/src/interfaces/abstract-binary-tree.ts +189 -0
  136. package/src/interfaces/abstract-graph.ts +31 -0
  137. package/src/interfaces/avl-tree.ts +25 -0
  138. package/src/interfaces/binary-tree.ts +6 -0
  139. package/src/interfaces/bst.ts +31 -0
  140. package/src/interfaces/directed-graph.ts +20 -0
  141. package/src/interfaces/doubly-linked-list.ts +1 -0
  142. package/src/interfaces/heap.ts +1 -0
  143. package/src/interfaces/index.ts +15 -0
  144. package/src/interfaces/navigator.ts +1 -0
  145. package/src/interfaces/priority-queue.ts +1 -0
  146. package/src/interfaces/rb-tree.ts +9 -0
  147. package/src/interfaces/segment-tree.ts +1 -0
  148. package/src/interfaces/singly-linked-list.ts +1 -0
  149. package/src/interfaces/tree-multiset.ts +7 -0
  150. package/src/interfaces/undirected-graph.ts +6 -0
  151. package/src/types/data-structures/abstract-binary-tree.ts +50 -0
  152. package/src/types/data-structures/abstract-graph.ts +11 -0
  153. package/src/types/data-structures/avl-tree.ts +5 -0
  154. package/src/types/data-structures/binary-tree.ts +5 -0
  155. package/src/types/data-structures/bst.ts +13 -0
  156. package/src/types/data-structures/directed-graph.ts +8 -0
  157. package/src/types/data-structures/doubly-linked-list.ts +1 -0
  158. package/src/types/data-structures/heap.ts +5 -0
  159. package/src/types/data-structures/index.ts +15 -0
  160. package/src/types/data-structures/map-graph.ts +1 -0
  161. package/src/types/data-structures/navigator.ts +13 -0
  162. package/src/types/data-structures/priority-queue.ts +9 -0
  163. package/src/types/data-structures/rb-tree.ts +8 -0
  164. package/src/types/data-structures/segment-tree.ts +1 -0
  165. package/src/types/data-structures/singly-linked-list.ts +1 -0
  166. package/src/types/data-structures/tree-multiset.ts +6 -0
  167. package/src/types/helpers.ts +1 -0
  168. package/src/types/index.ts +3 -0
  169. package/src/types/utils/index.ts +2 -0
  170. package/src/types/utils/utils.ts +6 -0
  171. package/src/types/utils/validate-type.ts +35 -0
  172. package/src/utils/index.ts +1 -0
  173. package/src/utils/utils.ts +79 -0
  174. package/test/integration/avl-tree.test.ts +14 -17
  175. package/test/integration/bst.test.ts +50 -41
  176. package/test/integration/heap.test.js +0 -3
  177. package/test/integration/index.html +6 -6
  178. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +14 -17
  179. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +142 -0
  180. package/test/unit/data-structures/binary-tree/bst.test.ts +50 -41
  181. package/test/unit/data-structures/binary-tree/overall.test.ts +36 -28
  182. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +43 -0
  183. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +23 -12
  184. package/test/unit/data-structures/graph/directed-graph.test.ts +27 -25
  185. package/test/unit/data-structures/graph/map-graph.test.ts +4 -5
  186. package/test/unit/data-structures/graph/overall.test.ts +10 -11
  187. package/test/unit/data-structures/graph/undirected-graph.test.ts +0 -1
  188. package/test/unit/data-structures/hash/coordinate-map.test.ts +54 -0
  189. package/test/unit/data-structures/hash/coordinate-set.test.ts +41 -0
  190. package/test/unit/data-structures/hash/hash-table.test.ts +97 -0
  191. package/test/unit/data-structures/heap/heap.test.ts +7 -8
  192. package/test/unit/data-structures/heap/max-heap.test.ts +7 -5
  193. package/test/unit/data-structures/heap/min-heap.test.ts +6 -5
  194. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +8 -9
  195. package/test/unit/data-structures/linked-list/linked-list.test.ts +2 -4
  196. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +57 -7
  197. package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +3 -3
  198. package/test/unit/data-structures/matrix/matrix.test.ts +54 -0
  199. package/test/unit/data-structures/matrix/matrix2d.test.ts +138 -0
  200. package/test/unit/data-structures/matrix/navigator.test.ts +79 -0
  201. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +5 -7
  202. package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +13 -13
  203. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +8 -8
  204. package/test/unit/data-structures/queue/deque.test.ts +130 -0
  205. package/test/unit/data-structures/queue/queue.test.ts +167 -4
  206. package/test/unit/data-structures/stack/stack.test.ts +67 -0
  207. package/test/unit/data-structures/tree/tree.test.ts +39 -0
  208. package/test/unit/data-structures/trie/trie.test.ts +95 -0
  209. package/test/utils/magnitude.ts +3 -3
  210. package/tsconfig.json +3 -12
  211. package/tsconfig.prod.json +25 -0
  212. package/umd/bundle.min.js +1 -1
  213. package/umd/bundle.min.js.map +1 -1
  214. package/.auto-changelog +0 -9
  215. package/.gitattributes +0 -112
  216. package/.idea/data-structure-typed.iml +0 -19
  217. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  218. package/.idea/misc.xml +0 -6
  219. package/.idea/modules.xml +0 -8
  220. package/.idea/vcs.xml +0 -6
  221. package/.prettierignore +0 -6
  222. package/webpack.config.js +0 -28
package/docs/index.html CHANGED
@@ -12,20 +12,22 @@
12
12
  <div class="col-content">
13
13
  <div class="tsd-page-title">
14
14
  <h2>data-structure-typed</h2></div>
15
- <div class="tsd-panel tsd-typography"><a id="md:data-structure-typed" class="tsd-anchor"></a><h1><a href="#md:data-structure-typed">Data Structure Typed</a></h1><p><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License">
15
+ <div class="tsd-panel tsd-typography"><a id="md:data-structure-typed" class="tsd-anchor"></a><h1><a href="#md:data-structure-typed">Data Structure Typed</a></h1><p>Data Structures of Javascript &amp; TypeScript.</p>
16
+ <p>Do you envy languages like C++ with <span style="border-radius: 5px;background-color: #0A7DBE; color: #ffffff; padding: 0 3px;">std</span>, Python with <span style="border-radius: 5px;background-color: #0A7DBE; color: #ffffff; padding: 0 3px;">collections</span>, and Java with <span style="border-radius: 5px;background-color: #0A7DBE; color: #ffffff; padding: 0 3px;">java.util</span>? Well, no need to envy anymore! JavaScript and TypeScript now have <span style="border-radius: 5px;background-color: #0A7DBE; color: #ffffff; padding: 0 3px;">data-structure-typed</span></p>
17
+ <p>Now you can use this library in Node.js and browser environments in CommonJS(require export.modules = ), ESModule(import export), Typescript(import export), UMD(var Queue = dataStructureTyped.Queue)</p>
18
+ <p><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License">
16
19
  <img src="https://img.shields.io/github/languages/top/zrwusa/data-structure-typed" alt="Language">
17
20
  <img src="https://img.shields.io/github/v/release/zrwusa/data-structure-typed" alt="GitHub release (latest by date)">
18
21
  <img src="https://img.shields.io/badge/branches-97.54%25-brightgreen.svg?style=flat" alt="Branches">
19
22
  <img src="https://aleen42.github.io/badges/src/npm.svg" alt="npm">
20
23
  <img src="https://aleen42.github.io/badges/src/eslint.svg" alt="eslint"></p>
21
- <a id="md:brief" class="tsd-anchor"></a><h2><a href="#md:brief">Brief</a></h2><p>Data Structures of Javascript &amp; TypeScript.</p>
22
24
  <a id="md:built-in-classic-algorithms" class="tsd-anchor"></a><h2><a href="#md:built-in-classic-algorithms">Built-in classic algorithms</a></h2><p>DFS(Depth-First Search), DFSIterative, BFS(Breadth-First Search), morris, Bellman-Ford Algorithm, Dijkstra&#39;s Algorithm,
23
25
  Floyd-Warshall Algorithm, Tarjan&#39;s Algorithm.</p>
24
- <a id="md:installation-and-usage" class="tsd-anchor"></a><h2><a href="#md:installation-and-usage">Installation and Usage</a></h2><a id="md:npm" class="tsd-anchor"></a><h3><a href="#md:npm">npm</a></h3><pre><code class="language-bash"><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">install</span><span class="hl-1"> </span><span class="hl-2">data-structure-typed</span><span class="hl-1"> </span><span class="hl-3">--save</span>
26
+ <a id="md:installation-and-usage" class="tsd-anchor"></a><h2><a href="#md:installation-and-usage">Installation and Usage</a></h2><a id="md:npm" class="tsd-anchor"></a><h3><a href="#md:npm">npm</a></h3><pre><code class="language-bash"><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">i</span><span class="hl-1"> </span><span class="hl-2">data-structure-typed</span><span class="hl-1"> </span><span class="hl-3">--save</span>
25
27
  </code><button>Copy</button></pre>
26
28
  <a id="md:yarn" class="tsd-anchor"></a><h3><a href="#md:yarn">yarn</a></h3><pre><code class="language-bash"><span class="hl-0">yarn</span><span class="hl-1"> </span><span class="hl-2">add</span><span class="hl-1"> </span><span class="hl-2">data-structure-typed</span>
27
29
  </code><button>Copy</button></pre>
28
- <a id="md:cdn" class="tsd-anchor"></a><h3><a href="#md:cdn">CDN</a></h3><pre><code class="language-html"><br/><span class="hl-4">&lt;</span><span class="hl-5">script</span><span class="hl-6"> </span><span class="hl-7">src</span><span class="hl-6">=</span><span class="hl-8">&quot;https://cdn.jsdelivr.net/npm/data-structure-typed/umd/bundle.min.js&quot;</span><span class="hl-4">&gt;&lt;/</span><span class="hl-5">script</span><span class="hl-4">&gt;</span>
30
+ <a id="md:cdn" class="tsd-anchor"></a><h3><a href="#md:cdn">CDN</a></h3><pre><code class="language-html"><br/><span class="hl-4">&lt;</span><span class="hl-5">script</span><span class="hl-6"> </span><span class="hl-7">src</span><span class="hl-6">=</span><span class="hl-8">&#39;https://cdn.jsdelivr.net/npm/data-structure-typed/umd/bundle.min.js&#39;</span><span class="hl-4">&gt;&lt;/</span><span class="hl-5">script</span><span class="hl-4">&gt;</span>
29
31
  </code><button>Copy</button></pre>
30
32
  <pre><code class="language-js"><span class="hl-3">const</span><span class="hl-1"> {</span><span class="hl-9">AVLTree</span><span class="hl-1">} = </span><span class="hl-10">dataStructureTyped</span><span class="hl-1">;</span><br/><span class="hl-3">const</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">Heap</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">MinHeap</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">SinglyLinkedList</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">Stack</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">AVLTreeNode</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">BST</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">Trie</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">DirectedGraph</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">DirectedVertex</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">TreeMultiset</span><br/><span class="hl-1">} = </span><span class="hl-10">dataStructureTyped</span><span class="hl-1">;</span>
31
33
  </code><button>Copy</button></pre>
@@ -39,7 +41,7 @@ Floyd-Warshall Algorithm, Tarjan&#39;s Algorithm.</p>
39
41
  <a id="md:api-docs-amp-examples" class="tsd-anchor"></a><h2><a href="#md:api-docs-amp-examples">API docs &amp; Examples</a></h2><p><a href="https://data-structure-typed-docs.vercel.app">API Docs</a></p>
40
42
  <p><a href="https://vivid-algorithm.vercel.app">Live Examples</a></p>
41
43
  <p><a href="https://github.com/zrwusa/vivid-algorithm" target="_blank">Examples Repository</a></p>
42
- <a id="md:code-snippet" class="tsd-anchor"></a><h2><a href="#md:code-snippet">Code Snippet</a></h2><a id="md:binary-search-tree-bst-snippet" class="tsd-anchor"></a><h3><a href="#md:binary-search-tree-bst-snippet">Binary Search Tree (BST) snippet</a></h3><a id="md:ts" class="tsd-anchor"></a><h4><a href="#md:ts">TS</a></h4><pre><code class="language-ts"><span class="hl-11">import</span><span class="hl-1"> {</span><span class="hl-10">BST</span><span class="hl-1">, </span><span class="hl-10">BSTNode</span><span class="hl-1">} </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-2">&#39;data-structure-typed&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">bst</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">BST</span><span class="hl-1">();</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">3</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([</span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-12">5</span><span class="hl-1">]);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-10">size</span><span class="hl-1"> === </span><span class="hl-12">16</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">has</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// true</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">node6</span><span class="hl-1"> = </span><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// BSTNode</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getHeight</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">) === </span><span class="hl-12">2</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getHeight</span><span class="hl-1">() === </span><span class="hl-12">5</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getDepth</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">) === </span><span class="hl-12">3</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getLeftMost</span><span class="hl-1">()?.</span><span class="hl-10">id</span><span class="hl-1"> === </span><span class="hl-12">1</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// null</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">isAVLBalanced</span><span class="hl-1">(); </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">BFS</span><span class="hl-1">()[</span><span class="hl-12">0</span><span class="hl-1">] === </span><span class="hl-12">11</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">objBST</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">BST</span><span class="hl-1">&lt;</span><span class="hl-14">BSTNode</span><span class="hl-1">&lt;{ </span><span class="hl-10">id</span><span class="hl-1">: </span><span class="hl-14">number</span><span class="hl-1">, </span><span class="hl-10">keyA</span><span class="hl-1">: </span><span class="hl-14">number</span><span class="hl-1"> }&gt;&gt;();</span><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">11</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">11</span><span class="hl-1">});</span><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">3</span><span class="hl-1">, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">3</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">3</span><span class="hl-1">});</span><br/><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([{</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">15</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">1</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">8</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">13</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">16</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">2</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">6</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">9</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">12</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">14</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">4</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">7</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">10</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">5</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">5</span><span class="hl-1">}]);</span><br/><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span>
44
+ <a id="md:code-snippet" class="tsd-anchor"></a><h2><a href="#md:code-snippet">Code Snippet</a></h2><a id="md:binary-search-tree-bst-snippet" class="tsd-anchor"></a><h3><a href="#md:binary-search-tree-bst-snippet">Binary Search Tree (BST) snippet</a></h3><a id="md:ts" class="tsd-anchor"></a><h4><a href="#md:ts">TS</a></h4><pre><code class="language-ts"><span class="hl-11">import</span><span class="hl-1"> {</span><span class="hl-10">BST</span><span class="hl-1">, </span><span class="hl-10">BSTNode</span><span class="hl-1">} </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-2">&#39;data-structure-typed&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">bst</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">BST</span><span class="hl-1">();</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">3</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([</span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-12">5</span><span class="hl-1">]);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-10">size</span><span class="hl-1"> === </span><span class="hl-12">16</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">has</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// true</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">node6</span><span class="hl-1"> = </span><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// BSTNode</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getHeight</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">) === </span><span class="hl-12">2</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getHeight</span><span class="hl-1">() === </span><span class="hl-12">5</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getDepth</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">) === </span><span class="hl-12">3</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getLeftMost</span><span class="hl-1">()?.</span><span class="hl-10">id</span><span class="hl-1"> === </span><span class="hl-12">1</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// null</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">isAVLBalanced</span><span class="hl-1">(); </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">BFS</span><span class="hl-1">()[</span><span class="hl-12">0</span><span class="hl-1">] === </span><span class="hl-12">11</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">objBST</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">BST</span><span class="hl-1">&lt;</span><span class="hl-14">BSTNode</span><span class="hl-1">&lt;{</span><span class="hl-10">id</span><span class="hl-1">: </span><span class="hl-14">number</span><span class="hl-1">, </span><span class="hl-10">keyA</span><span class="hl-1">: </span><span class="hl-14">number</span><span class="hl-1">}&gt;&gt;();</span><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">11</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">11</span><span class="hl-1">});</span><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">3</span><span class="hl-1">, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">3</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">3</span><span class="hl-1">});</span><br/><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([{</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">15</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">1</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">8</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">13</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">16</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">2</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">6</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">9</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">12</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">14</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">4</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">7</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">10</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">5</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">5</span><span class="hl-1">}]);</span><br/><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span>
43
45
  </code><button>Copy</button></pre>
44
46
  <a id="md:js" class="tsd-anchor"></a><h4><a href="#md:js">JS</a></h4><pre><code class="language-js"><span class="hl-3">const</span><span class="hl-1"> {</span><span class="hl-9">BST</span><span class="hl-1">, </span><span class="hl-9">BSTNode</span><span class="hl-1">} = </span><span class="hl-0">require</span><span class="hl-1">(</span><span class="hl-2">&#39;data-structure-typed&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">bst</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">BST</span><span class="hl-1">();</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">3</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([</span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-12">5</span><span class="hl-1">]);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-10">size</span><span class="hl-1"> === </span><span class="hl-12">16</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">has</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// true</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">node6</span><span class="hl-1"> = </span><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getHeight</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">) === </span><span class="hl-12">2</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getHeight</span><span class="hl-1">() === </span><span class="hl-12">5</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getDepth</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">) === </span><span class="hl-12">3</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">leftMost</span><span class="hl-1"> = </span><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">getLeftMost</span><span class="hl-1">();</span><br/><span class="hl-10">leftMost</span><span class="hl-1">?.</span><span class="hl-10">id</span><span class="hl-1"> === </span><span class="hl-12">1</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-10">leftMost</span><span class="hl-1">?.</span><span class="hl-10">id</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-12">1</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">);</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-12">6</span><span class="hl-1">); </span><span class="hl-13">// null</span><br/><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">isAVLBalanced</span><span class="hl-1">(); </span><span class="hl-13">// true or false</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">bfsIDs</span><span class="hl-1"> = </span><span class="hl-10">bst</span><span class="hl-1">.</span><span class="hl-0">BFS</span><span class="hl-1">();</span><br/><span class="hl-10">bfsIDs</span><span class="hl-1">[</span><span class="hl-12">0</span><span class="hl-1">] === </span><span class="hl-12">11</span><span class="hl-1">; </span><span class="hl-13">// true</span><br/><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-10">bfsIDs</span><span class="hl-1">[</span><span class="hl-12">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">objBST</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">BST</span><span class="hl-1">();</span><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">11</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">11</span><span class="hl-1">});</span><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">add</span><span class="hl-1">(</span><span class="hl-12">3</span><span class="hl-1">, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">3</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">3</span><span class="hl-1">});</span><br/><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([{</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">15</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">1</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">8</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">13</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">16</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">2</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">6</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">9</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">12</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">14</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">4</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">7</span><span class="hl-1">},</span><br/><span class="hl-1"> {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">10</span><span class="hl-1">}, {</span><span class="hl-10">id:</span><span class="hl-1"> </span><span class="hl-12">5</span><span class="hl-1">, </span><span class="hl-10">keyA:</span><span class="hl-1"> </span><span class="hl-12">5</span><span class="hl-1">}]);</span><br/><br/><span class="hl-10">objBST</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">11</span><span class="hl-1">);</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-9">avlTree</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">AVLTree</span><span class="hl-1">();</span><br/><span class="hl-10">avlTree</span><span class="hl-1">.</span><span class="hl-0">addMany</span><span class="hl-1">([</span><span class="hl-12">11</span><span class="hl-1">, </span><span class="hl-12">3</span><span class="hl-1">, </span><span class="hl-12">15</span><span class="hl-1">, </span><span class="hl-12">1</span><span class="hl-1">, </span><span class="hl-12">8</span><span class="hl-1">, </span><span class="hl-12">13</span><span class="hl-1">, </span><span class="hl-12">16</span><span class="hl-1">, </span><span class="hl-12">2</span><span class="hl-1">, </span><span class="hl-12">6</span><span class="hl-1">, </span><span class="hl-12">9</span><span class="hl-1">, </span><span class="hl-12">12</span><span class="hl-1">, </span><span class="hl-12">14</span><span class="hl-1">, </span><span class="hl-12">4</span><span class="hl-1">, </span><span class="hl-12">7</span><span class="hl-1">, </span><span class="hl-12">10</span><span class="hl-1">, </span><span class="hl-12">5</span><span class="hl-1">])</span><br/><span class="hl-10">avlTree</span><span class="hl-1">.</span><span class="hl-0">isAVLBalanced</span><span class="hl-1">(); </span><span class="hl-13">// true</span><br/><span class="hl-10">avlTree</span><span class="hl-1">.</span><span class="hl-0">remove</span><span class="hl-1">(</span><span class="hl-12">10</span><span class="hl-1">);</span><br/><span class="hl-10">avlTree</span><span class="hl-1">.</span><span class="hl-0">isAVLBalanced</span><span class="hl-1">(); </span><span class="hl-13">// true</span>
45
47
  </code><button>Copy</button></pre>
@@ -226,6 +228,191 @@ Floyd-Warshall Algorithm, Tarjan&#39;s Algorithm.</p>
226
228
  </tbody>
227
229
  </table>
228
230
 
231
+
232
+
233
+ <a id="md:standard-library-data-structure-comparison" class="tsd-anchor"></a><h3><a href="#md:standard-library-data-structure-comparison">Standard library data structure comparison</a></h3><table>
234
+ <thead>
235
+ <tr>
236
+ <th>Data Structure</th>
237
+ <th>C++ std</th>
238
+ <th>Data Structure Typed</th>
239
+ <th>java.util</th>
240
+ <th>Python collections</th>
241
+ </tr>
242
+ </thead>
243
+ <tbody>
244
+ <tr>
245
+ <td>Dynamic Array</td>
246
+ <td>std::vector&lt;T&gt;</td>
247
+ <td>Array&lt;E&gt;</td>
248
+ <td>ArrayList&lt;E&gt;</td>
249
+ <td>list</td>
250
+ </tr>
251
+ <tr>
252
+ <td>Linked List</td>
253
+ <td>std::list&lt;T&gt;</td>
254
+ <td>DoublyLinkedList&lt;E&gt;</td>
255
+ <td>LinkedList&lt;E&gt;</td>
256
+ <td>deque</td>
257
+ </tr>
258
+ <tr>
259
+ <td>Set</td>
260
+ <td>std::set&lt;T&gt;</td>
261
+ <td>Set</td>
262
+ <td>HashSet&lt;E&gt;</td>
263
+ <td>set</td>
264
+ </tr>
265
+ <tr>
266
+ <td>Map</td>
267
+ <td>std::map&lt;K, V&gt;</td>
268
+ <td>Map</td>
269
+ <td>HashMap&lt;K, V&gt;</td>
270
+ <td>dict</td>
271
+ </tr>
272
+ <tr>
273
+ <td>Unordered Map</td>
274
+ <td>std::unordered_map&lt;K, V&gt;</td>
275
+ <td>N/A</td>
276
+ <td>HashMap&lt;K, V&gt;</td>
277
+ <td>defaultdict</td>
278
+ </tr>
279
+ <tr>
280
+ <td>Unordered Set</td>
281
+ <td>std::unordered_set&lt;T&gt;</td>
282
+ <td>N/A</td>
283
+ <td>HashSet&lt;E&gt;</td>
284
+ <td>N/A</td>
285
+ </tr>
286
+ <tr>
287
+ <td>Queue</td>
288
+ <td>std::queue&lt;T&gt;</td>
289
+ <td>Queue</td>
290
+ <td>Queue&lt;E&gt;</td>
291
+ <td>N/A</td>
292
+ </tr>
293
+ <tr>
294
+ <td>Priority Queue</td>
295
+ <td>std::priority_queue&lt;T&gt;</td>
296
+ <td>PriorityQueue</td>
297
+ <td>PriorityQueue&lt;E&gt;</td>
298
+ <td>N/A</td>
299
+ </tr>
300
+ <tr>
301
+ <td>Stack</td>
302
+ <td>std::stack&lt;T&gt;</td>
303
+ <td>Stack</td>
304
+ <td>Stack&lt;E&gt;</td>
305
+ <td>N/A</td>
306
+ </tr>
307
+ <tr>
308
+ <td>Bitset</td>
309
+ <td>std::bitset&lt;N&gt;</td>
310
+ <td>N/A</td>
311
+ <td>N/A</td>
312
+ <td>N/A</td>
313
+ </tr>
314
+ <tr>
315
+ <td>Deque</td>
316
+ <td>std::deque&lt;T&gt;</td>
317
+ <td>Deque</td>
318
+ <td>N/A</td>
319
+ <td>N/A</td>
320
+ </tr>
321
+ <tr>
322
+ <td>Multiset</td>
323
+ <td>std::multiset&lt;T&gt;</td>
324
+ <td>N/A</td>
325
+ <td>N/A</td>
326
+ <td>N/A</td>
327
+ </tr>
328
+ <tr>
329
+ <td>Multimap</td>
330
+ <td>std::multimap&lt;K, V&gt;</td>
331
+ <td>N/A</td>
332
+ <td>N/A</td>
333
+ <td>N/A</td>
334
+ </tr>
335
+ <tr>
336
+ <td>Unordered Multiset</td>
337
+ <td>std::unordered_multiset</td>
338
+ <td>N/A</td>
339
+ <td>Counter</td>
340
+ <td>N/A</td>
341
+ </tr>
342
+ <tr>
343
+ <td>Ordered Dictionary</td>
344
+ <td>N/A</td>
345
+ <td>Map</td>
346
+ <td>N/A</td>
347
+ <td>OrderedDict</td>
348
+ </tr>
349
+ <tr>
350
+ <td>Double-Ended Queue (Deque)</td>
351
+ <td>std::deque&lt;T&gt;</td>
352
+ <td>Deque</td>
353
+ <td>N/A</td>
354
+ <td>N/A</td>
355
+ </tr>
356
+ <tr>
357
+ <td>Linked Hash Set</td>
358
+ <td>N/A</td>
359
+ <td>N/A</td>
360
+ <td>LinkedHashSet&lt;E&gt;</td>
361
+ <td>N/A</td>
362
+ </tr>
363
+ <tr>
364
+ <td>Linked Hash Map</td>
365
+ <td>N/A</td>
366
+ <td>N/A</td>
367
+ <td>LinkedHashMap&lt;K, V&gt;</td>
368
+ <td>N/A</td>
369
+ </tr>
370
+ <tr>
371
+ <td>Sorted Set</td>
372
+ <td>N/A</td>
373
+ <td>AVLTree, RBTree</td>
374
+ <td>TreeSet&lt;E&gt;</td>
375
+ <td>N/A</td>
376
+ </tr>
377
+ <tr>
378
+ <td>Sorted Map</td>
379
+ <td>N/A</td>
380
+ <td>AVLTree, RBTree</td>
381
+ <td>TreeMap&lt;K, V&gt;</td>
382
+ <td>N/A</td>
383
+ </tr>
384
+ <tr>
385
+ <td>Tree Set</td>
386
+ <td>std::set</td>
387
+ <td>AVLTree, RBTree</td>
388
+ <td>TreeSet&lt;E&gt;</td>
389
+ <td>N/A</td>
390
+ </tr>
391
+ <tr>
392
+ <td>Persistent Collections</td>
393
+ <td>N/A</td>
394
+ <td>N/A</td>
395
+ <td>N/A</td>
396
+ <td>N/A</td>
397
+ </tr>
398
+ <tr>
399
+ <td>unordered multiset</td>
400
+ <td>unordered multiset&lt;T&gt;</td>
401
+ <td>N/A</td>
402
+ <td>N/A</td>
403
+ <td>N/A</td>
404
+ </tr>
405
+ <tr>
406
+ <td>Unordered Multimap</td>
407
+ <td>std::unordered_multimap&lt;K, V&gt;</td>
408
+ <td>N/A</td>
409
+ <td>N/A</td>
410
+ <td>N/A</td>
411
+ </tr>
412
+ </tbody>
413
+ </table>
414
+
415
+
229
416
  <a id="md:code-design" class="tsd-anchor"></a><h2><a href="#md:code-design">Code design</a></h2><p>By strictly adhering to object-oriented design (BinaryTree -&gt; BST -&gt; AVLTree -&gt; TreeMultiset), you can seamlessly
230
417
  inherit the existing data structures to implement the customized ones you need. Object-oriented design stands as the
231
418
  optimal approach to data structure design.</p>
@@ -482,256 +669,6 @@ optimal approach to data structure design.</p>
482
669
  <td>k - length of longest key</td>
483
670
  </tr>
484
671
  </tbody>
485
- </table>
486
-
487
-
488
- <table>
489
- <tr>
490
- <th>Data Structure</th>
491
- <th>C++ STL</th>
492
- <th>java.util</th>
493
- <th>Python collections</th>
494
- </tr>
495
- <tr>
496
- <td>Dynamic Array (ArrayList)</td>
497
- <td>std::vector&lt;T&gt;</td>
498
- <td>ArrayList&lt;E&gt;</td>
499
- <td>list</td>
500
- </tr>
501
- <tr>
502
- <td>Linked List</td>
503
- <td>std::list&lt;T&gt;</td>
504
- <td>LinkedList&lt;E&gt;</td>
505
- <td>deque</td>
506
- </tr>
507
- <tr>
508
- <td>Set</td>
509
- <td>std::set&lt;T&gt;</td>
510
- <td>HashSet&lt;E&gt;</td>
511
- <td>set</td>
512
- </tr>
513
- <tr>
514
- <td>Map</td>
515
- <td>std::map&lt;K, V&gt;</td>
516
- <td>HashMap&lt;K, V&gt;</td>
517
- <td>dict</td>
518
- </tr>
519
- <tr>
520
- <td>Stack</td>
521
- <td>std::stack&lt;T&gt;</td>
522
- <td>Stack&lt;E&gt;</td>
523
- <td>N/A</td>
524
- </tr>
525
- <tr>
526
- <td>Queue</td>
527
- <td>std::queue&lt;T&gt;</td>
528
- <td>LinkedList&lt;E&gt;</td>
529
- <td>N/A</td>
530
- </tr>
531
- <tr>
532
- <td>Priority Queue</td>
533
- <td>std::priority_queue&lt;T&gt;</td>
534
- <td>PriorityQueue&lt;E&gt;</td>
535
- <td>N/A</td>
536
- </tr>
537
- <tr>
538
- <td>Hash Table</td>
539
- <td>N/A</td>
540
- <td>N/A</td>
541
- <td>defaultdict, Counter, etc.</td>
542
- </tr>
543
- <tr>
544
- <td>Deque</td>
545
- <td>std::deque&lt;T&gt;</td>
546
- <td>N/A</td>
547
- <td>N/A</td>
548
- </tr>
549
- <tr>
550
- <td>Multiset</td>
551
- <td>std::multiset&lt;T&gt;</td>
552
- <td>N/A</td>
553
- <td>N/A</td>
554
- </tr>
555
- <tr>
556
- <td>Multimap</td>
557
- <td>std::multimap&lt;K, V&gt;</td>
558
- <td>N/A</td>
559
- <td>N/A</td>
560
- </tr>
561
- <tr>
562
- <td>Unordered Set</td>
563
- <td>std::unordered_set&lt;T&gt;</td>
564
- <td>HashSet&lt;E&gt;</td>
565
- <td>N/A</td>
566
- </tr>
567
- <tr>
568
- <td>Unordered Map</td>
569
- <td>std::unordered_map&lt;K, V&gt;</td>
570
- <td>HashMap&lt;K, V&gt;</td>
571
- <td>N/A</td>
572
- </tr>
573
- <tr>
574
- <td>Bitset</td>
575
- <td>std::bitset&lt;N&gt;</td>
576
- <td>N/A</td>
577
- <td>N/A</td>
578
- </tr>
579
- <tr>
580
- <td>Ordered Dictionary (OrderedDict)</td>
581
- <td>N/A</td>
582
- <td>N/A</td>
583
- <td>OrderedDict</td>
584
- </tr>
585
- <tr>
586
- <td>User-Defined Dictionary</td>
587
- <td>N/A</td>
588
- <td>N/A</td>
589
- <td>UserDict</td>
590
- </tr>
591
- <tr>
592
- <td>User-Defined List</td>
593
- <td>N/A</td>
594
- <td>N/A</td>
595
- <td>UserList</td>
596
- </tr>
597
- <tr>
598
- <td>User-Defined Set</td>
599
- <td>N/A</td>
600
- <td>N/A</td>
601
- <td>UserSet</td>
602
- </tr>
603
- <tr>
604
- <td>Double-Ended Queue (Deque)</td>
605
- <td>std::deque&lt;T&gt;</td>
606
- <td>N/A</td>
607
- <td>N/A</td>
608
- </tr>
609
- <tr>
610
- <td>Skip List</td>
611
- <td>N/A</td>
612
- <td>N/A</td>
613
- <td>N/A</td>
614
- </tr>
615
- <tr>
616
- <td>Circular Queue</td>
617
- <td>N/A</td>
618
- <td>N/A</td>
619
- <td>N/A</td>
620
- </tr>
621
- <tr>
622
- <td>Bit Array</td>
623
- <td>N/A</td>
624
- <td>N/A</td>
625
- <td>N/A</td>
626
- </tr>
627
- <tr>
628
- <td>Bloom Filter</td>
629
- <td>N/A</td>
630
- <td>N/A</td>
631
- <td>N/A</td>
632
- </tr>
633
- <tr>
634
- <td>Linked Hash Set</td>
635
- <td>N/A</td>
636
- <td>LinkedHashSet&lt;E&gt;</td>
637
- <td>N/A</td>
638
- </tr>
639
- <tr>
640
- <td>Linked Hash Map</td>
641
- <td>N/A</td>
642
- <td>LinkedHashMap&lt;K, V&gt;</td>
643
- <td>N/A</td>
644
- </tr>
645
- <tr>
646
- <td>Sorted Set</td>
647
- <td>N/A</td>
648
- <td>TreeSet&lt;E&gt;</td>
649
- <td>N/A</td>
650
- </tr>
651
- <tr>
652
- <td>Sorted Map</td>
653
- <td>N/A</td>
654
- <td>TreeMap&lt;K, V&gt;</td>
655
- <td>N/A</td>
656
- </tr>
657
- <tr>
658
- <td>Tree Set</td>
659
- <td>N/A</td>
660
- <td>N/A</td>
661
- <td>N/A</td>
662
- </tr>
663
- <tr>
664
- <td>Tree Map</td>
665
- <td>N/A</td>
666
- <td>N/A</td>
667
- <td>N/A</td>
668
- </tr>
669
- <tr>
670
- <td>Persistent Collections</td>
671
- <td>N/A</td>
672
- <td>N/A</td>
673
- <td>N/A</td>
674
- </tr>
675
- <tr>
676
- <td>std::unordered_multiset</td>
677
- <td>std::unordered_multiset&lt;T&gt;</td>
678
- <td>N/A</td>
679
- <td>N/A</td>
680
- </tr>
681
- <tr>
682
- <td>std::unordered_multimap</td>
683
- <td>std::unordered_multimap&lt;K, V&gt;</td>
684
- <td>N/A</td>
685
- <td>N/A</td>
686
- </tr>
687
- <tr>
688
- <td>N/A</td>
689
- <td>TreeSet&lt;E&gt;</td>
690
- <td>TreeSet&lt;E&gt;</td>
691
- <td>N/A</td>
692
- </tr>
693
- <tr>
694
- <td>N/A</td>
695
- <td>TreeMap&lt;K, V&gt;</td>
696
- <td>TreeMap&lt;K, V&gt;</td>
697
- <td>N/A</td>
698
- </tr>
699
- <tr>
700
- <td>N/A</td>
701
- <td>LinkedBlockingQueue&lt;E&gt;</td>
702
- <td>N/A</td>
703
- <td>N/A</td>
704
- </tr>
705
- <tr>
706
- <td>N/A</td>
707
- <td>ConcurrentHashMap&lt;K, V&gt;</td>
708
- <td>N/A</td>
709
- <td>N/A</td>
710
- </tr>
711
- <tr>
712
- <td>N/A</td>
713
- <td>N/A</td>
714
- <td>namedtuple</td>
715
- <td>N/A</td>
716
- </tr>
717
- <tr>
718
- <td>N/A</td>
719
- <td>N/A</td>
720
- <td>ChainMap</td>
721
- <td>N/A</td>
722
- </tr>
723
- <tr>
724
- <td>N/A</td>
725
- <td>N/A</td>
726
- <td>defaultdict</td>
727
- <td>N/A</td>
728
- </tr>
729
- <tr>
730
- <td>N/A</td>
731
- <td>N/A</td>
732
- <td>Counter</td>
733
- <td>N/A</td>
734
- </tr>
735
672
  </table></div></div>
736
673
  <div class="col-sidebar">
737
674
  <div class="page-menu">
@@ -757,7 +694,6 @@ optimal approach to data structure design.</p>
757
694
  <li><a href="#md:data-structure-typed"><span>Data <wbr/>Structure <wbr/>Typed</span></a></li>
758
695
  <li>
759
696
  <ul>
760
- <li><a href="#md:brief"><span>Brief</span></a></li>
761
697
  <li><a href="#md:built-in-classic-algorithms"><span>Built-<wbr/>in classic algorithms</span></a></li>
762
698
  <li><a href="#md:installation-and-usage"><span>Installation and <wbr/>Usage</span></a></li>
763
699
  <li>
@@ -788,6 +724,9 @@ optimal approach to data structure design.</p>
788
724
  <ul>
789
725
  <li><a href="#md:ts-or-js-1"><span>TS or JS</span></a></li></ul></li></ul></li>
790
726
  <li><a href="#md:data-structures"><span>Data <wbr/>Structures</span></a></li>
727
+ <li>
728
+ <ul>
729
+ <li><a href="#md:standard-library-data-structure-comparison"><span>Standard library data structure comparison</span></a></li></ul></li>
791
730
  <li><a href="#md:code-design"><span>Code design</span></a></li>
792
731
  <li><a href="#md:complexities"><span>Complexities</span></a></li>
793
732
  <li>
@@ -827,6 +766,7 @@ optimal approach to data structure design.</p>
827
766
  <li><a href="classes/DirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Directed<wbr/>Vertex</span></a></li>
828
767
  <li><a href="classes/DoublyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Doubly<wbr/>Linked<wbr/>List</span></a></li>
829
768
  <li><a href="classes/DoublyLinkedListNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Doubly<wbr/>Linked<wbr/>List<wbr/>Node</span></a></li>
769
+ <li><a href="classes/HashNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Hash<wbr/>Node</span></a></li>
830
770
  <li><a href="classes/HashTable.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Hash<wbr/>Table</span></a></li>
831
771
  <li><a href="classes/Heap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Heap</span></a></li>
832
772
  <li><a href="classes/HeapItem.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Heap<wbr/>Item</span></a></li>