data-structure-typed 1.18.0 → 1.18.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) 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/avl-tree.d.ts +19 -25
  107. package/dist/data-structures/binary-tree/avl-tree.js +8 -16
  108. package/dist/data-structures/binary-tree/binary-tree.d.ts +99 -98
  109. package/dist/data-structures/binary-tree/binary-tree.js +70 -65
  110. package/dist/data-structures/binary-tree/bst.d.ts +21 -21
  111. package/dist/data-structures/binary-tree/bst.js +15 -17
  112. package/dist/data-structures/binary-tree/rb-tree.d.ts +1 -2
  113. package/dist/data-structures/binary-tree/rb-tree.js +68 -5
  114. package/dist/data-structures/binary-tree/tree-multiset.d.ts +9 -8
  115. package/dist/data-structures/binary-tree/tree-multiset.js +7 -6
  116. package/dist/data-structures/graph/abstract-graph.d.ts +56 -58
  117. package/dist/data-structures/graph/abstract-graph.js +84 -68
  118. package/dist/data-structures/graph/directed-graph.d.ts +127 -96
  119. package/dist/data-structures/graph/directed-graph.js +161 -109
  120. package/dist/data-structures/graph/undirected-graph.d.ts +82 -59
  121. package/dist/data-structures/graph/undirected-graph.js +99 -72
  122. package/dist/data-structures/hash/coordinate-set.d.ts +1 -1
  123. package/dist/data-structures/index.d.ts +1 -0
  124. package/dist/data-structures/index.js +1 -0
  125. package/dist/data-structures/interfaces/abstract-graph.d.ts +22 -0
  126. package/dist/data-structures/interfaces/abstract-graph.js +2 -0
  127. package/dist/data-structures/interfaces/avl-tree.d.ts +1 -0
  128. package/dist/data-structures/interfaces/avl-tree.js +2 -0
  129. package/dist/data-structures/interfaces/binary-tree.d.ts +27 -0
  130. package/dist/data-structures/interfaces/binary-tree.js +2 -0
  131. package/dist/data-structures/interfaces/bst.d.ts +1 -0
  132. package/dist/data-structures/interfaces/bst.js +2 -0
  133. package/dist/data-structures/interfaces/directed-graph.d.ts +9 -0
  134. package/dist/data-structures/interfaces/directed-graph.js +2 -0
  135. package/dist/data-structures/interfaces/doubly-linked-list.d.ts +1 -0
  136. package/dist/data-structures/interfaces/doubly-linked-list.js +2 -0
  137. package/dist/data-structures/interfaces/heap.d.ts +1 -0
  138. package/dist/data-structures/interfaces/heap.js +2 -0
  139. package/dist/data-structures/interfaces/index.d.ts +13 -0
  140. package/dist/data-structures/interfaces/index.js +29 -0
  141. package/dist/data-structures/interfaces/navigator.d.ts +1 -0
  142. package/dist/data-structures/interfaces/navigator.js +2 -0
  143. package/dist/data-structures/interfaces/priority-queue.d.ts +1 -0
  144. package/dist/data-structures/interfaces/priority-queue.js +2 -0
  145. package/dist/data-structures/interfaces/segment-tree.d.ts +1 -0
  146. package/dist/data-structures/interfaces/segment-tree.js +2 -0
  147. package/dist/data-structures/interfaces/singly-linked-list.d.ts +1 -0
  148. package/dist/data-structures/interfaces/singly-linked-list.js +2 -0
  149. package/dist/data-structures/interfaces/tree-multiset.d.ts +1 -0
  150. package/dist/data-structures/interfaces/tree-multiset.js +2 -0
  151. package/dist/data-structures/interfaces/undirected-graph.d.ts +2 -0
  152. package/dist/data-structures/interfaces/undirected-graph.js +2 -0
  153. package/dist/data-structures/linked-list/doubly-linked-list.d.ts +1 -1
  154. package/dist/data-structures/linked-list/singly-linked-list.d.ts +1 -1
  155. package/dist/data-structures/priority-queue/priority-queue.d.ts +1 -1
  156. package/dist/data-structures/priority-queue/priority-queue.js +4 -4
  157. package/dist/data-structures/queue/deque.d.ts +5 -5
  158. package/dist/data-structures/queue/deque.js +6 -6
  159. package/dist/data-structures/queue/queue.d.ts +1 -1
  160. package/dist/data-structures/stack/stack.d.ts +1 -1
  161. package/dist/data-structures/types/abstract-graph.d.ts +1 -20
  162. package/dist/data-structures/types/avl-tree.d.ts +5 -4
  163. package/dist/data-structures/types/binary-tree.d.ts +6 -5
  164. package/dist/data-structures/types/bst.d.ts +4 -3
  165. package/dist/data-structures/types/directed-graph.d.ts +5 -9
  166. package/dist/data-structures/types/directed-graph.js +7 -0
  167. package/dist/data-structures/types/heap.d.ts +2 -2
  168. package/dist/data-structures/types/index.d.ts +0 -1
  169. package/dist/data-structures/types/index.js +0 -1
  170. package/dist/data-structures/types/navigator.d.ts +2 -2
  171. package/dist/data-structures/types/priority-queue.d.ts +2 -2
  172. package/dist/data-structures/types/tree-multiset.d.ts +3 -4
  173. package/docs/assets/search.js +1 -1
  174. package/docs/classes/AVLTree.html +288 -287
  175. package/docs/classes/AVLTreeNode.html +106 -63
  176. package/docs/classes/AaTree.html +14 -12
  177. package/docs/classes/AbstractEdge.html +68 -34
  178. package/docs/classes/AbstractGraph.html +219 -114
  179. package/docs/classes/AbstractVertex.html +71 -30
  180. package/docs/classes/ArrayDeque.html +27 -25
  181. package/docs/classes/BST.html +279 -273
  182. package/docs/classes/BSTNode.html +106 -57
  183. package/docs/classes/BTree.html +14 -12
  184. package/docs/classes/BinaryIndexedTree.html +22 -20
  185. package/docs/classes/BinaryTree.html +283 -277
  186. package/docs/classes/BinaryTreeNode.html +111 -63
  187. package/docs/classes/Character.html +17 -15
  188. package/docs/classes/CoordinateMap.html +22 -20
  189. package/docs/classes/CoordinateSet.html +23 -21
  190. package/docs/classes/Deque.html +47 -45
  191. package/docs/classes/DirectedEdge.html +74 -41
  192. package/docs/classes/DirectedGraph.html +444 -208
  193. package/docs/classes/DirectedVertex.html +63 -36
  194. package/docs/classes/DoublyLinkedList.html +52 -50
  195. package/docs/classes/DoublyLinkedListNode.html +24 -22
  196. package/docs/classes/HashTable.html +14 -12
  197. package/docs/classes/Heap.html +29 -27
  198. package/docs/classes/HeapItem.html +21 -19
  199. package/docs/classes/Matrix2D.html +29 -27
  200. package/docs/classes/MatrixNTI2D.html +17 -15
  201. package/docs/classes/MaxHeap.html +29 -27
  202. package/docs/classes/MaxPriorityQueue.html +67 -60
  203. package/docs/classes/MinHeap.html +29 -27
  204. package/docs/classes/MinPriorityQueue.html +67 -60
  205. package/docs/classes/Navigator.html +24 -22
  206. package/docs/classes/ObjectDeque.html +62 -50
  207. package/docs/classes/Pair.html +14 -12
  208. package/docs/classes/PriorityQueue.html +62 -55
  209. package/docs/classes/Queue.html +29 -27
  210. package/docs/classes/SegmentTree.html +30 -28
  211. package/docs/classes/SegmentTreeNode.html +33 -31
  212. package/docs/classes/SinglyLinkedList.html +49 -47
  213. package/docs/classes/SinglyLinkedListNode.html +21 -19
  214. package/docs/classes/SkipLinkedList.html +14 -12
  215. package/docs/classes/SplayTree.html +14 -12
  216. package/docs/classes/Stack.html +27 -25
  217. package/docs/classes/TreeMap.html +14 -12
  218. package/docs/classes/TreeMultiSet.html +277 -270
  219. package/docs/classes/TreeNode.html +29 -27
  220. package/docs/classes/TreeSet.html +14 -12
  221. package/docs/classes/Trie.html +26 -24
  222. package/docs/classes/TrieNode.html +24 -22
  223. package/docs/classes/TwoThreeTree.html +14 -12
  224. package/docs/classes/UndirectedEdge.html +70 -51
  225. package/docs/classes/UndirectedGraph.html +344 -161
  226. package/docs/classes/UndirectedVertex.html +63 -36
  227. package/docs/classes/Vector2D.html +41 -39
  228. package/docs/enums/CP.html +17 -15
  229. package/docs/enums/FamilyPosition.html +17 -15
  230. package/docs/enums/LoopType.html +16 -14
  231. package/docs/{interfaces/AVLTreeDeleted.html → enums/TopologicalProperty.html} +43 -43
  232. package/docs/index.html +195 -68
  233. package/docs/interfaces/{HeapOptions.html → IBinaryTree.html} +39 -32
  234. package/docs/interfaces/IBinaryTreeNode.html +383 -0
  235. package/docs/interfaces/IDirectedGraph.html +20 -18
  236. package/docs/interfaces/IGraph.html +118 -88
  237. package/docs/interfaces/{PriorityQueueOptions.html → IUNDirectedGraph.html} +22 -53
  238. package/docs/modules.html +25 -21
  239. package/docs/types/{ToThunkFn.html → AVLTreeDeleted.html} +27 -21
  240. package/docs/types/BSTComparator.html +14 -12
  241. package/docs/types/BSTDeletedResult.html +19 -17
  242. package/docs/types/BinaryTreeDeleted.html +19 -17
  243. package/docs/types/BinaryTreeNodeId.html +14 -12
  244. package/docs/types/BinaryTreeNodePropertyName.html +14 -12
  245. package/docs/types/DFSOrderPattern.html +14 -12
  246. package/docs/types/DijkstraResult.html +14 -12
  247. package/docs/types/Direction.html +14 -12
  248. package/docs/types/{TrlFn.html → EdgeId.html} +18 -29
  249. package/docs/types/{TrlAsyncFn.html → HeapOptions.html} +29 -19
  250. package/docs/types/NavigatorParams.html +164 -0
  251. package/docs/types/NodeOrPropertyName.html +14 -12
  252. package/docs/types/PriorityQueueComparator.html +14 -12
  253. package/docs/types/PriorityQueueDFSOrderPattern.html +14 -12
  254. package/docs/types/{SpecifyOptional.html → PriorityQueueOptions.html} +28 -19
  255. package/docs/types/RecursiveAVLTreeNode.html +135 -0
  256. package/docs/types/{Thunk.html → RecursiveBSTNode.html} +23 -24
  257. package/docs/types/RecursiveBinaryTreeNode.html +135 -0
  258. package/docs/types/ResultByProperty.html +17 -15
  259. package/docs/types/ResultsByProperty.html +17 -15
  260. package/docs/types/SegmentTreeNodeVal.html +14 -12
  261. package/docs/types/TopologicalStatus.html +14 -12
  262. package/docs/types/TreeMultiSetDeletedResult.html +19 -17
  263. package/docs/types/Turning.html +14 -12
  264. package/docs/types/VertexId.html +14 -12
  265. package/notes/note.md +8 -1
  266. package/package.json +10 -2
  267. package/docs/classes/RBTree.html +0 -153
  268. package/docs/interfaces/NavigatorParams.html +0 -200
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,6 +537,7 @@ 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/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
541
  <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
542
  <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
543
  <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>
@@ -448,7 +574,6 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
448
574
  <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
575
  <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
576
  <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
577
  <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
578
  <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
579
  <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>
@@ -467,13 +592,13 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
467
592
  <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
593
  <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
594
  <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>
595
+ <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>
596
+ <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
597
  <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
598
  <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>
599
+ <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>
600
+ <li><a href="types/AVLTreeDeleted.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g></svg><span>AVLTree<wbr/>Deleted</span></a></li>
601
+ <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>
477
602
  <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
603
  <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>
479
604
  <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>
@@ -481,19 +606,21 @@ Hash, Coordinate Set, Coordinate Map, Heap, Priority Queue, Max Priority Queue,
481
606
  <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
607
  <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
608
  <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>
609
+ <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>
610
+ <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>
611
+ <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
612
  <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
613
  <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
614
  <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>
615
+ <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>
616
+ <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>
617
+ <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>
618
+ <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>
487
619
  <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
620
  <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>
489
621
  <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
622
  <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
623
  <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>
497
624
  <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
625
  <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
626
  <div class="tsd-generator">