data-structure-typed 1.17.4 → 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 (293) 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 +12 -20
  108. package/dist/data-structures/binary-tree/binary-indexed-tree.d.ts +3 -1
  109. package/dist/data-structures/binary-tree/binary-indexed-tree.js +10 -0
  110. package/dist/data-structures/binary-tree/binary-tree.d.ts +135 -161
  111. package/dist/data-structures/binary-tree/binary-tree.js +192 -164
  112. package/dist/data-structures/binary-tree/bst.d.ts +21 -21
  113. package/dist/data-structures/binary-tree/bst.js +33 -36
  114. package/dist/data-structures/binary-tree/rb-tree.d.ts +1 -2
  115. package/dist/data-structures/binary-tree/rb-tree.js +68 -5
  116. package/dist/data-structures/binary-tree/segment-tree.d.ts +17 -39
  117. package/dist/data-structures/binary-tree/segment-tree.js +34 -47
  118. package/dist/data-structures/binary-tree/tree-multiset.d.ts +9 -8
  119. package/dist/data-structures/binary-tree/tree-multiset.js +7 -6
  120. package/dist/data-structures/graph/abstract-graph.d.ts +56 -71
  121. package/dist/data-structures/graph/abstract-graph.js +87 -92
  122. package/dist/data-structures/graph/directed-graph.d.ts +128 -105
  123. package/dist/data-structures/graph/directed-graph.js +161 -121
  124. package/dist/data-structures/graph/undirected-graph.d.ts +81 -62
  125. package/dist/data-structures/graph/undirected-graph.js +99 -78
  126. package/dist/data-structures/hash/coordinate-map.d.ts +1 -5
  127. package/dist/data-structures/hash/coordinate-map.js +3 -9
  128. package/dist/data-structures/hash/coordinate-set.d.ts +2 -6
  129. package/dist/data-structures/hash/coordinate-set.js +3 -9
  130. package/dist/data-structures/hash/hash-table.d.ts +2 -1
  131. package/dist/data-structures/hash/hash-table.js +7 -0
  132. package/dist/data-structures/hash/pair.d.ts +2 -1
  133. package/dist/data-structures/hash/pair.js +7 -0
  134. package/dist/data-structures/hash/tree-map.d.ts +2 -1
  135. package/dist/data-structures/hash/tree-map.js +7 -0
  136. package/dist/data-structures/hash/tree-set.d.ts +2 -1
  137. package/dist/data-structures/hash/tree-set.js +7 -0
  138. package/dist/data-structures/heap/heap.d.ts +0 -14
  139. package/dist/data-structures/heap/heap.js +3 -27
  140. package/dist/data-structures/index.d.ts +1 -0
  141. package/dist/data-structures/index.js +1 -0
  142. package/dist/data-structures/interfaces/abstract-graph.d.ts +22 -0
  143. package/dist/data-structures/interfaces/abstract-graph.js +2 -0
  144. package/dist/data-structures/interfaces/avl-tree.d.ts +1 -0
  145. package/dist/data-structures/interfaces/avl-tree.js +2 -0
  146. package/dist/data-structures/interfaces/binary-tree.d.ts +27 -0
  147. package/dist/data-structures/interfaces/binary-tree.js +2 -0
  148. package/dist/data-structures/interfaces/bst.d.ts +1 -0
  149. package/dist/data-structures/interfaces/bst.js +2 -0
  150. package/dist/data-structures/interfaces/directed-graph.d.ts +9 -0
  151. package/dist/data-structures/interfaces/directed-graph.js +2 -0
  152. package/dist/data-structures/interfaces/doubly-linked-list.d.ts +1 -0
  153. package/dist/data-structures/interfaces/doubly-linked-list.js +2 -0
  154. package/dist/data-structures/interfaces/heap.d.ts +1 -0
  155. package/dist/data-structures/interfaces/heap.js +2 -0
  156. package/dist/data-structures/interfaces/index.d.ts +13 -0
  157. package/dist/data-structures/interfaces/index.js +29 -0
  158. package/dist/data-structures/interfaces/navigator.d.ts +1 -0
  159. package/dist/data-structures/interfaces/navigator.js +2 -0
  160. package/dist/data-structures/interfaces/priority-queue.d.ts +1 -0
  161. package/dist/data-structures/interfaces/priority-queue.js +2 -0
  162. package/dist/data-structures/interfaces/segment-tree.d.ts +1 -0
  163. package/dist/data-structures/interfaces/segment-tree.js +2 -0
  164. package/dist/data-structures/interfaces/singly-linked-list.d.ts +1 -0
  165. package/dist/data-structures/interfaces/singly-linked-list.js +2 -0
  166. package/dist/data-structures/interfaces/tree-multiset.d.ts +1 -0
  167. package/dist/data-structures/interfaces/tree-multiset.js +2 -0
  168. package/dist/data-structures/interfaces/undirected-graph.d.ts +2 -0
  169. package/dist/data-structures/interfaces/undirected-graph.js +2 -0
  170. package/dist/data-structures/linked-list/doubly-linked-list.d.ts +1 -3
  171. package/dist/data-structures/linked-list/doubly-linked-list.js +12 -18
  172. package/dist/data-structures/linked-list/singly-linked-list.d.ts +1 -2
  173. package/dist/data-structures/linked-list/singly-linked-list.js +12 -15
  174. package/dist/data-structures/priority-queue/priority-queue.d.ts +1 -1
  175. package/dist/data-structures/priority-queue/priority-queue.js +4 -4
  176. package/dist/data-structures/queue/deque.d.ts +5 -5
  177. package/dist/data-structures/queue/deque.js +6 -6
  178. package/dist/data-structures/queue/queue.d.ts +1 -1
  179. package/dist/data-structures/stack/stack.d.ts +1 -1
  180. package/dist/data-structures/tree/tree.d.ts +12 -4
  181. package/dist/data-structures/tree/tree.js +44 -12
  182. package/dist/data-structures/trie/trie.d.ts +3 -3
  183. package/dist/data-structures/trie/trie.js +10 -10
  184. package/dist/data-structures/types/abstract-graph.d.ts +1 -20
  185. package/dist/data-structures/types/avl-tree.d.ts +5 -4
  186. package/dist/data-structures/types/binary-tree.d.ts +6 -5
  187. package/dist/data-structures/types/bst.d.ts +4 -3
  188. package/dist/data-structures/types/directed-graph.d.ts +5 -9
  189. package/dist/data-structures/types/directed-graph.js +7 -0
  190. package/dist/data-structures/types/doubly-linked-list.d.ts +1 -1
  191. package/dist/data-structures/types/heap.d.ts +2 -2
  192. package/dist/data-structures/types/index.d.ts +0 -1
  193. package/dist/data-structures/types/index.js +0 -1
  194. package/dist/data-structures/types/navigator.d.ts +2 -2
  195. package/dist/data-structures/types/priority-queue.d.ts +2 -2
  196. package/dist/data-structures/types/tree-multiset.d.ts +3 -4
  197. package/docs/assets/search.js +1 -1
  198. package/docs/classes/AVLTree.html +552 -405
  199. package/docs/classes/AVLTreeNode.html +107 -242
  200. package/docs/classes/AaTree.html +18 -13
  201. package/docs/classes/AbstractEdge.html +77 -68
  202. package/docs/classes/AbstractGraph.html +223 -115
  203. package/docs/classes/AbstractVertex.html +71 -45
  204. package/docs/classes/ArrayDeque.html +31 -26
  205. package/docs/classes/BST.html +543 -391
  206. package/docs/classes/BSTNode.html +107 -236
  207. package/docs/classes/BTree.html +18 -13
  208. package/docs/classes/BinaryIndexedTree.html +56 -21
  209. package/docs/classes/BinaryTree.html +564 -355
  210. package/docs/classes/BinaryTreeNode.html +146 -199
  211. package/docs/classes/Character.html +21 -16
  212. package/docs/classes/CoordinateMap.html +49 -52
  213. package/docs/classes/CoordinateSet.html +50 -53
  214. package/docs/classes/Deque.html +51 -68
  215. package/docs/classes/DirectedEdge.html +98 -103
  216. package/docs/classes/DirectedGraph.html +449 -210
  217. package/docs/classes/DirectedVertex.html +63 -52
  218. package/docs/classes/DoublyLinkedList.html +56 -71
  219. package/docs/classes/DoublyLinkedListNode.html +28 -23
  220. package/docs/classes/HashTable.html +155 -0
  221. package/docs/classes/Heap.html +33 -109
  222. package/docs/classes/HeapItem.html +25 -20
  223. package/docs/classes/Matrix2D.html +33 -28
  224. package/docs/classes/MatrixNTI2D.html +21 -16
  225. package/docs/classes/MaxHeap.html +33 -114
  226. package/docs/classes/MaxPriorityQueue.html +71 -61
  227. package/docs/classes/MinHeap.html +33 -114
  228. package/docs/classes/MinPriorityQueue.html +71 -61
  229. package/docs/classes/Navigator.html +28 -23
  230. package/docs/classes/ObjectDeque.html +66 -51
  231. package/docs/classes/{RBTree.html → Pair.html} +25 -20
  232. package/docs/classes/PriorityQueue.html +66 -56
  233. package/docs/classes/Queue.html +33 -28
  234. package/docs/classes/SegmentTree.html +129 -57
  235. package/docs/classes/SegmentTreeNode.html +62 -140
  236. package/docs/classes/SinglyLinkedList.html +53 -58
  237. package/docs/classes/SinglyLinkedListNode.html +25 -20
  238. package/docs/classes/SkipLinkedList.html +18 -13
  239. package/docs/classes/SplayTree.html +18 -13
  240. package/docs/classes/Stack.html +31 -26
  241. package/docs/classes/TreeMap.html +155 -0
  242. package/docs/classes/TreeMultiSet.html +541 -388
  243. package/docs/classes/TreeNode.html +125 -35
  244. package/docs/classes/TreeSet.html +155 -0
  245. package/docs/classes/Trie.html +30 -25
  246. package/docs/classes/TrieNode.html +33 -28
  247. package/docs/classes/TwoThreeTree.html +18 -13
  248. package/docs/classes/UndirectedEdge.html +87 -80
  249. package/docs/classes/UndirectedGraph.html +356 -178
  250. package/docs/classes/UndirectedVertex.html +63 -52
  251. package/docs/classes/Vector2D.html +45 -40
  252. package/docs/enums/CP.html +21 -16
  253. package/docs/enums/FamilyPosition.html +21 -16
  254. package/docs/enums/LoopType.html +20 -15
  255. package/docs/{interfaces/AVLTreeDeleted.html → enums/TopologicalProperty.html} +47 -44
  256. package/docs/index.html +203 -69
  257. package/docs/interfaces/{PriorityQueueOptions.html → IBinaryTree.html} +49 -40
  258. package/docs/interfaces/IBinaryTreeNode.html +383 -0
  259. package/docs/interfaces/IDirectedGraph.html +24 -19
  260. package/docs/interfaces/IGraph.html +122 -89
  261. package/docs/interfaces/{HeapOptions.html → IUNDirectedGraph.html} +26 -53
  262. package/docs/modules.html +33 -23
  263. package/docs/types/{ToThunkFn.html → AVLTreeDeleted.html} +31 -22
  264. package/docs/types/BSTComparator.html +18 -13
  265. package/docs/types/BSTDeletedResult.html +23 -18
  266. package/docs/types/BinaryTreeDeleted.html +23 -18
  267. package/docs/types/BinaryTreeNodeId.html +18 -13
  268. package/docs/types/BinaryTreeNodePropertyName.html +18 -13
  269. package/docs/types/DFSOrderPattern.html +18 -13
  270. package/docs/types/DijkstraResult.html +18 -13
  271. package/docs/types/Direction.html +18 -13
  272. package/docs/types/{DoublyLinkedListGetBy.html → EdgeId.html} +22 -17
  273. package/docs/types/{TrlFn.html → HeapOptions.html} +33 -20
  274. package/docs/types/{TrlAsyncFn.html → NavigatorParams.html} +46 -20
  275. package/docs/types/NodeOrPropertyName.html +18 -13
  276. package/docs/types/PriorityQueueComparator.html +18 -13
  277. package/docs/types/PriorityQueueDFSOrderPattern.html +18 -13
  278. package/docs/types/{SpecifyOptional.html → PriorityQueueOptions.html} +32 -20
  279. package/docs/types/RecursiveAVLTreeNode.html +135 -0
  280. package/docs/types/RecursiveBSTNode.html +135 -0
  281. package/docs/types/RecursiveBinaryTreeNode.html +135 -0
  282. package/docs/types/ResultByProperty.html +21 -16
  283. package/docs/types/ResultsByProperty.html +21 -16
  284. package/docs/types/SegmentTreeNodeVal.html +18 -13
  285. package/docs/types/TopologicalStatus.html +18 -13
  286. package/docs/types/TreeMultiSetDeletedResult.html +23 -18
  287. package/docs/types/Turning.html +18 -13
  288. package/docs/types/VertexId.html +18 -13
  289. package/notes/note.md +12 -1
  290. package/package.json +11 -3
  291. package/tsconfig.json +2 -2
  292. package/docs/interfaces/NavigatorParams.html +0 -197
  293. package/docs/types/Thunk.html +0 -133
@@ -19,9 +19,9 @@
19
19
  <h4>Type Parameters</h4>
20
20
  <ul class="tsd-type-parameter-list">
21
21
  <li>
22
- <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a></h4></li>
22
+ <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li>
23
23
  <li>
24
- <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a></h4></li></ul></section>
24
+ <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section>
25
25
  <section class="tsd-panel tsd-hierarchy">
26
26
  <h4>Hierarchy</h4>
27
27
  <ul class="tsd-hierarchy">
@@ -34,7 +34,7 @@
34
34
  <ul class="tsd-hierarchy">
35
35
  <li><a href="../interfaces/IGraph.html" class="tsd-signature-type tsd-kind-interface">IGraph</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span></li></ul></section><aside class="tsd-sources">
36
36
  <ul>
37
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L85">src/data-structures/graph/abstract-graph.ts:85</a></li></ul></aside>
37
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L99">src/data-structures/graph/abstract-graph.ts:99</a></li></ul></aside>
38
38
  <section class="tsd-panel-group tsd-index-group">
39
39
  <section class="tsd-panel tsd-index-panel">
40
40
  <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -46,13 +46,24 @@
46
46
  </div></section>
47
47
  <section class="tsd-index-section">
48
48
  <h3 class="tsd-index-heading">Properties</h3>
49
- <div class="tsd-index-list"><a href="AbstractGraph.html#_vertices" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g></svg><span>_vertices</span></a>
49
+ <div class="tsd-index-list"><a href="AbstractGraph.html#_vertices" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g></svg><span>_vertices</span></a>
50
+ </div></section>
51
+ <section class="tsd-index-section">
52
+ <h3 class="tsd-index-heading">Accessors</h3>
53
+ <div class="tsd-index-list"><a href="AbstractGraph.html#vertices" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-262144"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g></svg><span>vertices</span></a>
50
54
  </div></section>
51
55
  <section class="tsd-index-section">
52
56
  <h3 class="tsd-index-heading">Methods</h3>
53
- <div class="tsd-index-list"><a href="AbstractGraph.html#addEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g></svg><span>add<wbr/>Edge</span></a>
57
+ <div class="tsd-index-list"><a href="AbstractGraph.html#_createEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g></svg><span>_create<wbr/>Edge</span></a>
58
+ <a href="AbstractGraph.html#_createVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_create<wbr/>Vertex</span></a>
59
+ <a href="AbstractGraph.html#_getVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex</span></a>
60
+ <a href="AbstractGraph.html#_getVertexId" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex<wbr/>Id</span></a>
61
+ <a href="AbstractGraph.html#_setVertices" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_set<wbr/>Vertices</span></a>
62
+ <a href="AbstractGraph.html#addEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Edge</span></a>
54
63
  <a href="AbstractGraph.html#addVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Vertex</span></a>
55
64
  <a href="AbstractGraph.html#bellmanFord" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bellman<wbr/>Ford</span></a>
65
+ <a href="AbstractGraph.html#createAddEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Add<wbr/>Edge</span></a>
66
+ <a href="AbstractGraph.html#createAddVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Add<wbr/>Vertex</span></a>
56
67
  <a href="AbstractGraph.html#degreeOf" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>degree<wbr/>Of</span></a>
57
68
  <a href="AbstractGraph.html#dijkstra" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra</span></a>
58
69
  <a href="AbstractGraph.html#dijkstraWithoutHeap" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra<wbr/>Without<wbr/>Heap</span></a>
@@ -67,7 +78,6 @@
67
78
  <a href="AbstractGraph.html#getNeighbors" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Neighbors</span></a>
68
79
  <a href="AbstractGraph.html#getPathSumWeight" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Path<wbr/>Sum<wbr/>Weight</span></a>
69
80
  <a href="AbstractGraph.html#getVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex</span></a>
70
- <a href="AbstractGraph.html#getVertexId" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex<wbr/>Id</span></a>
71
81
  <a href="AbstractGraph.html#hasEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Edge</span></a>
72
82
  <a href="AbstractGraph.html#hasVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Vertex</span></a>
73
83
  <a href="AbstractGraph.html#removeAllVertices" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>All<wbr/>Vertices</span></a>
@@ -76,7 +86,6 @@
76
86
  <a href="AbstractGraph.html#removeVertex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Vertex</span></a>
77
87
  <a href="AbstractGraph.html#setEdgeWeight" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Edge<wbr/>Weight</span></a>
78
88
  <a href="AbstractGraph.html#tarjan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>tarjan</span></a>
79
- <a href="AbstractGraph.html#vertexSet" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>vertex<wbr/>Set</span></a>
80
89
  </div></section></div></details></section></section>
81
90
  <section class="tsd-panel-group tsd-member-group">
82
91
  <h2>Constructors</h2>
@@ -89,19 +98,121 @@
89
98
  <h4>Type Parameters</h4>
90
99
  <ul class="tsd-type-parameter-list">
91
100
  <li>
92
- <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h4></li>
101
+ <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li>
93
102
  <li>
94
- <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section>
103
+ <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section>
95
104
  <h4 class="tsd-returns-title">Returns <a href="AbstractGraph.html" class="tsd-signature-type tsd-kind-class">AbstractGraph</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section>
96
105
  <section class="tsd-panel-group tsd-member-group">
97
106
  <h2>Properties</h2>
98
- <section class="tsd-panel tsd-member tsd-is-protected"><a id="_vertices" class="tsd-anchor"></a>
99
- <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_vertices</span><a href="#_vertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
107
+ <section class="tsd-panel tsd-member tsd-is-private"><a id="_vertices" class="tsd-anchor"></a>
108
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_vertices</span><a href="#_vertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
100
109
  <div class="tsd-signature"><span class="tsd-kind-property">_vertices</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources">
101
110
  <ul>
102
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L87">src/data-structures/graph/abstract-graph.ts:87</a></li></ul></aside></section></section>
111
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L100">src/data-structures/graph/abstract-graph.ts:100</a></li></ul></aside></section></section>
112
+ <section class="tsd-panel-group tsd-member-group">
113
+ <h2>Accessors</h2>
114
+ <section class="tsd-panel tsd-member"><a id="vertices" class="tsd-anchor"></a>
115
+ <h3 class="tsd-anchor-link"><span>vertices</span><a href="#vertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
116
+ <ul class="tsd-signatures">
117
+ <li class="tsd-signature" id="vertices.vertices-1"><span class="tsd-signature-symbol">get</span> vertices<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></li>
118
+ <li class="tsd-description">
119
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
120
+ <ul>
121
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L102">src/data-structures/graph/abstract-graph.ts:102</a></li></ul></aside></li></ul></section></section>
103
122
  <section class="tsd-panel-group tsd-member-group">
104
123
  <h2>Methods</h2>
124
+ <section class="tsd-panel tsd-member"><a id="_createEdge" class="tsd-anchor"></a>
125
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>_create<wbr/>Edge</span><a href="#_createEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
126
+ <ul class="tsd-signatures">
127
+ <li class="tsd-signature tsd-anchor-link" id="_createEdge._createEdge-1"><span class="tsd-kind-call-signature">_create<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">srcOrV1</span>, <span class="tsd-kind-parameter">destOrV2</span>, <span class="tsd-kind-parameter">weight</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><a href="#_createEdge._createEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
128
+ <li class="tsd-description">
129
+ <div class="tsd-comment tsd-typography"><p>In TypeScript, a subclass inherits the interface implementation of its parent class, without needing to implement the same interface again in the subclass. This behavior differs from Java&#39;s approach. In Java, if a parent class implements an interface, the subclass needs to explicitly implement the same interface, even if the parent class has already implemented it.
130
+ This means that using abstract methods in the parent class cannot constrain the grandchild classes. Defining methods within an interface also cannot constrain the descendant classes. When inheriting from this class, developers need to be aware that this method needs to be overridden.</p>
131
+ </div>
132
+ <div class="tsd-parameters">
133
+ <h4 class="tsd-parameters-title">Parameters</h4>
134
+ <ul class="tsd-parameter-list">
135
+ <li>
136
+ <h5><span class="tsd-kind-parameter">srcOrV1</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5>
137
+ <div class="tsd-comment tsd-typography"></div></li>
138
+ <li>
139
+ <h5><span class="tsd-kind-parameter">destOrV2</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5>
140
+ <div class="tsd-comment tsd-typography"></div></li>
141
+ <li>
142
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5>
143
+ <div class="tsd-comment tsd-typography"></div></li>
144
+ <li>
145
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5>
146
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
147
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4>
148
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
149
+ <ul>
150
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L122">src/data-structures/graph/abstract-graph.ts:122</a></li></ul></aside></li></ul></section>
151
+ <section class="tsd-panel tsd-member"><a id="_createVertex" class="tsd-anchor"></a>
152
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>_create<wbr/>Vertex</span><a href="#_createVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
153
+ <ul class="tsd-signatures">
154
+ <li class="tsd-signature tsd-anchor-link" id="_createVertex._createVertex-1"><span class="tsd-kind-call-signature">_create<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><a href="#_createVertex._createVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
155
+ <li class="tsd-description">
156
+ <div class="tsd-comment tsd-typography"><p>In TypeScript, a subclass inherits the interface implementation of its parent class, without needing to implement the same interface again in the subclass. This behavior differs from Java&#39;s approach. In Java, if a parent class implements an interface, the subclass needs to explicitly implement the same interface, even if the parent class has already implemented it.
157
+ This means that using abstract methods in the parent class cannot constrain the grandchild classes. Defining methods within an interface also cannot constrain the descendant classes. When inheriting from this class, developers need to be aware that this method needs to be overridden.</p>
158
+ </div>
159
+ <div class="tsd-parameters">
160
+ <h4 class="tsd-parameters-title">Parameters</h4>
161
+ <ul class="tsd-parameter-list">
162
+ <li>
163
+ <h5><span class="tsd-kind-parameter">id</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5>
164
+ <div class="tsd-comment tsd-typography"></div></li>
165
+ <li>
166
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5>
167
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
168
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4>
169
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
170
+ <ul>
171
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L112">src/data-structures/graph/abstract-graph.ts:112</a></li></ul></aside></li></ul></section>
172
+ <section class="tsd-panel tsd-member"><a id="_getVertex" class="tsd-anchor"></a>
173
+ <h3 class="tsd-anchor-link"><span>_get<wbr/>Vertex</span><a href="#_getVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
174
+ <ul class="tsd-signatures">
175
+ <li class="tsd-signature tsd-anchor-link" id="_getVertex._getVertex-1"><span class="tsd-kind-call-signature">_get<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><a href="#_getVertex._getVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
176
+ <li class="tsd-description">
177
+ <div class="tsd-parameters">
178
+ <h4 class="tsd-parameters-title">Parameters</h4>
179
+ <ul class="tsd-parameter-list">
180
+ <li>
181
+ <h5><span class="tsd-kind-parameter">vertexOrId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div>
182
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4><aside class="tsd-sources">
183
+ <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#_getVertex">_getVertex</a></p>
184
+ <ul>
185
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L128">src/data-structures/graph/abstract-graph.ts:128</a></li></ul></aside></li></ul></section>
186
+ <section class="tsd-panel tsd-member"><a id="_getVertexId" class="tsd-anchor"></a>
187
+ <h3 class="tsd-anchor-link"><span>_get<wbr/>Vertex<wbr/>Id</span><a href="#_getVertexId" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
188
+ <ul class="tsd-signatures">
189
+ <li class="tsd-signature tsd-anchor-link" id="_getVertexId._getVertexId-1"><span class="tsd-kind-call-signature">_get<wbr/>Vertex<wbr/>Id</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><a href="#_getVertexId._getVertexId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
190
+ <li class="tsd-description">
191
+ <div class="tsd-parameters">
192
+ <h4 class="tsd-parameters-title">Parameters</h4>
193
+ <ul class="tsd-parameter-list">
194
+ <li>
195
+ <h5><span class="tsd-kind-parameter">vertexOrId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div>
196
+ <h4 class="tsd-returns-title">Returns <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h4><aside class="tsd-sources">
197
+ <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#_getVertexId">_getVertexId</a></p>
198
+ <ul>
199
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L137">src/data-structures/graph/abstract-graph.ts:137</a></li></ul></aside></li></ul></section>
200
+ <section class="tsd-panel tsd-member tsd-is-protected"><a id="_setVertices" class="tsd-anchor"></a>
201
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_set<wbr/>Vertices</span><a href="#_setVertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
202
+ <ul class="tsd-signatures tsd-is-protected">
203
+ <li class="tsd-signature tsd-anchor-link" id="_setVertices._setVertices-1"><span class="tsd-kind-call-signature">_set<wbr/>Vertices</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#_setVertices._setVertices-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
204
+ <li class="tsd-description">
205
+ <div class="tsd-comment tsd-typography"><p>--- start find cycles ---</p>
206
+ </div>
207
+ <div class="tsd-parameters">
208
+ <h4 class="tsd-parameters-title">Parameters</h4>
209
+ <ul class="tsd-parameter-list">
210
+ <li>
211
+ <h5><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul></div>
212
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
213
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
214
+ <ul>
215
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L975">src/data-structures/graph/abstract-graph.ts:975</a></li></ul></aside></li></ul></section>
105
216
  <section class="tsd-panel tsd-member"><a id="addEdge" class="tsd-anchor"></a>
106
217
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>add<wbr/>Edge</span><a href="#addEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
107
218
  <ul class="tsd-signatures">
@@ -115,29 +226,21 @@
115
226
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
116
227
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#addEdge">addEdge</a></p>
117
228
  <ul>
118
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L196">src/data-structures/graph/abstract-graph.ts:196</a></li></ul></aside></li></ul></section>
229
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L220">src/data-structures/graph/abstract-graph.ts:220</a></li></ul></aside></li></ul></section>
119
230
  <section class="tsd-panel tsd-member"><a id="addVertex" class="tsd-anchor"></a>
120
231
  <h3 class="tsd-anchor-link"><span>add<wbr/>Vertex</span><a href="#addVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
121
232
  <ul class="tsd-signatures">
122
233
  <li class="tsd-signature tsd-anchor-link" id="addVertex.addVertex-1"><span class="tsd-kind-call-signature">add<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">newVertex</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#addVertex.addVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
123
234
  <li class="tsd-description">
124
- <div class="tsd-comment tsd-typography"><p>The addVertex function adds a new vertex to a graph if it does not already exist.</p>
125
- </div>
126
235
  <div class="tsd-parameters">
127
236
  <h4 class="tsd-parameters-title">Parameters</h4>
128
237
  <ul class="tsd-parameter-list">
129
238
  <li>
130
- <h5><span class="tsd-kind-parameter">newVertex</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5>
131
- <div class="tsd-comment tsd-typography"><p>The parameter &quot;newVertex&quot; is of type V, which represents a vertex in a graph.</p>
132
- </div>
133
- <div class="tsd-comment tsd-typography"></div></li></ul></div>
134
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>The method is returning a boolean value. If the newVertex is already contained in the graph, it will return
135
- false. Otherwise, it will add the newVertex to the graph and return true.</p>
136
-
137
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
239
+ <h5><span class="tsd-kind-parameter">newVertex</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div>
240
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
138
241
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#addVertex">addVertex</a></p>
139
242
  <ul>
140
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L142">src/data-structures/graph/abstract-graph.ts:142</a></li></ul></aside></li></ul></section>
243
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L158">src/data-structures/graph/abstract-graph.ts:158</a></li></ul></aside></li></ul></section>
141
244
  <section class="tsd-panel tsd-member"><a id="bellmanFord" class="tsd-anchor"></a>
142
245
  <h3 class="tsd-anchor-link"><span>bellman<wbr/>Ford</span><a href="#bellmanFord" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
143
246
  <ul class="tsd-signatures">
@@ -193,7 +296,43 @@ vertex.</p>
193
296
  <h5><span class="tsd-kind-property">pre<wbr/>Map</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul>
194
297
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
195
298
  <ul>
196
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L683">src/data-structures/graph/abstract-graph.ts:683</a></li></ul></aside></li></ul></section>
299
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L700">src/data-structures/graph/abstract-graph.ts:700</a></li></ul></aside></li></ul></section>
300
+ <section class="tsd-panel tsd-member"><a id="createAddEdge" class="tsd-anchor"></a>
301
+ <h3 class="tsd-anchor-link"><span>create<wbr/>Add<wbr/>Edge</span><a href="#createAddEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
302
+ <ul class="tsd-signatures">
303
+ <li class="tsd-signature tsd-anchor-link" id="createAddEdge.createAddEdge-1"><span class="tsd-kind-call-signature">create<wbr/>Add<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">src</span>, <span class="tsd-kind-parameter">dest</span>, <span class="tsd-kind-parameter">weight</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#createAddEdge.createAddEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
304
+ <li class="tsd-description">
305
+ <div class="tsd-parameters">
306
+ <h4 class="tsd-parameters-title">Parameters</h4>
307
+ <ul class="tsd-parameter-list">
308
+ <li>
309
+ <h5><span class="tsd-kind-parameter">src</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li>
310
+ <li>
311
+ <h5><span class="tsd-kind-parameter">dest</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li>
312
+ <li>
313
+ <h5><span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5></li>
314
+ <li>
315
+ <h5><span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;val&quot;</span><span class="tsd-signature-symbol">]</span></h5></li></ul></div>
316
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
317
+ <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#createAddEdge">createAddEdge</a></p>
318
+ <ul>
319
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L213">src/data-structures/graph/abstract-graph.ts:213</a></li></ul></aside></li></ul></section>
320
+ <section class="tsd-panel tsd-member"><a id="createAddVertex" class="tsd-anchor"></a>
321
+ <h3 class="tsd-anchor-link"><span>create<wbr/>Add<wbr/>Vertex</span><a href="#createAddVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
322
+ <ul class="tsd-signatures">
323
+ <li class="tsd-signature tsd-anchor-link" id="createAddVertex.createAddVertex-1"><span class="tsd-kind-call-signature">create<wbr/>Add<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#createAddVertex.createAddVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
324
+ <li class="tsd-description">
325
+ <div class="tsd-parameters">
326
+ <h4 class="tsd-parameters-title">Parameters</h4>
327
+ <ul class="tsd-parameter-list">
328
+ <li>
329
+ <h5><span class="tsd-kind-parameter">id</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5></li>
330
+ <li>
331
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;val&quot;</span><span class="tsd-signature-symbol">]</span></h5></li></ul></div>
332
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
333
+ <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#createAddVertex">createAddVertex</a></p>
334
+ <ul>
335
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L153">src/data-structures/graph/abstract-graph.ts:153</a></li></ul></aside></li></ul></section>
197
336
  <section class="tsd-panel tsd-member"><a id="degreeOf" class="tsd-anchor"></a>
198
337
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>degree<wbr/>Of</span><a href="#degreeOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
199
338
  <ul class="tsd-signatures">
@@ -207,7 +346,7 @@ vertex.</p>
207
346
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
208
347
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#degreeOf">degreeOf</a></p>
209
348
  <ul>
210
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L176">src/data-structures/graph/abstract-graph.ts:176</a></li></ul></aside></li></ul></section>
349
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L193">src/data-structures/graph/abstract-graph.ts:193</a></li></ul></aside></li></ul></section>
211
350
  <section class="tsd-panel tsd-member"><a id="dijkstra" class="tsd-anchor"></a>
212
351
  <h3 class="tsd-anchor-link"><span>dijkstra</span><a href="#dijkstra" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
213
352
  <ul class="tsd-signatures">
@@ -251,7 +390,7 @@ shortest paths from the source vertex to all other vertices in the graph. If <co
251
390
  <h4 class="tsd-returns-title">Returns <a href="../types/DijkstraResult.html" class="tsd-signature-type tsd-kind-type-alias">DijkstraResult</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h4>
252
391
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
253
392
  <ul>
254
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L551">src/data-structures/graph/abstract-graph.ts:551</a></li></ul></aside></li></ul></section>
393
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L564">src/data-structures/graph/abstract-graph.ts:564</a></li></ul></aside></li></ul></section>
255
394
  <section class="tsd-panel tsd-member"><a id="dijkstraWithoutHeap" class="tsd-anchor"></a>
256
395
  <h3 class="tsd-anchor-link"><span>dijkstra<wbr/>Without<wbr/>Heap</span><a href="#dijkstraWithoutHeap" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
257
396
  <ul class="tsd-signatures">
@@ -294,7 +433,7 @@ shortest paths from the source vertex to all other vertices in the graph. If <co
294
433
  <h4 class="tsd-returns-title">Returns <a href="../types/DijkstraResult.html" class="tsd-signature-type tsd-kind-type-alias">DijkstraResult</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h4>
295
434
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
296
435
  <ul>
297
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L413">src/data-structures/graph/abstract-graph.ts:413</a></li></ul></aside></li></ul></section>
436
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L437">src/data-structures/graph/abstract-graph.ts:437</a></li></ul></aside></li></ul></section>
298
437
  <section class="tsd-panel tsd-member"><a id="edgeSet" class="tsd-anchor"></a>
299
438
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>edge<wbr/>Set</span><a href="#edgeSet" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
300
439
  <ul class="tsd-signatures">
@@ -303,7 +442,7 @@ shortest paths from the source vertex to all other vertices in the graph. If <co
303
442
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><aside class="tsd-sources">
304
443
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#edgeSet">edgeSet</a></p>
305
444
  <ul>
306
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L178">src/data-structures/graph/abstract-graph.ts:178</a></li></ul></aside></li></ul></section>
445
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L195">src/data-structures/graph/abstract-graph.ts:195</a></li></ul></aside></li></ul></section>
307
446
  <section class="tsd-panel tsd-member"><a id="edgesOf" class="tsd-anchor"></a>
308
447
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>edges<wbr/>Of</span><a href="#edgesOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
309
448
  <ul class="tsd-signatures">
@@ -317,7 +456,7 @@ shortest paths from the source vertex to all other vertices in the graph. If <co
317
456
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><aside class="tsd-sources">
318
457
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#edgesOf">edgesOf</a></p>
319
458
  <ul>
320
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L180">src/data-structures/graph/abstract-graph.ts:180</a></li></ul></aside></li></ul></section>
459
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L197">src/data-structures/graph/abstract-graph.ts:197</a></li></ul></aside></li></ul></section>
321
460
  <section class="tsd-panel tsd-member"><a id="floyd" class="tsd-anchor"></a>
322
461
  <h3 class="tsd-anchor-link"><span>floyd</span><a href="#floyd" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
323
462
  <ul class="tsd-signatures">
@@ -341,7 +480,7 @@ path between vertices in the</p>
341
480
  <h5><span class="tsd-kind-property">predecessor</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></h5></li></ul>
342
481
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
343
482
  <ul>
344
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L788">src/data-structures/graph/abstract-graph.ts:788</a></li></ul></aside></li></ul></section>
483
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L806">src/data-structures/graph/abstract-graph.ts:806</a></li></ul></aside></li></ul></section>
345
484
  <section class="tsd-panel tsd-member"><a id="getAllPathsBetween" class="tsd-anchor"></a>
346
485
  <h3 class="tsd-anchor-link"><span>get<wbr/>All<wbr/>Paths<wbr/>Between</span><a href="#getAllPathsBetween" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
347
486
  <ul class="tsd-signatures">
@@ -369,7 +508,7 @@ and v2).</p>
369
508
 
370
509
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
371
510
  <ul>
372
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L230">src/data-structures/graph/abstract-graph.ts:230</a></li></ul></aside></li></ul></section>
511
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L254">src/data-structures/graph/abstract-graph.ts:254</a></li></ul></aside></li></ul></section>
373
512
  <section class="tsd-panel tsd-member"><a id="getEdge" class="tsd-anchor"></a>
374
513
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>get<wbr/>Edge</span><a href="#getEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
375
514
  <ul class="tsd-signatures">
@@ -379,26 +518,30 @@ and v2).</p>
379
518
  <h4 class="tsd-parameters-title">Parameters</h4>
380
519
  <ul class="tsd-parameter-list">
381
520
  <li>
382
- <h5><span class="tsd-kind-parameter">srcOrId</span>: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li>
521
+ <h5><span class="tsd-kind-parameter">srcOrId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li>
383
522
  <li>
384
- <h5><span class="tsd-kind-parameter">destOrId</span>: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div>
523
+ <h5><span class="tsd-kind-parameter">destOrId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div>
385
524
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4><aside class="tsd-sources">
386
525
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#getEdge">getEdge</a></p>
387
526
  <ul>
388
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L134">src/data-structures/graph/abstract-graph.ts:134</a></li></ul></aside></li></ul></section>
527
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L151">src/data-structures/graph/abstract-graph.ts:151</a></li></ul></aside></li></ul></section>
389
528
  <section class="tsd-panel tsd-member"><a id="getEndsOfEdge" class="tsd-anchor"></a>
390
529
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>get<wbr/>Ends<wbr/>Of<wbr/>Edge</span><a href="#getEndsOfEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
391
530
  <ul class="tsd-signatures">
392
531
  <li class="tsd-signature tsd-anchor-link" id="getEndsOfEdge.getEndsOfEdge-1"><span class="tsd-kind-call-signature">get<wbr/>Ends<wbr/>Of<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">]</span><a href="#getEndsOfEdge.getEndsOfEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
393
532
  <li class="tsd-description">
533
+ <div class="tsd-comment tsd-typography"><p>Dijkstra algorithm time: O(logVE) space: O(V + E)
534
+ Dijkstra&#39;s algorithm is used to find the shortest paths from a source node to all other nodes in a graph. Its basic idea is to repeatedly choose the node closest to the source node and update the distances of other nodes using this node as an intermediary. Dijkstra&#39;s algorithm requires that the edge weights in the graph are non-negative.</p>
535
+ </div>
394
536
  <div class="tsd-parameters">
395
537
  <h4 class="tsd-parameters-title">Parameters</h4>
396
538
  <ul class="tsd-parameter-list">
397
539
  <li>
398
540
  <h5><span class="tsd-kind-parameter">edge</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5></li></ul></div>
399
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">]</span></h4><aside class="tsd-sources">
541
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">]</span></h4>
542
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
400
543
  <ul>
401
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L658">src/data-structures/graph/abstract-graph.ts:658</a></li></ul></aside></li></ul></section>
544
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L682">src/data-structures/graph/abstract-graph.ts:682</a></li></ul></aside></li></ul></section>
402
545
  <section class="tsd-panel tsd-member"><a id="getMinCostBetween" class="tsd-anchor"></a>
403
546
  <h3 class="tsd-anchor-link"><span>get<wbr/>Min<wbr/>Cost<wbr/>Between</span><a href="#getMinCostBetween" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
404
547
  <ul class="tsd-signatures">
@@ -435,7 +578,7 @@ vertices are not</p>
435
578
 
436
579
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
437
580
  <ul>
438
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L288">src/data-structures/graph/abstract-graph.ts:288</a></li></ul></aside></li></ul></section>
581
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L312">src/data-structures/graph/abstract-graph.ts:312</a></li></ul></aside></li></ul></section>
439
582
  <section class="tsd-panel tsd-member"><a id="getMinPathBetween" class="tsd-anchor"></a>
440
583
  <h3 class="tsd-anchor-link"><span>get<wbr/>Min<wbr/>Path<wbr/>Between</span><a href="#getMinPathBetween" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
441
584
  <ul class="tsd-signatures">
@@ -471,7 +614,7 @@ two vertices (<code>v1</code> and <code>v2</code>). If no path is found, it retu
471
614
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
472
615
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#getMinPathBetween">getMinPathBetween</a></p>
473
616
  <ul>
474
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L345">src/data-structures/graph/abstract-graph.ts:345</a></li></ul></aside></li></ul></section>
617
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L369">src/data-structures/graph/abstract-graph.ts:369</a></li></ul></aside></li></ul></section>
475
618
  <section class="tsd-panel tsd-member"><a id="getNeighbors" class="tsd-anchor"></a>
476
619
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>get<wbr/>Neighbors</span><a href="#getNeighbors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
477
620
  <ul class="tsd-signatures">
@@ -485,7 +628,7 @@ two vertices (<code>v1</code> and <code>v2</code>). If no path is found, it retu
485
628
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span></h4><aside class="tsd-sources">
486
629
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#getNeighbors">getNeighbors</a></p>
487
630
  <ul>
488
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L219">src/data-structures/graph/abstract-graph.ts:219</a></li></ul></aside></li></ul></section>
631
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L243">src/data-structures/graph/abstract-graph.ts:243</a></li></ul></aside></li></ul></section>
489
632
  <section class="tsd-panel tsd-member"><a id="getPathSumWeight" class="tsd-anchor"></a>
490
633
  <h3 class="tsd-anchor-link"><span>get<wbr/>Path<wbr/>Sum<wbr/>Weight</span><a href="#getPathSumWeight" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
491
634
  <ul class="tsd-signatures">
@@ -505,53 +648,20 @@ two vertices (<code>v1</code> and <code>v2</code>). If no path is found, it retu
505
648
 
506
649
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
507
650
  <ul>
508
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L266">src/data-structures/graph/abstract-graph.ts:266</a></li></ul></aside></li></ul></section>
651
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L290">src/data-structures/graph/abstract-graph.ts:290</a></li></ul></aside></li></ul></section>
509
652
  <section class="tsd-panel tsd-member"><a id="getVertex" class="tsd-anchor"></a>
510
653
  <h3 class="tsd-anchor-link"><span>get<wbr/>Vertex</span><a href="#getVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
511
654
  <ul class="tsd-signatures">
512
- <li class="tsd-signature tsd-anchor-link" id="getVertex.getVertex-1"><span class="tsd-kind-call-signature">get<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><a href="#getVertex.getVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
655
+ <li class="tsd-signature tsd-anchor-link" id="getVertex.getVertex-1"><span class="tsd-kind-call-signature">get<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><a href="#getVertex.getVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
513
656
  <li class="tsd-description">
514
- <div class="tsd-comment tsd-typography"><p>The function <code>getVertex</code> returns the vertex object associated with a given vertex ID or vertex object, or null if it
515
- does not exist.</p>
516
- </div>
517
657
  <div class="tsd-parameters">
518
658
  <h4 class="tsd-parameters-title">Parameters</h4>
519
659
  <ul class="tsd-parameter-list">
520
660
  <li>
521
- <h5><span class="tsd-kind-parameter">vertexOrId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5>
522
- <div class="tsd-comment tsd-typography"><p>The parameter <code>vertexOrId</code> can be either a <code>VertexId</code> or a <code>V</code>.</p>
523
- </div>
524
- <div class="tsd-comment tsd-typography"></div></li></ul></div>
525
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4><p>The function <code>getVertex</code> returns the vertex object (<code>V</code>) corresponding to the given <code>vertexOrId</code> parameter.
526
- If the vertex is found in the <code>_vertices</code> map, it is returned. Otherwise, <code>null</code> is returned.</p>
527
-
528
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
529
- <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#getVertex">getVertex</a></p>
661
+ <h5><span class="tsd-kind-parameter">vertexId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5></li></ul></div>
662
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4><aside class="tsd-sources">
530
663
  <ul>
531
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L100">src/data-structures/graph/abstract-graph.ts:100</a></li></ul></aside></li></ul></section>
532
- <section class="tsd-panel tsd-member"><a id="getVertexId" class="tsd-anchor"></a>
533
- <h3 class="tsd-anchor-link"><span>get<wbr/>Vertex<wbr/>Id</span><a href="#getVertexId" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
534
- <ul class="tsd-signatures">
535
- <li class="tsd-signature tsd-anchor-link" id="getVertexId.getVertexId-1"><span class="tsd-kind-call-signature">get<wbr/>Vertex<wbr/>Id</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><a href="#getVertexId.getVertexId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
536
- <li class="tsd-description">
537
- <div class="tsd-comment tsd-typography"><p>The function <code>getVertexId</code> returns the id of a vertex, whether it is passed as an instance of <code>AbstractVertex</code> or as
538
- a <code>VertexId</code>.</p>
539
- </div>
540
- <div class="tsd-parameters">
541
- <h4 class="tsd-parameters-title">Parameters</h4>
542
- <ul class="tsd-parameter-list">
543
- <li>
544
- <h5><span class="tsd-kind-parameter">vertexOrId</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5>
545
- <div class="tsd-comment tsd-typography"><p>The parameter <code>vertexOrId</code> can be either a vertex object (<code>V</code>) or a vertex ID
546
- (<code>VertexId</code>).</p>
547
- </div>
548
- <div class="tsd-comment tsd-typography"></div></li></ul></div>
549
- <h4 class="tsd-returns-title">Returns <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h4><p>the id of the vertex.</p>
550
-
551
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
552
- <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#getVertexId">getVertexId</a></p>
553
- <ul>
554
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L112">src/data-structures/graph/abstract-graph.ts:112</a></li></ul></aside></li></ul></section>
664
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L133">src/data-structures/graph/abstract-graph.ts:133</a></li></ul></aside></li></ul></section>
555
665
  <section class="tsd-panel tsd-member"><a id="hasEdge" class="tsd-anchor"></a>
556
666
  <h3 class="tsd-anchor-link"><span>has<wbr/>Edge</span><a href="#hasEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
557
667
  <ul class="tsd-signatures">
@@ -580,7 +690,7 @@ vertices <code>v1</code> and <code>v2</code>, and <code>false</code> otherwise.<
580
690
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
581
691
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#hasEdge">hasEdge</a></p>
582
692
  <ul>
583
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L191">src/data-structures/graph/abstract-graph.ts:191</a></li></ul></aside></li></ul></section>
693
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L208">src/data-structures/graph/abstract-graph.ts:208</a></li></ul></aside></li></ul></section>
584
694
  <section class="tsd-panel tsd-member"><a id="hasVertex" class="tsd-anchor"></a>
585
695
  <h3 class="tsd-anchor-link"><span>has<wbr/>Vertex</span><a href="#hasVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
586
696
  <ul class="tsd-signatures">
@@ -602,7 +712,7 @@ vertices <code>v1</code> and <code>v2</code>, and <code>false</code> otherwise.<
602
712
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
603
713
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#hasVertex">hasVertex</a></p>
604
714
  <ul>
605
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L122">src/data-structures/graph/abstract-graph.ts:122</a></li></ul></aside></li></ul></section>
715
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L147">src/data-structures/graph/abstract-graph.ts:147</a></li></ul></aside></li></ul></section>
606
716
  <section class="tsd-panel tsd-member"><a id="removeAllVertices" class="tsd-anchor"></a>
607
717
  <h3 class="tsd-anchor-link"><span>remove<wbr/>All<wbr/>Vertices</span><a href="#removeAllVertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
608
718
  <ul class="tsd-signatures">
@@ -625,7 +735,7 @@ were removed.</p>
625
735
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
626
736
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#removeAllVertices">removeAllVertices</a></p>
627
737
  <ul>
628
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L168">src/data-structures/graph/abstract-graph.ts:168</a></li></ul></aside></li></ul></section>
738
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L185">src/data-structures/graph/abstract-graph.ts:185</a></li></ul></aside></li></ul></section>
629
739
  <section class="tsd-panel tsd-member"><a id="removeEdge" class="tsd-anchor"></a>
630
740
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>remove<wbr/>Edge</span><a href="#removeEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
631
741
  <ul class="tsd-signatures">
@@ -639,7 +749,7 @@ were removed.</p>
639
749
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4><aside class="tsd-sources">
640
750
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#removeEdge">removeEdge</a></p>
641
751
  <ul>
642
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L91">src/data-structures/graph/abstract-graph.ts:91</a></li></ul></aside></li></ul></section>
752
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L126">src/data-structures/graph/abstract-graph.ts:126</a></li></ul></aside></li></ul></section>
643
753
  <section class="tsd-panel tsd-member"><a id="removeEdgeBetween" class="tsd-anchor"></a>
644
754
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>remove<wbr/>Edge<wbr/>Between</span><a href="#removeEdgeBetween" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
645
755
  <ul class="tsd-signatures">
@@ -655,7 +765,7 @@ were removed.</p>
655
765
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4><aside class="tsd-sources">
656
766
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#removeEdgeBetween">removeEdgeBetween</a></p>
657
767
  <ul>
658
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L89">src/data-structures/graph/abstract-graph.ts:89</a></li></ul></aside></li></ul></section>
768
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L124">src/data-structures/graph/abstract-graph.ts:124</a></li></ul></aside></li></ul></section>
659
769
  <section class="tsd-panel tsd-member"><a id="removeVertex" class="tsd-anchor"></a>
660
770
  <h3 class="tsd-anchor-link"><span>remove<wbr/>Vertex</span><a href="#removeVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
661
771
  <ul class="tsd-signatures">
@@ -677,7 +787,7 @@ were removed.</p>
677
787
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
678
788
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#removeVertex">removeVertex</a></p>
679
789
  <ul>
680
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L156">src/data-structures/graph/abstract-graph.ts:156</a></li></ul></aside></li></ul></section>
790
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L173">src/data-structures/graph/abstract-graph.ts:173</a></li></ul></aside></li></ul></section>
681
791
  <section class="tsd-panel tsd-member"><a id="setEdgeWeight" class="tsd-anchor"></a>
682
792
  <h3 class="tsd-anchor-link"><span>set<wbr/>Edge<wbr/>Weight</span><a href="#setEdgeWeight" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
683
793
  <ul class="tsd-signatures">
@@ -712,7 +822,7 @@ the weight of the edge and return true. If the edge does not exist, the function
712
822
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
713
823
  <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#setEdgeWeight">setEdgeWeight</a></p>
714
824
  <ul>
715
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L209">src/data-structures/graph/abstract-graph.ts:209</a></li></ul></aside></li></ul></section>
825
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L233">src/data-structures/graph/abstract-graph.ts:233</a></li></ul></aside></li></ul></section>
716
826
  <section class="tsd-panel tsd-member"><a id="tarjan" class="tsd-anchor"></a>
717
827
  <h3 class="tsd-anchor-link"><span>tarjan</span><a href="#tarjan" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
718
828
  <ul class="tsd-signatures">
@@ -773,20 +883,7 @@ are arrays of vertices that form cycles within the SCCs.</p>
773
883
  <h5><span class="tsd-kind-property">low<wbr/>Map</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul>
774
884
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
775
885
  <ul>
776
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L848">src/data-structures/graph/abstract-graph.ts:848</a></li></ul></aside></li></ul></section>
777
- <section class="tsd-panel tsd-member"><a id="vertexSet" class="tsd-anchor"></a>
778
- <h3 class="tsd-anchor-link"><span>vertex<wbr/>Set</span><a href="#vertexSet" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
779
- <ul class="tsd-signatures">
780
- <li class="tsd-signature tsd-anchor-link" id="vertexSet.vertexSet-1"><span class="tsd-kind-call-signature">vertex<wbr/>Set</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span><a href="#vertexSet.vertexSet-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
781
- <li class="tsd-description">
782
- <div class="tsd-comment tsd-typography"><p>The function <code>vertexSet()</code> returns a map of vertices.</p>
783
- </div>
784
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h4><p>The method <code>vertexSet()</code> returns a map of vertex IDs to vertex objects.</p>
785
-
786
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
787
- <p>Implementation of <a href="../interfaces/IGraph.html">IGraph</a>.<a href="../interfaces/IGraph.html#vertexSet">vertexSet</a></p>
788
- <ul>
789
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/abstract-graph.ts#L130">src/data-structures/graph/abstract-graph.ts:130</a></li></ul></aside></li></ul></section></section></div>
886
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/abstract-graph.ts#L869">src/data-structures/graph/abstract-graph.ts:869</a></li></ul></aside></li></ul></section></section></div>
790
887
  <div class="col-sidebar">
791
888
  <div class="page-menu">
792
889
  <div class="tsd-navigation settings">
@@ -807,10 +904,18 @@ are arrays of vertices that form cycles within the SCCs.</p>
807
904
  <div class="tsd-accordion-details">
808
905
  <ul>
809
906
  <li><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-512"></use></svg><span>constructor</span></a></li>
810
- <li><a href="#_vertices" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertices</span></a></li>
907
+ <li><a href="#_vertices" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertices</span></a></li>
908
+ <li><a href="#vertices" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>vertices</span></a></li>
909
+ <li><a href="#_createEdge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_create<wbr/>Edge</span></a></li>
910
+ <li><a href="#_createVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_create<wbr/>Vertex</span></a></li>
911
+ <li><a href="#_getVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex</span></a></li>
912
+ <li><a href="#_getVertexId" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex<wbr/>Id</span></a></li>
913
+ <li><a href="#_setVertices" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_set<wbr/>Vertices</span></a></li>
811
914
  <li><a href="#addEdge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Edge</span></a></li>
812
915
  <li><a href="#addVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Vertex</span></a></li>
813
916
  <li><a href="#bellmanFord" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bellman<wbr/>Ford</span></a></li>
917
+ <li><a href="#createAddEdge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Add<wbr/>Edge</span></a></li>
918
+ <li><a href="#createAddVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Add<wbr/>Vertex</span></a></li>
814
919
  <li><a href="#degreeOf" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>degree<wbr/>Of</span></a></li>
815
920
  <li><a href="#dijkstra" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra</span></a></li>
816
921
  <li><a href="#dijkstraWithoutHeap" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra<wbr/>Without<wbr/>Heap</span></a></li>
@@ -825,7 +930,6 @@ are arrays of vertices that form cycles within the SCCs.</p>
825
930
  <li><a href="#getNeighbors" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Neighbors</span></a></li>
826
931
  <li><a href="#getPathSumWeight" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Path<wbr/>Sum<wbr/>Weight</span></a></li>
827
932
  <li><a href="#getVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex</span></a></li>
828
- <li><a href="#getVertexId" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex<wbr/>Id</span></a></li>
829
933
  <li><a href="#hasEdge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Edge</span></a></li>
830
934
  <li><a href="#hasVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Vertex</span></a></li>
831
935
  <li><a href="#removeAllVertices" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>All<wbr/>Vertices</span></a></li>
@@ -833,14 +937,14 @@ are arrays of vertices that form cycles within the SCCs.</p>
833
937
  <li><a href="#removeEdgeBetween" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Edge<wbr/>Between</span></a></li>
834
938
  <li><a href="#removeVertex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Vertex</span></a></li>
835
939
  <li><a href="#setEdgeWeight" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Edge<wbr/>Weight</span></a></li>
836
- <li><a href="#tarjan" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>tarjan</span></a></li>
837
- <li><a href="#vertexSet" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>vertex<wbr/>Set</span></a></li></ul></div></details></div>
940
+ <li><a href="#tarjan" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>tarjan</span></a></li></ul></div></details></div>
838
941
  <div class="site-menu">
839
942
  <nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g></svg><span>data-<wbr/>structure-<wbr/>typed</span></a>
840
943
  <ul class="tsd-small-nested-navigation">
841
944
  <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>
842
945
  <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>
843
946
  <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>
947
+ <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>
844
948
  <li><a href="AVLTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g></svg><span>AVLTree</span></a></li>
845
949
  <li><a href="AVLTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>AVLTree<wbr/>Node</span></a></li>
846
950
  <li><a href="AaTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Aa<wbr/>Tree</span></a></li>
@@ -863,6 +967,7 @@ are arrays of vertices that form cycles within the SCCs.</p>
863
967
  <li><a href="DirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Directed<wbr/>Vertex</span></a></li>
864
968
  <li><a href="DoublyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Doubly<wbr/>Linked<wbr/>List</span></a></li>
865
969
  <li><a href="DoublyLinkedListNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Doubly<wbr/>Linked<wbr/>List<wbr/>Node</span></a></li>
970
+ <li><a href="HashTable.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Hash<wbr/>Table</span></a></li>
866
971
  <li><a href="Heap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Heap</span></a></li>
867
972
  <li><a href="HeapItem.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Heap<wbr/>Item</span></a></li>
868
973
  <li><a href="Matrix2D.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Matrix2D</span></a></li>
@@ -873,9 +978,9 @@ are arrays of vertices that form cycles within the SCCs.</p>
873
978
  <li><a href="MinPriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Min<wbr/>Priority<wbr/>Queue</span></a></li>
874
979
  <li><a href="Navigator.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Navigator</span></a></li>
875
980
  <li><a href="ObjectDeque.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Object<wbr/>Deque</span></a></li>
981
+ <li><a href="Pair.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Pair</span></a></li>
876
982
  <li><a href="PriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Priority<wbr/>Queue</span></a></li>
877
983
  <li><a href="Queue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Queue</span></a></li>
878
- <li><a href="RBTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>RBTree</span></a></li>
879
984
  <li><a href="SegmentTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree</span></a></li>
880
985
  <li><a href="SegmentTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree<wbr/>Node</span></a></li>
881
986
  <li><a href="SinglyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Singly<wbr/>Linked<wbr/>List</span></a></li>
@@ -883,8 +988,10 @@ are arrays of vertices that form cycles within the SCCs.</p>
883
988
  <li><a href="SkipLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Skip<wbr/>Linked<wbr/>List</span></a></li>
884
989
  <li><a href="SplayTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Splay<wbr/>Tree</span></a></li>
885
990
  <li><a href="Stack.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Stack</span></a></li>
991
+ <li><a href="TreeMap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Map</span></a></li>
886
992
  <li><a href="TreeMultiSet.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Multi<wbr/>Set</span></a></li>
887
993
  <li><a href="TreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Node</span></a></li>
994
+ <li><a href="TreeSet.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Set</span></a></li>
888
995
  <li><a href="Trie.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Trie</span></a></li>
889
996
  <li><a href="TrieNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Trie<wbr/>Node</span></a></li>
890
997
  <li><a href="TwoThreeTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Two<wbr/>Three<wbr/>Tree</span></a></li>
@@ -892,13 +999,13 @@ are arrays of vertices that form cycles within the SCCs.</p>
892
999
  <li><a href="UndirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Graph</span></a></li>
893
1000
  <li><a href="UndirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Vertex</span></a></li>
894
1001
  <li><a href="Vector2D.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Vector2D</span></a></li>
895
- <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>
896
- <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>
1002
+ <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>
1003
+ <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>
897
1004
  <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>
898
1005
  <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>
899
- <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>
900
- <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>
901
- <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>
1006
+ <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>
1007
+ <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>
1008
+ <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>
902
1009
  <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>
903
1010
  <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>
904
1011
  <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>
@@ -906,20 +1013,21 @@ are arrays of vertices that form cycles within the SCCs.</p>
906
1013
  <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>
907
1014
  <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>
908
1015
  <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>
909
- <li><a href="../types/DoublyLinkedListGetBy.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Doubly<wbr/>Linked<wbr/>List<wbr/>Get<wbr/>By</span></a></li>
1016
+ <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>
1017
+ <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>
1018
+ <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>
910
1019
  <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>
911
1020
  <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>
912
1021
  <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>
1022
+ <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>
1023
+ <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>
1024
+ <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>
1025
+ <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>
913
1026
  <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>
914
1027
  <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>
915
1028
  <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>
916
- <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>
917
- <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>
918
- <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>
919
1029
  <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>
920
1030
  <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>
921
- <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>
922
- <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>
923
1031
  <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>
924
1032
  <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>
925
1033
  <div class="tsd-generator">