data-structure-typed 1.18.0 → 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 (290) hide show
  1. package/README.md +193 -66
  2. package/backup/recursive-type/src/assets/complexities-diff.jpg +0 -0
  3. package/backup/recursive-type/src/assets/data-structure-complexities.jpg +0 -0
  4. package/backup/recursive-type/src/assets/logo.png +0 -0
  5. package/backup/recursive-type/src/assets/overview-diagram-of-data-structures.png +0 -0
  6. package/backup/recursive-type/src/data-structures/binary-tree/aa-tree.ts +3 -0
  7. package/backup/recursive-type/src/data-structures/binary-tree/avl-tree.ts +288 -0
  8. package/backup/recursive-type/src/data-structures/binary-tree/b-tree.ts +3 -0
  9. package/backup/recursive-type/src/data-structures/binary-tree/binary-indexed-tree.ts +78 -0
  10. package/backup/recursive-type/src/data-structures/binary-tree/binary-tree.ts +1502 -0
  11. package/backup/recursive-type/src/data-structures/binary-tree/bst.ts +503 -0
  12. package/backup/recursive-type/src/data-structures/binary-tree/diagrams/avl-tree-inserting.gif +0 -0
  13. package/backup/recursive-type/src/data-structures/binary-tree/diagrams/bst-rotation.gif +0 -0
  14. package/backup/recursive-type/src/data-structures/binary-tree/diagrams/segment-tree.png +0 -0
  15. package/backup/recursive-type/src/data-structures/binary-tree/index.ts +11 -0
  16. package/backup/recursive-type/src/data-structures/binary-tree/rb-tree.ts +110 -0
  17. package/backup/recursive-type/src/data-structures/binary-tree/segment-tree.ts +243 -0
  18. package/backup/recursive-type/src/data-structures/binary-tree/splay-tree.ts +3 -0
  19. package/backup/recursive-type/src/data-structures/binary-tree/tree-multiset.ts +55 -0
  20. package/backup/recursive-type/src/data-structures/binary-tree/two-three-tree.ts +3 -0
  21. package/backup/recursive-type/src/data-structures/diagrams/README.md +5 -0
  22. package/backup/recursive-type/src/data-structures/graph/abstract-graph.ts +985 -0
  23. package/backup/recursive-type/src/data-structures/graph/diagrams/adjacency-list-pros-cons.jpg +0 -0
  24. package/backup/recursive-type/src/data-structures/graph/diagrams/adjacency-list.jpg +0 -0
  25. package/backup/recursive-type/src/data-structures/graph/diagrams/adjacency-matrix-pros-cons.jpg +0 -0
  26. package/backup/recursive-type/src/data-structures/graph/diagrams/adjacency-matrix.jpg +0 -0
  27. package/backup/recursive-type/src/data-structures/graph/diagrams/dfs-can-do.jpg +0 -0
  28. package/backup/recursive-type/src/data-structures/graph/diagrams/edge-list-pros-cons.jpg +0 -0
  29. package/backup/recursive-type/src/data-structures/graph/diagrams/edge-list.jpg +0 -0
  30. package/backup/recursive-type/src/data-structures/graph/diagrams/max-flow.jpg +0 -0
  31. package/backup/recursive-type/src/data-structures/graph/diagrams/mst.jpg +0 -0
  32. package/backup/recursive-type/src/data-structures/graph/diagrams/tarjan-articulation-point-bridge.png +0 -0
  33. package/backup/recursive-type/src/data-structures/graph/diagrams/tarjan-complicate-simple.png +0 -0
  34. package/backup/recursive-type/src/data-structures/graph/diagrams/tarjan-strongly-connected-component.png +0 -0
  35. package/backup/recursive-type/src/data-structures/graph/diagrams/tarjan.mp4 +0 -0
  36. package/backup/recursive-type/src/data-structures/graph/diagrams/tarjan.webp +0 -0
  37. package/backup/recursive-type/src/data-structures/graph/directed-graph.ts +478 -0
  38. package/backup/recursive-type/src/data-structures/graph/index.ts +3 -0
  39. package/backup/recursive-type/src/data-structures/graph/undirected-graph.ts +293 -0
  40. package/backup/recursive-type/src/data-structures/hash/coordinate-map.ts +67 -0
  41. package/backup/recursive-type/src/data-structures/hash/coordinate-set.ts +56 -0
  42. package/backup/recursive-type/src/data-structures/hash/hash-table.ts +3 -0
  43. package/backup/recursive-type/src/data-structures/hash/index.ts +6 -0
  44. package/backup/recursive-type/src/data-structures/hash/pair.ts +3 -0
  45. package/backup/recursive-type/src/data-structures/hash/tree-map.ts +3 -0
  46. package/backup/recursive-type/src/data-structures/hash/tree-set.ts +3 -0
  47. package/backup/recursive-type/src/data-structures/heap/heap.ts +176 -0
  48. package/backup/recursive-type/src/data-structures/heap/index.ts +3 -0
  49. package/backup/recursive-type/src/data-structures/heap/max-heap.ts +31 -0
  50. package/backup/recursive-type/src/data-structures/heap/min-heap.ts +34 -0
  51. package/backup/recursive-type/src/data-structures/index.ts +15 -0
  52. package/backup/recursive-type/src/data-structures/interfaces/abstract-graph.ts +42 -0
  53. package/backup/recursive-type/src/data-structures/interfaces/avl-tree.ts +1 -0
  54. package/backup/recursive-type/src/data-structures/interfaces/binary-tree.ts +56 -0
  55. package/backup/recursive-type/src/data-structures/interfaces/bst.ts +1 -0
  56. package/backup/recursive-type/src/data-structures/interfaces/directed-graph.ts +15 -0
  57. package/backup/recursive-type/src/data-structures/interfaces/doubly-linked-list.ts +1 -0
  58. package/backup/recursive-type/src/data-structures/interfaces/heap.ts +1 -0
  59. package/backup/recursive-type/src/data-structures/interfaces/index.ts +13 -0
  60. package/backup/recursive-type/src/data-structures/interfaces/navigator.ts +1 -0
  61. package/backup/recursive-type/src/data-structures/interfaces/priority-queue.ts +1 -0
  62. package/backup/recursive-type/src/data-structures/interfaces/segment-tree.ts +1 -0
  63. package/backup/recursive-type/src/data-structures/interfaces/singly-linked-list.ts +1 -0
  64. package/backup/recursive-type/src/data-structures/interfaces/tree-multiset.ts +1 -0
  65. package/backup/recursive-type/src/data-structures/interfaces/undirected-graph.ts +3 -0
  66. package/backup/recursive-type/src/data-structures/linked-list/doubly-linked-list.ts +573 -0
  67. package/backup/recursive-type/src/data-structures/linked-list/index.ts +3 -0
  68. package/backup/recursive-type/src/data-structures/linked-list/singly-linked-list.ts +490 -0
  69. package/backup/recursive-type/src/data-structures/linked-list/skip-linked-list.ts +3 -0
  70. package/backup/recursive-type/src/data-structures/matrix/index.ts +4 -0
  71. package/backup/recursive-type/src/data-structures/matrix/matrix.ts +27 -0
  72. package/backup/recursive-type/src/data-structures/matrix/matrix2d.ts +208 -0
  73. package/backup/recursive-type/src/data-structures/matrix/navigator.ts +122 -0
  74. package/backup/recursive-type/src/data-structures/matrix/vector2d.ts +316 -0
  75. package/backup/recursive-type/src/data-structures/priority-queue/index.ts +3 -0
  76. package/backup/recursive-type/src/data-structures/priority-queue/max-priority-queue.ts +49 -0
  77. package/backup/recursive-type/src/data-structures/priority-queue/min-priority-queue.ts +50 -0
  78. package/backup/recursive-type/src/data-structures/priority-queue/priority-queue.ts +354 -0
  79. package/backup/recursive-type/src/data-structures/queue/deque.ts +251 -0
  80. package/backup/recursive-type/src/data-structures/queue/index.ts +2 -0
  81. package/backup/recursive-type/src/data-structures/queue/queue.ts +120 -0
  82. package/backup/recursive-type/src/data-structures/stack/index.ts +1 -0
  83. package/backup/recursive-type/src/data-structures/stack/stack.ts +98 -0
  84. package/backup/recursive-type/src/data-structures/tree/index.ts +1 -0
  85. package/backup/recursive-type/src/data-structures/tree/tree.ts +80 -0
  86. package/backup/recursive-type/src/data-structures/trie/index.ts +1 -0
  87. package/backup/recursive-type/src/data-structures/trie/trie.ts +227 -0
  88. package/backup/recursive-type/src/data-structures/types/abstract-graph.ts +5 -0
  89. package/backup/recursive-type/src/data-structures/types/avl-tree.ts +8 -0
  90. package/backup/recursive-type/src/data-structures/types/binary-tree.ts +10 -0
  91. package/backup/recursive-type/src/data-structures/types/bst.ts +6 -0
  92. package/backup/recursive-type/src/data-structures/types/directed-graph.ts +8 -0
  93. package/backup/recursive-type/src/data-structures/types/doubly-linked-list.ts +1 -0
  94. package/backup/recursive-type/src/data-structures/types/heap.ts +5 -0
  95. package/backup/recursive-type/src/data-structures/types/index.ts +12 -0
  96. package/backup/recursive-type/src/data-structures/types/navigator.ts +13 -0
  97. package/backup/recursive-type/src/data-structures/types/priority-queue.ts +9 -0
  98. package/backup/recursive-type/src/data-structures/types/segment-tree.ts +1 -0
  99. package/backup/recursive-type/src/data-structures/types/singly-linked-list.ts +1 -0
  100. package/backup/recursive-type/src/data-structures/types/tree-multiset.ts +1 -0
  101. package/backup/recursive-type/src/index.ts +1 -0
  102. package/backup/recursive-type/src/utils/index.ts +2 -0
  103. package/backup/recursive-type/src/utils/types/index.ts +1 -0
  104. package/backup/recursive-type/src/utils/types/utils.ts +6 -0
  105. package/backup/recursive-type/src/utils/utils.ts +78 -0
  106. package/dist/data-structures/binary-tree/abstract-binary-tree.d.ts +333 -0
  107. package/dist/data-structures/binary-tree/abstract-binary-tree.js +1455 -0
  108. package/dist/data-structures/binary-tree/avl-tree.d.ts +20 -25
  109. package/dist/data-structures/binary-tree/avl-tree.js +10 -18
  110. package/dist/data-structures/binary-tree/binary-tree.d.ts +18 -345
  111. package/dist/data-structures/binary-tree/binary-tree.js +39 -1444
  112. package/dist/data-structures/binary-tree/bst.d.ts +24 -31
  113. package/dist/data-structures/binary-tree/bst.js +46 -53
  114. package/dist/data-structures/binary-tree/index.d.ts +1 -0
  115. package/dist/data-structures/binary-tree/index.js +1 -0
  116. package/dist/data-structures/binary-tree/rb-tree.d.ts +1 -2
  117. package/dist/data-structures/binary-tree/rb-tree.js +64 -5
  118. package/dist/data-structures/binary-tree/tree-multiset.d.ts +11 -25
  119. package/dist/data-structures/binary-tree/tree-multiset.js +29 -31
  120. package/dist/data-structures/graph/abstract-graph.d.ts +56 -58
  121. package/dist/data-structures/graph/abstract-graph.js +84 -68
  122. package/dist/data-structures/graph/directed-graph.d.ts +124 -95
  123. package/dist/data-structures/graph/directed-graph.js +156 -108
  124. package/dist/data-structures/graph/undirected-graph.d.ts +83 -58
  125. package/dist/data-structures/graph/undirected-graph.js +98 -71
  126. package/dist/data-structures/hash/coordinate-set.d.ts +1 -1
  127. package/dist/data-structures/index.d.ts +1 -0
  128. package/dist/data-structures/index.js +1 -0
  129. package/dist/data-structures/interfaces/abstract-graph.d.ts +22 -0
  130. package/dist/data-structures/interfaces/abstract-graph.js +2 -0
  131. package/dist/data-structures/interfaces/avl-tree.d.ts +1 -0
  132. package/dist/data-structures/interfaces/avl-tree.js +2 -0
  133. package/dist/data-structures/interfaces/binary-tree.d.ts +26 -0
  134. package/dist/data-structures/interfaces/binary-tree.js +2 -0
  135. package/dist/data-structures/interfaces/bst.d.ts +1 -0
  136. package/dist/data-structures/interfaces/bst.js +2 -0
  137. package/dist/data-structures/interfaces/directed-graph.d.ts +9 -0
  138. package/dist/data-structures/interfaces/directed-graph.js +2 -0
  139. package/dist/data-structures/interfaces/doubly-linked-list.d.ts +1 -0
  140. package/dist/data-structures/interfaces/doubly-linked-list.js +2 -0
  141. package/dist/data-structures/interfaces/heap.d.ts +1 -0
  142. package/dist/data-structures/interfaces/heap.js +2 -0
  143. package/dist/data-structures/interfaces/index.d.ts +13 -0
  144. package/dist/data-structures/interfaces/index.js +29 -0
  145. package/dist/data-structures/interfaces/navigator.d.ts +1 -0
  146. package/dist/data-structures/interfaces/navigator.js +2 -0
  147. package/dist/data-structures/interfaces/priority-queue.d.ts +1 -0
  148. package/dist/data-structures/interfaces/priority-queue.js +2 -0
  149. package/dist/data-structures/interfaces/segment-tree.d.ts +1 -0
  150. package/dist/data-structures/interfaces/segment-tree.js +2 -0
  151. package/dist/data-structures/interfaces/singly-linked-list.d.ts +1 -0
  152. package/dist/data-structures/interfaces/singly-linked-list.js +2 -0
  153. package/dist/data-structures/interfaces/tree-multiset.d.ts +1 -0
  154. package/dist/data-structures/interfaces/tree-multiset.js +2 -0
  155. package/dist/data-structures/interfaces/undirected-graph.d.ts +2 -0
  156. package/dist/data-structures/interfaces/undirected-graph.js +2 -0
  157. package/dist/data-structures/linked-list/doubly-linked-list.d.ts +1 -1
  158. package/dist/data-structures/linked-list/singly-linked-list.d.ts +1 -1
  159. package/dist/data-structures/priority-queue/priority-queue.d.ts +1 -1
  160. package/dist/data-structures/priority-queue/priority-queue.js +4 -4
  161. package/dist/data-structures/queue/deque.d.ts +5 -5
  162. package/dist/data-structures/queue/deque.js +6 -6
  163. package/dist/data-structures/queue/queue.d.ts +1 -1
  164. package/dist/data-structures/stack/stack.d.ts +1 -1
  165. package/dist/data-structures/types/abstract-binary-tree.d.ts +32 -0
  166. package/dist/data-structures/types/abstract-binary-tree.js +21 -0
  167. package/dist/data-structures/types/abstract-graph.d.ts +1 -20
  168. package/dist/data-structures/types/avl-tree.d.ts +3 -4
  169. package/dist/data-structures/types/binary-tree.d.ts +3 -10
  170. package/dist/data-structures/types/bst.d.ts +10 -4
  171. package/dist/data-structures/types/bst.js +7 -0
  172. package/dist/data-structures/types/directed-graph.d.ts +5 -9
  173. package/dist/data-structures/types/directed-graph.js +7 -0
  174. package/dist/data-structures/types/heap.d.ts +2 -2
  175. package/dist/data-structures/types/helpers.d.ts +8 -0
  176. package/dist/data-structures/types/helpers.js +2 -0
  177. package/dist/data-structures/types/index.d.ts +3 -1
  178. package/dist/data-structures/types/index.js +3 -1
  179. package/dist/data-structures/types/navigator.d.ts +2 -2
  180. package/dist/data-structures/types/priority-queue.d.ts +2 -2
  181. package/dist/data-structures/types/rb-tree.d.ts +6 -0
  182. package/dist/data-structures/types/rb-tree.js +8 -0
  183. package/dist/data-structures/types/tree-multiset.d.ts +5 -4
  184. package/docs/assets/search.js +1 -1
  185. package/docs/classes/AVLTree.html +310 -309
  186. package/docs/classes/AVLTreeNode.html +122 -68
  187. package/docs/classes/AaTree.html +30 -17
  188. package/docs/classes/AbstractBinaryTree.html +2023 -0
  189. package/docs/classes/AbstractBinaryTreeNode.html +491 -0
  190. package/docs/classes/AbstractEdge.html +84 -39
  191. package/docs/classes/AbstractGraph.html +235 -119
  192. package/docs/classes/AbstractVertex.html +87 -35
  193. package/docs/classes/ArrayDeque.html +43 -30
  194. package/docs/classes/BST.html +297 -285
  195. package/docs/classes/BSTNode.html +123 -62
  196. package/docs/classes/BTree.html +30 -17
  197. package/docs/classes/BinaryIndexedTree.html +38 -25
  198. package/docs/classes/BinaryTree.html +596 -589
  199. package/docs/classes/BinaryTreeNode.html +181 -161
  200. package/docs/classes/Character.html +33 -20
  201. package/docs/classes/CoordinateMap.html +38 -25
  202. package/docs/classes/CoordinateSet.html +39 -26
  203. package/docs/classes/Deque.html +63 -50
  204. package/docs/classes/DirectedEdge.html +90 -46
  205. package/docs/classes/DirectedGraph.html +374 -212
  206. package/docs/classes/DirectedVertex.html +79 -41
  207. package/docs/classes/DoublyLinkedList.html +68 -55
  208. package/docs/classes/DoublyLinkedListNode.html +40 -27
  209. package/docs/classes/HashTable.html +30 -17
  210. package/docs/classes/Heap.html +45 -32
  211. package/docs/classes/HeapItem.html +37 -24
  212. package/docs/classes/Matrix2D.html +45 -32
  213. package/docs/classes/MatrixNTI2D.html +33 -20
  214. package/docs/classes/MaxHeap.html +45 -32
  215. package/docs/classes/MaxPriorityQueue.html +83 -65
  216. package/docs/classes/MinHeap.html +45 -32
  217. package/docs/classes/MinPriorityQueue.html +83 -65
  218. package/docs/classes/Navigator.html +40 -27
  219. package/docs/classes/ObjectDeque.html +78 -55
  220. package/docs/classes/Pair.html +30 -17
  221. package/docs/classes/PriorityQueue.html +78 -60
  222. package/docs/classes/Queue.html +45 -32
  223. package/docs/classes/SegmentTree.html +46 -33
  224. package/docs/classes/SegmentTreeNode.html +49 -36
  225. package/docs/classes/SinglyLinkedList.html +65 -52
  226. package/docs/classes/SinglyLinkedListNode.html +37 -24
  227. package/docs/classes/SkipLinkedList.html +30 -17
  228. package/docs/classes/SplayTree.html +30 -17
  229. package/docs/classes/Stack.html +43 -30
  230. package/docs/classes/TreeMap.html +30 -17
  231. package/docs/classes/TreeMultiSet.html +330 -316
  232. package/docs/classes/TreeMultiSetNode.html +450 -0
  233. package/docs/classes/TreeNode.html +45 -32
  234. package/docs/classes/TreeSet.html +30 -17
  235. package/docs/classes/Trie.html +42 -29
  236. package/docs/classes/TrieNode.html +40 -27
  237. package/docs/classes/TwoThreeTree.html +30 -17
  238. package/docs/classes/UndirectedEdge.html +86 -56
  239. package/docs/classes/UndirectedGraph.html +286 -165
  240. package/docs/classes/UndirectedVertex.html +79 -41
  241. package/docs/classes/Vector2D.html +57 -44
  242. package/docs/enums/CP.html +36 -23
  243. package/docs/enums/FamilyPosition.html +48 -35
  244. package/docs/enums/LoopType.html +42 -29
  245. package/docs/{interfaces/PriorityQueueOptions.html → enums/RBColor.html} +52 -55
  246. package/docs/{interfaces/AVLTreeDeleted.html → enums/TopologicalProperty.html} +59 -48
  247. package/docs/index.html +211 -73
  248. package/docs/interfaces/{NavigatorParams.html → IBinaryTree.html} +56 -67
  249. package/docs/interfaces/IBinaryTreeNode.html +396 -0
  250. package/docs/interfaces/IDirectedGraph.html +36 -23
  251. package/docs/interfaces/IGraph.html +134 -93
  252. package/docs/interfaces/{HeapOptions.html → IUNDirectedGraph.html} +38 -57
  253. package/docs/modules.html +57 -31
  254. package/docs/types/{ToThunkFn.html → AVLTreeOptions.html} +35 -27
  255. package/docs/types/AbstractBinaryTreeOptions.html +150 -0
  256. package/docs/types/AbstractRecursiveBinaryTreeNode.html +146 -0
  257. package/docs/types/{ResultsByProperty.html → AbstractResultByProperty.html} +35 -22
  258. package/docs/types/{TreeMultiSetDeletedResult.html → AbstractResultsByProperty.html} +35 -29
  259. package/docs/types/BSTComparator.html +30 -17
  260. package/docs/types/{TrlAsyncFn.html → BSTOptions.html} +36 -31
  261. package/docs/types/BinaryTreeDeletedResult.html +153 -0
  262. package/docs/types/BinaryTreeNodeId.html +30 -17
  263. package/docs/types/BinaryTreeNodePropertyName.html +30 -17
  264. package/docs/types/{BinaryTreeDeleted.html → BinaryTreeOptions.html} +35 -31
  265. package/docs/types/DFSOrderPattern.html +30 -17
  266. package/docs/types/DijkstraResult.html +30 -17
  267. package/docs/types/Direction.html +30 -17
  268. package/docs/types/{SpecifyOptional.html → EdgeId.html} +34 -28
  269. package/docs/types/{TrlFn.html → HeapOptions.html} +45 -24
  270. package/docs/types/IdObject.html +151 -0
  271. package/docs/types/{BSTDeletedResult.html → KeyValObject.html} +36 -30
  272. package/docs/types/NavigatorParams.html +175 -0
  273. package/docs/types/NodeOrPropertyName.html +30 -17
  274. package/docs/types/PriorityQueueComparator.html +30 -17
  275. package/docs/types/PriorityQueueDFSOrderPattern.html +30 -17
  276. package/docs/types/PriorityQueueOptions.html +155 -0
  277. package/docs/types/{Thunk.html → RBTreeOptions.html} +35 -27
  278. package/docs/types/RecursiveAVLTreeNode.html +146 -0
  279. package/docs/types/RecursiveBSTNode.html +146 -0
  280. package/docs/types/RecursiveBinaryTreeNode.html +146 -0
  281. package/docs/types/RecursiveTreeMultiSetNode.html +146 -0
  282. package/docs/types/SegmentTreeNodeVal.html +30 -17
  283. package/docs/types/TopologicalStatus.html +30 -17
  284. package/docs/types/TreeMultiSetOptions.html +146 -0
  285. package/docs/types/Turning.html +30 -17
  286. package/docs/types/VertexId.html +30 -17
  287. package/notes/note.md +8 -1
  288. package/package.json +10 -2
  289. package/docs/classes/RBTree.html +0 -153
  290. package/docs/types/ResultByProperty.html +0 -133
package/docs/index.html CHANGED
@@ -15,9 +15,185 @@
15
15
  <div class="tsd-panel tsd-typography"><a id="md:what" class="tsd-anchor"></a><h1><a href="#md:what">What</a></h1><a id="md:brief" class="tsd-anchor"></a><h2><a href="#md:brief">Brief</a></h2><p>Javascript &amp; TypeScript Data Structure Library. </p>
16
16
  <p>Meticulously crafted to empower developers with a versatile set of essential data structures. Our library includes a
17
17
  wide range of data structures</p>
18
- <a id="md:data-structures" class="tsd-anchor"></a><h2><a href="#md:data-structures">Data Structures</a></h2><p>Binary Tree, Binary Search Tree (BST), AVL Tree, Tree Multiset, Segment Tree, Binary Indexed Tree, Graph, Directed
19
- Graph, Undirected Graph, Linked List, Singly Linked List, Doubly Linked List, Queue, Object Deque, Array Deque, Stack,
20
- Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue, Min Priority Queue, Trie</p>
18
+ <a id="md:data-structures" class="tsd-anchor"></a><h2><a href="#md:data-structures">Data Structures</a></h2><table>
19
+ <thead>
20
+ <tr>
21
+ <th>Data Structure</th>
22
+ <th>Unit Test</th>
23
+ <th>Performance Test</th>
24
+ <th>API Documentation</th>
25
+ <th>Implemented</th>
26
+ </tr>
27
+ </thead>
28
+ <tbody>
29
+ <tr>
30
+ <td>Binary Tree</td>
31
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt="">
32
+ </img></td>
33
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt="">
34
+ </img></td>
35
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryTree.html"><span>Binary Tree</span></a></td>
36
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
37
+ </tr>
38
+ <tr>
39
+ <td>Binary Search Tree (BST)</td>
40
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
41
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
42
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/BST.html"><span>BST</span></a></td>
43
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
44
+ </tr>
45
+ <tr>
46
+ <td>AVL Tree</td>
47
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
48
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
49
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/AVLTree.html"><span>AVLTree</span></a></td>
50
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
51
+ </tr>
52
+ <tr>
53
+ <td>Tree Multiset</td>
54
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
55
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
56
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/TreeMultiSet.html"><span>TreeMultiSet</span></a></td>
57
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
58
+ </tr>
59
+ <tr>
60
+ <td>Segment Tree</td>
61
+ <td></td>
62
+ <td></td>
63
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/SegmentTree.html"><span>SegmentTree</span></a></td>
64
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
65
+ </tr>
66
+ <tr>
67
+ <td>Binary Indexed Tree</td>
68
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
69
+ <td></td>
70
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryIndexedTree.html"><span>BinaryIndexedTree</span></a></td>
71
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
72
+ </tr>
73
+ <tr>
74
+ <td>Graph</td>
75
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
76
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
77
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/AbstractGraph.html"><span>AbstractGraph</span></a></td>
78
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
79
+ </tr>
80
+ <tr>
81
+ <td>Directed Graph</td>
82
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
83
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
84
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/DirectedGraph.html"><span>DirectedGraph</span></a></td>
85
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
86
+ </tr>
87
+ <tr>
88
+ <td>Undirected Graph</td>
89
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
90
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
91
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/UndirectedGraph.html"><span>UndirectedGraph</span></a></td>
92
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
93
+ </tr>
94
+ <tr>
95
+ <td>Linked List</td>
96
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
97
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
98
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>SinglyLinkedList</span></a></td>
99
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
100
+ </tr>
101
+ <tr>
102
+ <td>Singly Linked List</td>
103
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
104
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
105
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>SinglyLinkedList</span></a></td>
106
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
107
+ </tr>
108
+ <tr>
109
+ <td>Doubly Linked List</td>
110
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
111
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
112
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/DoublyLinkedList.html"><span>DoublyLinkedList</span></a></td>
113
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
114
+ </tr>
115
+ <tr>
116
+ <td>Queue</td>
117
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
118
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
119
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Queue.html"><span>Queue</span></a></td>
120
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
121
+ </tr>
122
+ <tr>
123
+ <td>Object Deque</td>
124
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
125
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
126
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/ObjectDeque.html"><span>ObjectDeque</span></a></td>
127
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
128
+ </tr>
129
+ <tr>
130
+ <td>Array Deque</td>
131
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
132
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
133
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/ArrayDeque.html"><span>ArrayDeque</span></a></td>
134
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
135
+ </tr>
136
+ <tr>
137
+ <td>Stack</td>
138
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
139
+ <td></td>
140
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Stack.html"><span>Stack</span></a></td>
141
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
142
+ </tr>
143
+
144
+ <tr>
145
+ <td>Coordinate Set</td>
146
+ <td></td>
147
+ <td></td>
148
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/CoordinateSet.html"><span>CoordinateSet</span></a></td>
149
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
150
+ </tr>
151
+ <tr>
152
+ <td>Coordinate Map</td>
153
+ <td></td>
154
+ <td></td>
155
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/CoordinateMap.html"><span>CoordinateMap</span></a></td>
156
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
157
+ </tr>
158
+ <tr>
159
+ <td>Heap</td>
160
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
161
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
162
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Heap.html"><span>Heap</span></a></td>
163
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
164
+ </tr>
165
+ <tr>
166
+ <td>Priority Queue</td>
167
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
168
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
169
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/PriorityQueue.html"><span>PriorityQueue</span></a></td>
170
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
171
+ </tr>
172
+ <tr>
173
+ <td>Max Priority Queue</td>
174
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
175
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
176
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/MaxPriorityQueue.html"><span>MaxPriorityQueue</span></a></td>
177
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
178
+ </tr>
179
+ <tr>
180
+ <td>Min Priority Queue</td>
181
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
182
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
183
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/MinPriorityQueue.html"><span>MinPriorityQueue</span></a></td>
184
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
185
+ </tr>
186
+ <tr>
187
+ <td>Trie</td>
188
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
189
+ <td></td>
190
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Trie.html"><span>Trie</span></a></td>
191
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
192
+ </tr>
193
+ </tbody>
194
+ </table>
195
+
196
+ <a id="md:algorithms-list-only-a-few-out-you-can-discover-more-in-api-docs" class="tsd-anchor"></a><h2><a href="#md:algorithms-list-only-a-few-out-you-can-discover-more-in-api-docs">Algorithms list only a few out, you can discover more in API docs</a></h2><p>DFS, DFSIterative, BFS, morris, Bellman-Ford Algorithm, Dijkstra&#39;s Algorithm, Floyd-Warshall Algorithm, Tarjan&#39;s Algorithm</p>
21
197
  <a id="md:how" class="tsd-anchor"></a><h1><a href="#md:how">How</a></h1><p><a href="https://data-structure-typed-docs.vercel.app">API Docs</a></p>
22
198
  <p><a href="https://data-structure-typed-examples.vercel.app">Live Examples</a></p>
23
199
  <p><img src="https://github.com/zrwusa/assets/blob/master/images/data-structure-typed/examples/dfs-pre-order.webp" alt=""></p>
@@ -35,59 +211,7 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
35
211
  </code><button>Copy</button></pre>
36
212
  <a id="md:directed-graph-complex-snippet" class="tsd-anchor"></a><h3><a href="#md:directed-graph-complex-snippet">Directed Graph complex snippet</a></h3><pre><code class="language-typescript"><span class="hl-3">import</span><span class="hl-1"> {</span><span class="hl-4">DirectedGraph</span><span class="hl-1">, </span><span class="hl-4">DirectedVertex</span><span class="hl-1">, </span><span class="hl-4">DirectedEdge</span><span class="hl-1">, </span><span class="hl-4">VertexId</span><span class="hl-1">} </span><span class="hl-3">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-5">class</span><span class="hl-1"> </span><span class="hl-8">MyVertex</span><span class="hl-1"> </span><span class="hl-5">extends</span><span class="hl-1"> </span><span class="hl-8">DirectedVertex</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">private</span><span class="hl-1"> </span><span class="hl-4">_data</span><span class="hl-1">: </span><span class="hl-8">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">get</span><span class="hl-1"> </span><span class="hl-0">data</span><span class="hl-1">(): </span><span class="hl-8">string</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">return</span><span class="hl-1"> </span><span class="hl-5">this</span><span class="hl-1">.</span><span class="hl-4">_data</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> </span><span class="hl-5">set</span><span class="hl-1"> </span><span class="hl-0">data</span><span class="hl-1">(</span><span class="hl-4">value</span><span class="hl-1">: </span><span class="hl-8">string</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">this</span><span class="hl-1">.</span><span class="hl-4">_data</span><span class="hl-1"> = </span><span class="hl-4">value</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1"> </span><span class="hl-5">constructor</span><span class="hl-1">(</span><span class="hl-4">id</span><span class="hl-1">: </span><span class="hl-8">VertexId</span><span class="hl-1">, </span><span class="hl-4">data</span><span class="hl-1">: </span><span class="hl-8">string</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">super</span><span class="hl-1">(</span><span class="hl-4">id</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">this</span><span class="hl-1">.</span><span class="hl-4">_data</span><span class="hl-1"> = </span><span class="hl-4">data</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-5">class</span><span class="hl-1"> </span><span class="hl-8">MyEdge</span><span class="hl-1"> </span><span class="hl-5">extends</span><span class="hl-1"> </span><span class="hl-8">DirectedEdge</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">private</span><span class="hl-1"> </span><span class="hl-4">_data</span><span class="hl-1">: </span><span class="hl-8">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">get</span><span class="hl-1"> </span><span class="hl-0">data</span><span class="hl-1">(): </span><span class="hl-8">string</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">return</span><span class="hl-1"> </span><span class="hl-5">this</span><span class="hl-1">.</span><span class="hl-4">_data</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> </span><span class="hl-5">set</span><span class="hl-1"> </span><span class="hl-0">data</span><span class="hl-1">(</span><span class="hl-4">value</span><span class="hl-1">: </span><span class="hl-8">string</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">this</span><span class="hl-1">.</span><span class="hl-4">_data</span><span class="hl-1"> = </span><span class="hl-4">value</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1"> </span><span class="hl-5">constructor</span><span class="hl-1">(</span><span class="hl-4">v1</span><span class="hl-1">: </span><span class="hl-8">VertexId</span><span class="hl-1">, </span><span class="hl-4">v2</span><span class="hl-1">: </span><span class="hl-8">VertexId</span><span class="hl-1">, </span><span class="hl-4">weight</span><span class="hl-1">: </span><span class="hl-8">number</span><span class="hl-1">, </span><span class="hl-4">data</span><span class="hl-1">: </span><span class="hl-8">string</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">super</span><span class="hl-1">(</span><span class="hl-4">v1</span><span class="hl-1">, </span><span class="hl-4">v2</span><span class="hl-1">, </span><span class="hl-4">weight</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">this</span><span class="hl-1">.</span><span class="hl-4">_data</span><span class="hl-1"> = </span><span class="hl-4">data</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-0">describe</span><span class="hl-1">(</span><span class="hl-2">&#39;DirectedGraph Test3&#39;</span><span class="hl-1">, () </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">myGraph</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">DirectedGraph</span><span class="hl-1">&lt;</span><span class="hl-8">MyVertex</span><span class="hl-1">, </span><span class="hl-8">MyEdge</span><span class="hl-1">&gt;();</span><br/><br/><span class="hl-1"> </span><span class="hl-0">it</span><span class="hl-1">(</span><span class="hl-2">&#39;should test graph operations&#39;</span><span class="hl-1">, () </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex1</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-2">&#39;data1&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex2</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-2">&#39;data2&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex3</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-2">&#39;data3&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex4</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">4</span><span class="hl-1">, </span><span class="hl-2">&#39;data4&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex5</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">5</span><span class="hl-1">, </span><span class="hl-2">&#39;data5&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex6</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">6</span><span class="hl-1">, </span><span class="hl-2">&#39;data6&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex7</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">7</span><span class="hl-1">, </span><span class="hl-2">&#39;data7&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex8</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">8</span><span class="hl-1">, </span><span class="hl-2">&#39;data8&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">vertex9</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyVertex</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">, </span><span class="hl-2">&#39;data9&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex2</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex3</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex4</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex5</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex6</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex7</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex8</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addVertex</span><span class="hl-1">(</span><span class="hl-4">vertex9</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">10</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data1-2&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">20</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data2-1&#39;</span><span class="hl-1">));</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">getEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">)).</span><span class="hl-0">toBeTruthy</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">getEdge</span><span class="hl-1">(</span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">1</span><span class="hl-1">)).</span><span class="hl-0">toBeTruthy</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">getEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-2">&#39;100&#39;</span><span class="hl-1">)).</span><span class="hl-0">toBeFalsy</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">removeEdgeBetween</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">getEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">)).</span><span class="hl-0">toBeFalsy</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data-3-1&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">9</span><span class="hl-1">, </span><span class="hl-7">19</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data1-9&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">, </span><span class="hl-7">7</span><span class="hl-1">, </span><span class="hl-7">97</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data9-7&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">7</span><span class="hl-1">, </span><span class="hl-7">9</span><span class="hl-1">, </span><span class="hl-7">79</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data7-9&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">4</span><span class="hl-1">, </span><span class="hl-7">14</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data1-4&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">4</span><span class="hl-1">, </span><span class="hl-7">7</span><span class="hl-1">, </span><span class="hl-7">47</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data4-7&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">12</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data1-2&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-7">23</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data2-3&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-7">5</span><span class="hl-1">, </span><span class="hl-7">35</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data3-5&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">5</span><span class="hl-1">, </span><span class="hl-7">7</span><span class="hl-1">, </span><span class="hl-7">57</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data5-7&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">addEdge</span><span class="hl-1">(</span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">MyEdge</span><span class="hl-1">(</span><span class="hl-7">7</span><span class="hl-1">, </span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-7">73</span><span class="hl-1">, </span><span class="hl-2">&#39;edge-data7-3&#39;</span><span class="hl-1">));</span><br/><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">topologicalSorted</span><span class="hl-1"> = </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">topologicalSort</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">topologicalSorted</span><span class="hl-1">).</span><span class="hl-0">toBeNull</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">minPath1to7</span><span class="hl-1"> = </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">getMinPathBetween</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">7</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath1to7</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">minPath1to7</span><span class="hl-1"> &amp;&amp; </span><span class="hl-4">minPath1to7</span><span class="hl-1">.</span><span class="hl-4">length</span><span class="hl-1"> &gt; </span><span class="hl-7">0</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath1to7</span><span class="hl-1">).</span><span class="hl-0">toHaveLength</span><span class="hl-1">(</span><span class="hl-7">3</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath1to7</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">MyVertex</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath1to7</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">].</span><span class="hl-4">id</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath1to7</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">].</span><span class="hl-4">id</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath1to7</span><span class="hl-1">[</span><span class="hl-7">2</span><span class="hl-1">].</span><span class="hl-4">id</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">7</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">fordResult1</span><span class="hl-1"> = </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">bellmanFord</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">fordResult1</span><span class="hl-1">).</span><span class="hl-0">toBeTruthy</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">fordResult1</span><span class="hl-1">.</span><span class="hl-4">hasNegativeCycle</span><span class="hl-1">).</span><span class="hl-0">toBeUndefined</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> {</span><span class="hl-6">distMap</span><span class="hl-1">, </span><span class="hl-6">preMap</span><span class="hl-1">, </span><span class="hl-6">paths</span><span class="hl-1">, </span><span class="hl-6">min</span><span class="hl-1">, </span><span class="hl-6">minPath</span><span class="hl-1">} = </span><span class="hl-4">fordResult1</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Map</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-4">size</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex2</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">12</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex3</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">35</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex4</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">14</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex5</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">70</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex6</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex7</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">61</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex8</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex9</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">19</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">preMap</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Map</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">preMap</span><span class="hl-1">.</span><span class="hl-4">size</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">.</span><span class="hl-4">length</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">min</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">floydResult</span><span class="hl-1"> = </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">floyd</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">floydResult</span><span class="hl-1">).</span><span class="hl-0">toBeTruthy</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">floydResult</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> {</span><span class="hl-6">costs</span><span class="hl-1">, </span><span class="hl-6">predecessor</span><span class="hl-1">} = </span><span class="hl-4">floydResult</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">.</span><span class="hl-4">length</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">32</span><span class="hl-1">, </span><span class="hl-7">12</span><span class="hl-1">, </span><span class="hl-7">35</span><span class="hl-1">, </span><span class="hl-7">14</span><span class="hl-1">, </span><span class="hl-7">70</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">61</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">19</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">20</span><span class="hl-1">, </span><span class="hl-7">32</span><span class="hl-1">, </span><span class="hl-7">23</span><span class="hl-1">, </span><span class="hl-7">34</span><span class="hl-1">, </span><span class="hl-7">58</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">81</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">39</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">2</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-7">15</span><span class="hl-1">, </span><span class="hl-7">38</span><span class="hl-1">, </span><span class="hl-7">17</span><span class="hl-1">, </span><span class="hl-7">35</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">64</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">22</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">3</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">123</span><span class="hl-1">, </span><span class="hl-7">135</span><span class="hl-1">, </span><span class="hl-7">120</span><span class="hl-1">, </span><span class="hl-7">137</span><span class="hl-1">, </span><span class="hl-7">155</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">47</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">126</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">4</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">133</span><span class="hl-1">, </span><span class="hl-7">145</span><span class="hl-1">, </span><span class="hl-7">130</span><span class="hl-1">, </span><span class="hl-7">147</span><span class="hl-1">, </span><span class="hl-7">165</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">57</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">136</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">5</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">6</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">76</span><span class="hl-1">, </span><span class="hl-7">88</span><span class="hl-1">, </span><span class="hl-7">73</span><span class="hl-1">, </span><span class="hl-7">90</span><span class="hl-1">, </span><span class="hl-7">108</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">137</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">79</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">7</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">costs</span><span class="hl-1">[</span><span class="hl-7">8</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-7">173</span><span class="hl-1">, </span><span class="hl-7">185</span><span class="hl-1">, </span><span class="hl-7">170</span><span class="hl-1">, </span><span class="hl-7">187</span><span class="hl-1">, </span><span class="hl-7">205</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">97</span><span class="hl-1">, </span><span class="hl-5">Infinity</span><span class="hl-1">, </span><span class="hl-7">176</span><span class="hl-1">]);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">.</span><span class="hl-4">length</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-4">vertex2</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex2</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex3</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex4</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex1</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex1</span><span class="hl-1">, </span><span class="hl-4">vertex3</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex4</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex1</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">[</span><span class="hl-7">5</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">[</span><span class="hl-7">7</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">predecessor</span><span class="hl-1">[</span><span class="hl-7">8</span><span class="hl-1">]).</span><span class="hl-0">toEqual</span><span class="hl-1">([</span><span class="hl-4">vertex7</span><span class="hl-1">, </span><span class="hl-4">vertex7</span><span class="hl-1">, </span><span class="hl-4">vertex7</span><span class="hl-1">, </span><span class="hl-4">vertex7</span><span class="hl-1">, </span><span class="hl-4">vertex7</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-5">null</span><span class="hl-1">, </span><span class="hl-4">vertex7</span><span class="hl-1">]);</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">dijkstraRes12tt</span><span class="hl-1"> = </span><span class="hl-4">myGraph</span><span class="hl-1">.</span><span class="hl-0">dijkstra</span><span class="hl-1">(</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-5">true</span><span class="hl-1">, </span><span class="hl-5">true</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">dijkstraRes12tt</span><span class="hl-1">).</span><span class="hl-0">toBeTruthy</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">dijkstraRes12tt</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> {</span><span class="hl-6">distMap</span><span class="hl-1">, </span><span class="hl-6">minDist</span><span class="hl-1">, </span><span class="hl-6">minPath</span><span class="hl-1">, </span><span class="hl-6">paths</span><span class="hl-1">, </span><span class="hl-6">preMap</span><span class="hl-1">, </span><span class="hl-6">seen</span><span class="hl-1">} = </span><span class="hl-4">dijkstraRes12tt</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Map</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-4">size</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex2</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">12</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex3</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex4</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">14</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex5</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex6</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex7</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex8</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-5">Infinity</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">distMap</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-4">vertex9</span><span class="hl-1">)).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">19</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minDist</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">12</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath</span><span class="hl-1">.</span><span class="hl-4">length</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">2</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">minPath</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex2</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">.</span><span class="hl-4">length</span><span class="hl-1">).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-7">9</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">1</span><span class="hl-1">][</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex2</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">2</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">2</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex3</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">3</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">3</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">3</span><span class="hl-1">][</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex4</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">4</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">4</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex5</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">5</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">5</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex6</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">6</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">6</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex7</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">7</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">7</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex8</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">8</span><span class="hl-1">]).</span><span class="hl-0">toBeInstanceOf</span><span class="hl-1">(</span><span class="hl-4">Array</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">8</span><span class="hl-1">][</span><span class="hl-7">0</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex1</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">expect</span><span class="hl-1">(</span><span class="hl-4">paths</span><span class="hl-1">[</span><span class="hl-7">8</span><span class="hl-1">][</span><span class="hl-7">1</span><span class="hl-1">]).</span><span class="hl-0">toBe</span><span class="hl-1">(</span><span class="hl-4">vertex9</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> });</span><br/><span class="hl-1">});</span>
37
213
  </code><button>Copy</button></pre>
38
- <a id="md:api-docs" class="tsd-anchor"></a><h2><a href="#md:api-docs">API docs</a></h2><nav class="tsd-navigation"><a href="https://data-structure-typed-docs.vercel.app/modules.html" class="current"><span>data-<wbr/>structure-<wbr/>typed</span></a>
39
- <ul class="tsd-small-nested-navigation">
40
-
41
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/AVLTree.html"><span>AVLTree</span></a></li>
42
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/AVLTreeNode.html"><span>AVLTree<wbr/>Node</span></a></li>
43
-
44
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/AbstractEdge.html"><span>Abstract<wbr/>Edge</span></a></li>
45
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/AbstractGraph.html"><span>Abstract<wbr/>Graph</span></a></li>
46
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/AbstractVertex.html"><span>Abstract<wbr/>Vertex</span></a></li>
47
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/ArrayDeque.html"><span>Array<wbr/>Deque</span></a></li>
48
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/BST.html"><span>BST</span></a></li>
49
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/BSTNode.html"><span>BSTNode</span></a></li>
50
-
51
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryIndexedTree.html"><span>Binary<wbr/>Indexed<wbr/>Tree</span></a></li>
52
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryTree.html"><span>Binary<wbr/>Tree</span></a></li>
53
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryTreeNode.html"><span>Binary<wbr/>Tree<wbr/>Node</span></a></li>
54
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Character.html"><span>Character</span></a></li>
55
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/CoordinateMap.html"><span>Coordinate<wbr/>Map</span></a></li>
56
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/CoordinateSet.html"><span>Coordinate<wbr/>Set</span></a></li>
57
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Deque.html"><span>Deque</span></a></li>
58
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/DirectedEdge.html"><span>Directed<wbr/>Edge</span></a></li>
59
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/DirectedGraph.html"><span>Directed<wbr/>Graph</span></a></li>
60
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/DirectedVertex.html"><span>Directed<wbr/>Vertex</span></a></li>
61
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/DoublyLinkedList.html"><span>Doubly<wbr/>Linked<wbr/>List</span></a></li>
62
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/DoublyLinkedListNode.html"><span>Doubly<wbr/>Linked<wbr/>List<wbr/>Node</span></a></li>
63
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Heap.html"><span>Heap</span></a></li>
64
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Matrix2D.html"><span>Matrix2D</span></a></li>
65
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/MatrixNTI2D.html"><span>MatrixNTI2D</span></a></li>
66
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/MaxHeap.html"><span>Max<wbr/>Heap</span></a></li>
67
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/MaxPriorityQueue.html"><span>Max<wbr/>Priority<wbr/>Queue</span></a></li>
68
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/MinHeap.html"><span>Min<wbr/>Heap</span></a></li>
69
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/MinPriorityQueue.html"><span>Min<wbr/>Priority<wbr/>Queue</span></a></li>
70
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Navigator.html"><span>Navigator</span></a></li>
71
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/ObjectDeque.html"><span>Object<wbr/>Deque</span></a></li>
72
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/PriorityQueue.html"><span>Priority<wbr/>Queue</span></a></li>
73
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Queue.html"><span>Queue</span></a></li>
74
-
75
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/SegmentTree.html"><span>Segment<wbr/>Tree</span></a></li>
76
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/SegmentTreeNode.html"><span>Segment<wbr/>Tree<wbr/>Node</span></a></li>
77
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>Singly<wbr/>Linked<wbr/>List</span></a></li>
78
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedListNode.html"><span>Singly<wbr/>Linked<wbr/>List<wbr/>Node</span></a></li>
79
-
80
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Stack.html"><span>Stack</span></a></li>
81
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/TreeMultiSet.html"><span>Tree<wbr/>Multi<wbr/>Set</span></a></li>
82
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Trie.html"><span>Trie</span></a></li>
83
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/TrieNode.html"><span>Trie<wbr/>Node</span></a></li>
84
-
85
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/UndirectedEdge.html"><span>Undirected<wbr/>Edge</span></a></li>
86
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/UndirectedGraph.html"><span>Undirected<wbr/>Graph</span></a></li>
87
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/UndirectedVertex.html"><span>Undirected<wbr/>Vertex</span></a></li>
88
- <li><a href="https://data-structure-typed-docs.vercel.app/classes/Vector2D.html"><span>Vector2D</span></a></li></ul></nav>
89
-
90
- <p><a href="https://github.com/zrwusa/data-structure-typed-examples" target="_blank">Examples Repository</a></p>
214
+ <a id="md:api-docs" class="tsd-anchor"></a><h2><a href="#md:api-docs">API docs</a></h2><p><a href="https://github.com/zrwusa/data-structure-typed-examples" target="_blank">Examples Repository</a></p>
91
215
  <a id="md:why" class="tsd-anchor"></a><h1><a href="#md:why">Why</a></h1><a id="md:complexities" class="tsd-anchor"></a><h2><a href="#md:complexities">Complexities</a></h2><a id="md:performance-of-big-o" class="tsd-anchor"></a><h3><a href="#md:performance-of-big-o">performance of Big O</a></h3><table>
92
216
  <thead>
93
217
  <tr>
@@ -384,7 +508,8 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
384
508
  <li>
385
509
  <ul>
386
510
  <li><a href="#md:brief"><span>Brief</span></a></li>
387
- <li><a href="#md:data-structures"><span>Data <wbr/>Structures</span></a></li></ul></li>
511
+ <li><a href="#md:data-structures"><span>Data <wbr/>Structures</span></a></li>
512
+ <li><a href="#md:algorithms-list-only-a-few-out-you-can-discover-more-in-api-docs"><span>Algorithms list only a few out, you can discover more in API docs</span></a></li></ul></li>
388
513
  <li><a href="#md:how"><span>How</span></a></li>
389
514
  <li>
390
515
  <ul>
@@ -412,9 +537,13 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
412
537
  <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>
413
538
  <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>
414
539
  <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>
540
+ <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>
541
+ <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>
415
542
  <li><a href="classes/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>
416
543
  <li><a href="classes/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>
417
544
  <li><a href="classes/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>
545
+ <li><a href="classes/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>
546
+ <li><a href="classes/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>
418
547
  <li><a href="classes/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>
419
548
  <li><a href="classes/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>
420
549
  <li><a href="classes/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>
@@ -448,7 +577,6 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
448
577
  <li><a href="classes/Pair.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Pair</span></a></li>
449
578
  <li><a href="classes/PriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Priority<wbr/>Queue</span></a></li>
450
579
  <li><a href="classes/Queue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Queue</span></a></li>
451
- <li><a href="classes/RBTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>RBTree</span></a></li>
452
580
  <li><a href="classes/SegmentTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree</span></a></li>
453
581
  <li><a href="classes/SegmentTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree<wbr/>Node</span></a></li>
454
582
  <li><a href="classes/SinglyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Singly<wbr/>Linked<wbr/>List</span></a></li>
@@ -458,6 +586,7 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
458
586
  <li><a href="classes/Stack.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Stack</span></a></li>
459
587
  <li><a href="classes/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>
460
588
  <li><a href="classes/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>
589
+ <li><a href="classes/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>
461
590
  <li><a href="classes/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>
462
591
  <li><a href="classes/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>
463
592
  <li><a href="classes/Trie.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Trie</span></a></li>
@@ -467,33 +596,42 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
467
596
  <li><a href="classes/UndirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Graph</span></a></li>
468
597
  <li><a href="classes/UndirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Vertex</span></a></li>
469
598
  <li><a href="classes/Vector2D.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Vector2D</span></a></li>
470
- <li><a href="interfaces/AVLTreeDeleted.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g></svg><span>AVLTree<wbr/>Deleted</span></a></li>
471
- <li><a href="interfaces/HeapOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Heap<wbr/>Options</span></a></li>
599
+ <li><a href="interfaces/IBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g></svg><span>IBinary<wbr/>Tree</span></a></li>
600
+ <li><a href="interfaces/IBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IBinary<wbr/>Tree<wbr/>Node</span></a></li>
472
601
  <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>
473
602
  <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>
474
- <li><a href="interfaces/NavigatorParams.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Navigator<wbr/>Params</span></a></li>
475
- <li><a href="interfaces/PriorityQueueOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Priority<wbr/>Queue<wbr/>Options</span></a></li>
476
- <li><a href="types/BSTComparator.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>BSTComparator</span></a></li>
477
- <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>
478
- <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>
603
+ <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>
604
+ <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>
605
+ <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>
606
+ <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>
607
+ <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>
608
+ <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>
609
+ <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>
610
+ <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>
611
+ <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>
479
612
  <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>
480
613
  <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>
614
+ <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>
481
615
  <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>
482
616
  <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>
483
617
  <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>
618
+ <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>
619
+ <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>
620
+ <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>
621
+ <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>
622
+ <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>
484
623
  <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>
485
624
  <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>
486
625
  <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>
487
- <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>
488
- <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>
626
+ <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>
627
+ <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>
628
+ <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>
629
+ <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>
630
+ <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>
631
+ <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>
489
632
  <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>
490
- <li><a href="types/SpecifyOptional.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Specify<wbr/>Optional</span></a></li>
491
- <li><a href="types/Thunk.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Thunk</span></a></li>
492
- <li><a href="types/ToThunkFn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>To<wbr/>Thunk<wbr/>Fn</span></a></li>
493
633
  <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>
494
- <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>
495
- <li><a href="types/TrlAsyncFn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Trl<wbr/>Async<wbr/>Fn</span></a></li>
496
- <li><a href="types/TrlFn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Trl<wbr/>Fn</span></a></li>
634
+ <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>
497
635
  <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>
498
636
  <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>
499
637
  <div class="tsd-generator">