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="UndirectedVertex.html" class="tsd-signature-type tsd-kind-class">UndirectedVertex</a></h4></li>
22
+ <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="UndirectedVertex.html" class="tsd-signature-type tsd-kind-class">UndirectedVertex</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="UndirectedEdge.html" class="tsd-signature-type tsd-kind-class">UndirectedEdge</a></h4></li></ul></section>
24
+ <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="UndirectedEdge.html" class="tsd-signature-type tsd-kind-class">UndirectedEdge</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">
@@ -29,7 +29,7 @@
29
29
  <ul class="tsd-hierarchy">
30
30
  <li><span class="target">UndirectedGraph</span></li></ul></li></ul></section><aside class="tsd-sources">
31
31
  <ul>
32
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L54">src/data-structures/graph/undirected-graph.ts:54</a></li></ul></aside>
32
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L61">src/data-structures/graph/undirected-graph.ts:61</a></li></ul></aside>
33
33
  <section class="tsd-panel-group tsd-index-group">
34
34
  <section class="tsd-panel tsd-index-panel">
35
35
  <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -41,18 +41,28 @@
41
41
  </div></section>
42
42
  <section class="tsd-index-section">
43
43
  <h3 class="tsd-index-heading">Properties</h3>
44
- <div class="tsd-index-list"><a href="UndirectedGraph.html#_edges" 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>_edges</span></a>
45
- <a href="UndirectedGraph.html#_vertices" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertices</span></a>
44
+ <div class="tsd-index-list"><a href="UndirectedGraph.html#_edgeConstructor" 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>_edge<wbr/>Constructor</span></a>
45
+ <a href="UndirectedGraph.html#_edges" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_edges</span></a>
46
+ <a href="UndirectedGraph.html#_vertexConstructor" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertex<wbr/>Constructor</span></a>
46
47
  </div></section>
47
48
  <section class="tsd-index-section">
48
49
  <h3 class="tsd-index-heading">Accessors</h3>
49
50
  <div class="tsd-index-list"><a href="UndirectedGraph.html#edges" 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>edges</span></a>
51
+ <a href="UndirectedGraph.html#vertices" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>vertices</span></a>
50
52
  </div></section>
51
53
  <section class="tsd-index-section">
52
54
  <h3 class="tsd-index-heading">Methods</h3>
53
- <div class="tsd-index-list"><a href="UndirectedGraph.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>
55
+ <div class="tsd-index-list"><a href="UndirectedGraph.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>
56
+ <a href="UndirectedGraph.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>
57
+ <a href="UndirectedGraph.html#_getVertex" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex</span></a>
58
+ <a href="UndirectedGraph.html#_getVertexId" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex<wbr/>Id</span></a>
59
+ <a href="UndirectedGraph.html#_setEdges" 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/>Edges</span></a>
60
+ <a href="UndirectedGraph.html#_setVertices" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_set<wbr/>Vertices</span></a>
61
+ <a href="UndirectedGraph.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
62
  <a href="UndirectedGraph.html#addVertex" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Vertex</span></a>
55
63
  <a href="UndirectedGraph.html#bellmanFord" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bellman<wbr/>Ford</span></a>
64
+ <a href="UndirectedGraph.html#createAddEdge" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Add<wbr/>Edge</span></a>
65
+ <a href="UndirectedGraph.html#createAddVertex" class="tsd-index-link tsd-is-inherited"><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
66
  <a href="UndirectedGraph.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
67
  <a href="UndirectedGraph.html#dijkstra" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra</span></a>
58
68
  <a href="UndirectedGraph.html#dijkstraWithoutHeap" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra<wbr/>Without<wbr/>Heap</span></a>
@@ -61,7 +71,6 @@
61
71
  <a href="UndirectedGraph.html#floyd" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>floyd</span></a>
62
72
  <a href="UndirectedGraph.html#getAllPathsBetween" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>All<wbr/>Paths<wbr/>Between</span></a>
63
73
  <a href="UndirectedGraph.html#getEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edge</span></a>
64
- <a href="UndirectedGraph.html#getEdges" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edges</span></a>
65
74
  <a href="UndirectedGraph.html#getEdgesOf" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edges<wbr/>Of</span></a>
66
75
  <a href="UndirectedGraph.html#getEndsOfEdge" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Ends<wbr/>Of<wbr/>Edge</span></a>
67
76
  <a href="UndirectedGraph.html#getMinCostBetween" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Min<wbr/>Cost<wbr/>Between</span></a>
@@ -69,7 +78,6 @@
69
78
  <a href="UndirectedGraph.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>
70
79
  <a href="UndirectedGraph.html#getPathSumWeight" class="tsd-index-link tsd-is-inherited"><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>
71
80
  <a href="UndirectedGraph.html#getVertex" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex</span></a>
72
- <a href="UndirectedGraph.html#getVertexId" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex<wbr/>Id</span></a>
73
81
  <a href="UndirectedGraph.html#hasEdge" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Edge</span></a>
74
82
  <a href="UndirectedGraph.html#hasVertex" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Vertex</span></a>
75
83
  <a href="UndirectedGraph.html#removeAllVertices" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>All<wbr/>Vertices</span></a>
@@ -78,39 +86,113 @@
78
86
  <a href="UndirectedGraph.html#removeVertex" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Vertex</span></a>
79
87
  <a href="UndirectedGraph.html#setEdgeWeight" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Edge<wbr/>Weight</span></a>
80
88
  <a href="UndirectedGraph.html#tarjan" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>tarjan</span></a>
81
- <a href="UndirectedGraph.html#vertexSet" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>vertex<wbr/>Set</span></a>
82
89
  </div></section></div></details></section></section>
83
90
  <section class="tsd-panel-group tsd-member-group">
84
91
  <h2>Constructors</h2>
85
92
  <section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a>
86
93
  <h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" id="icon-anchor"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3>
87
94
  <ul class="tsd-signatures">
88
- <li class="tsd-signature tsd-anchor-link" id="constructor.new_UndirectedGraph"><span class="tsd-kind-constructor-signature">new <wbr/>Undirected<wbr/>Graph</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">E</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="UndirectedGraph.html" class="tsd-signature-type tsd-kind-class">UndirectedGraph</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><a href="#constructor.new_UndirectedGraph" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
95
+ <li class="tsd-signature tsd-anchor-link" id="constructor.new_UndirectedGraph"><span class="tsd-kind-constructor-signature">new <wbr/>Undirected<wbr/>Graph</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">E</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexConstructor</span>, <span class="tsd-kind-parameter">edgeConstructor</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="UndirectedGraph.html" class="tsd-signature-type tsd-kind-class">UndirectedGraph</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><a href="#constructor.new_UndirectedGraph" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
89
96
  <li class="tsd-description">
90
97
  <section class="tsd-panel">
91
98
  <h4>Type Parameters</h4>
92
99
  <ul class="tsd-type-parameter-list">
93
100
  <li>
94
- <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="UndirectedVertex.html" class="tsd-signature-type tsd-kind-class">UndirectedVertex</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="UndirectedVertex.html" class="tsd-signature-type tsd-kind-class">UndirectedVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li>
95
102
  <li>
96
- <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="UndirectedEdge.html" class="tsd-signature-type tsd-kind-class">UndirectedEdge</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="UndirectedEdge.html" class="tsd-signature-type tsd-kind-class">UndirectedEdge</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>
104
+ <div class="tsd-parameters">
105
+ <h4 class="tsd-parameters-title">Parameters</h4>
106
+ <ul class="tsd-parameter-list">
107
+ <li>
108
+ <h5><span class="tsd-kind-parameter">vertexConstructor</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">new </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"> =&gt; </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">)</span></h5>
109
+ <ul class="tsd-parameters">
110
+ <li class="tsd-parameter-signature">
111
+ <ul class="tsd-signatures">
112
+ <li class="tsd-signature"><span class="tsd-signature-symbol">new </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></li>
113
+ <li class="tsd-description">
114
+ <div class="tsd-parameters">
115
+ <h4 class="tsd-parameters-title">Parameters</h4>
116
+ <ul class="tsd-parameter-list">
117
+ <li>
118
+ <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>
119
+ <li>
120
+ <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>
121
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4></li></ul></li></ul></li>
122
+ <li>
123
+ <h5><span class="tsd-kind-parameter">edgeConstructor</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">new </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-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"> =&gt; </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">)</span></h5>
124
+ <ul class="tsd-parameters">
125
+ <li class="tsd-parameter-signature">
126
+ <ul class="tsd-signatures">
127
+ <li class="tsd-signature"><span class="tsd-signature-symbol">new </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-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></li>
128
+ <li class="tsd-description">
129
+ <div class="tsd-parameters">
130
+ <h4 class="tsd-parameters-title">Parameters</h4>
131
+ <ul class="tsd-parameter-list">
132
+ <li>
133
+ <h5><span class="tsd-kind-parameter">src</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5></li>
134
+ <li>
135
+ <h5><span class="tsd-kind-parameter">dest</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5></li>
136
+ <li>
137
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5></li>
138
+ <li>
139
+ <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><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>
140
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4></li></ul></li></ul></li></ul></div>
97
141
  <h4 class="tsd-returns-title">Returns <a href="UndirectedGraph.html" class="tsd-signature-type tsd-kind-class">UndirectedGraph</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><aside class="tsd-sources">
98
142
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#constructor">constructor</a></p>
99
143
  <ul>
100
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L55">src/data-structures/graph/undirected-graph.ts:55</a></li></ul></aside></li></ul></section></section>
144
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L66">src/data-structures/graph/undirected-graph.ts:66</a></li></ul></aside></li></ul></section></section>
101
145
  <section class="tsd-panel-group tsd-member-group">
102
146
  <h2>Properties</h2>
147
+ <section class="tsd-panel tsd-member tsd-is-private"><a id="_edgeConstructor" class="tsd-anchor"></a>
148
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>_edge<wbr/>Constructor</span><a href="#_edgeConstructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
149
+ <div class="tsd-signature"><span class="tsd-kind-property">_edge<wbr/>Constructor</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">new </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-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"> =&gt; </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">)</span></div>
150
+ <div class="tsd-type-declaration">
151
+ <h4>Type declaration</h4>
152
+ <ul class="tsd-parameters">
153
+ <li class="tsd-parameter-signature">
154
+ <ul class="tsd-signatures">
155
+ <li class="tsd-signature" id="_edgeConstructor.__type.new__edgeConstructor"><span class="tsd-signature-symbol">new </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-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></li>
156
+ <li class="tsd-description">
157
+ <div class="tsd-parameters">
158
+ <h4 class="tsd-parameters-title">Parameters</h4>
159
+ <ul class="tsd-parameter-list">
160
+ <li>
161
+ <h5><span class="tsd-kind-parameter">src</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5></li>
162
+ <li>
163
+ <h5><span class="tsd-kind-parameter">dest</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5></li>
164
+ <li>
165
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5></li>
166
+ <li>
167
+ <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><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>
168
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4></li></ul></li></ul></div><aside class="tsd-sources">
169
+ <ul>
170
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L64">src/data-structures/graph/undirected-graph.ts:64</a></li></ul></aside></section>
103
171
  <section class="tsd-panel tsd-member tsd-is-protected"><a id="_edges" class="tsd-anchor"></a>
104
172
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_edges</span><a href="#_edges" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
105
173
  <div class="tsd-signature"><span class="tsd-kind-property">_edges</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">E</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources">
106
174
  <ul>
107
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L60">src/data-structures/graph/undirected-graph.ts:60</a></li></ul></aside></section>
108
- <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="_vertices" class="tsd-anchor"></a>
109
- <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>
110
- <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">
111
- <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#_vertices">_vertices</a></p>
175
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L73">src/data-structures/graph/undirected-graph.ts:73</a></li></ul></aside></section>
176
+ <section class="tsd-panel tsd-member tsd-is-private"><a id="_vertexConstructor" class="tsd-anchor"></a>
177
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>_vertex<wbr/>Constructor</span><a href="#_vertexConstructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
178
+ <div class="tsd-signature"><span class="tsd-kind-property">_vertex<wbr/>Constructor</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">new </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"> =&gt; </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">)</span></div>
179
+ <div class="tsd-type-declaration">
180
+ <h4>Type declaration</h4>
181
+ <ul class="tsd-parameters">
182
+ <li class="tsd-parameter-signature">
183
+ <ul class="tsd-signatures">
184
+ <li class="tsd-signature" id="_vertexConstructor.__type-1.new__vertexConstructor"><span class="tsd-signature-symbol">new </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></li>
185
+ <li class="tsd-description">
186
+ <div class="tsd-parameters">
187
+ <h4 class="tsd-parameters-title">Parameters</h4>
188
+ <ul class="tsd-parameter-list">
189
+ <li>
190
+ <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>
191
+ <li>
192
+ <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>
193
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4></li></ul></li></ul></div><aside class="tsd-sources">
112
194
  <ul>
113
- <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>
195
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L63">src/data-structures/graph/undirected-graph.ts:63</a></li></ul></aside></section></section>
114
196
  <section class="tsd-panel-group tsd-member-group">
115
197
  <h2>Accessors</h2>
116
198
  <section class="tsd-panel tsd-member"><a id="edges" class="tsd-anchor"></a>
@@ -120,8 +202,100 @@
120
202
  <li class="tsd-description">
121
203
  <h4 class="tsd-returns-title">Returns <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">E</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
122
204
  <ul>
123
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L62">src/data-structures/graph/undirected-graph.ts:62</a></li></ul></aside></li>
124
- <li class="tsd-signature" id="edges.edges-2"><span class="tsd-signature-symbol">set</span> edges<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
205
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L75">src/data-structures/graph/undirected-graph.ts:75</a></li></ul></aside></li></ul></section>
206
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="vertices" class="tsd-anchor"></a>
207
+ <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>
208
+ <ul class="tsd-signatures tsd-is-inherited">
209
+ <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>
210
+ <li class="tsd-description">
211
+ <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">
212
+ <p>Inherited from AbstractGraph.vertices</p>
213
+ <ul>
214
+ <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>
215
+ <section class="tsd-panel-group tsd-member-group">
216
+ <h2>Methods</h2>
217
+ <section class="tsd-panel tsd-member"><a id="_createEdge" class="tsd-anchor"></a>
218
+ <h3 class="tsd-anchor-link"><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>
219
+ <ul class="tsd-signatures">
220
+ <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">src</span>, <span class="tsd-kind-parameter">dest</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>
221
+ <li class="tsd-description">
222
+ <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.
223
+ 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>
224
+ </div>
225
+ <div class="tsd-parameters">
226
+ <h4 class="tsd-parameters-title">Parameters</h4>
227
+ <ul class="tsd-parameter-list">
228
+ <li>
229
+ <h5><span class="tsd-kind-parameter">src</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5>
230
+ <div class="tsd-comment tsd-typography"></div></li>
231
+ <li>
232
+ <h5><span class="tsd-kind-parameter">dest</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5>
233
+ <div class="tsd-comment tsd-typography"></div></li>
234
+ <li>
235
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5>
236
+ <div class="tsd-comment tsd-typography"></div></li>
237
+ <li>
238
+ <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><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;val&quot;</span><span class="tsd-signature-symbol">]</span></h5>
239
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
240
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4>
241
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
242
+ <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#_createEdge">_createEdge</a></p>
243
+ <ul>
244
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L97">src/data-structures/graph/undirected-graph.ts:97</a></li></ul></aside></li></ul></section>
245
+ <section class="tsd-panel tsd-member"><a id="_createVertex" class="tsd-anchor"></a>
246
+ <h3 class="tsd-anchor-link"><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>
247
+ <ul class="tsd-signatures">
248
+ <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>
249
+ <li class="tsd-description">
250
+ <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.
251
+ 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>
252
+ </div>
253
+ <div class="tsd-parameters">
254
+ <h4 class="tsd-parameters-title">Parameters</h4>
255
+ <ul class="tsd-parameter-list">
256
+ <li>
257
+ <h5><span class="tsd-kind-parameter">id</span>: <a href="../types/VertexId.html" class="tsd-signature-type tsd-kind-type-alias">VertexId</a></h5>
258
+ <div class="tsd-comment tsd-typography"></div></li>
259
+ <li>
260
+ <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>
261
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
262
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4>
263
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
264
+ <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#_createVertex">_createVertex</a></p>
265
+ <ul>
266
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L85">src/data-structures/graph/undirected-graph.ts:85</a></li></ul></aside></li></ul></section>
267
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="_getVertex" class="tsd-anchor"></a>
268
+ <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>
269
+ <ul class="tsd-signatures tsd-is-inherited">
270
+ <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>
271
+ <li class="tsd-description">
272
+ <div class="tsd-parameters">
273
+ <h4 class="tsd-parameters-title">Parameters</h4>
274
+ <ul class="tsd-parameter-list">
275
+ <li>
276
+ <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>
277
+ <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">
278
+ <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#_getVertex">_getVertex</a></p>
279
+ <ul>
280
+ <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>
281
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="_getVertexId" class="tsd-anchor"></a>
282
+ <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>
283
+ <ul class="tsd-signatures tsd-is-inherited">
284
+ <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>
285
+ <li class="tsd-description">
286
+ <div class="tsd-parameters">
287
+ <h4 class="tsd-parameters-title">Parameters</h4>
288
+ <ul class="tsd-parameter-list">
289
+ <li>
290
+ <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>
291
+ <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">
292
+ <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#_getVertexId">_getVertexId</a></p>
293
+ <ul>
294
+ <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>
295
+ <section class="tsd-panel tsd-member tsd-is-protected"><a id="_setEdges" class="tsd-anchor"></a>
296
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_set<wbr/>Edges</span><a href="#_setEdges" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
297
+ <ul class="tsd-signatures tsd-is-protected">
298
+ <li class="tsd-signature tsd-anchor-link" id="_setEdges._setEdges-1"><span class="tsd-kind-call-signature">_set<wbr/>Edges</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#_setEdges._setEdges-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
125
299
  <li class="tsd-description">
126
300
  <div class="tsd-parameters">
127
301
  <h4 class="tsd-parameters-title">Parameters</h4>
@@ -130,22 +304,38 @@
130
304
  <h5><span class="tsd-kind-parameter">v</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">E</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul></div>
131
305
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
132
306
  <ul>
133
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L66">src/data-structures/graph/undirected-graph.ts:66</a></li></ul></aside></li></ul></section></section>
134
- <section class="tsd-panel-group tsd-member-group">
135
- <h2>Methods</h2>
307
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L290">src/data-structures/graph/undirected-graph.ts:290</a></li></ul></aside></li></ul></section>
308
+ <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="_setVertices" class="tsd-anchor"></a>
309
+ <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>
310
+ <ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
311
+ <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>
312
+ <li class="tsd-description">
313
+ <div class="tsd-comment tsd-typography"><p>--- start find cycles ---</p>
314
+ </div>
315
+ <div class="tsd-parameters">
316
+ <h4 class="tsd-parameters-title">Parameters</h4>
317
+ <ul class="tsd-parameter-list">
318
+ <li>
319
+ <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>
320
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
321
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
322
+ <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#_setVertices">_setVertices</a></p>
323
+ <ul>
324
+ <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>
136
325
  <section class="tsd-panel tsd-member"><a id="addEdge" class="tsd-anchor"></a>
137
326
  <h3 class="tsd-anchor-link"><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>
138
327
  <ul class="tsd-signatures">
139
328
  <li class="tsd-signature tsd-anchor-link" id="addEdge.addEdge-1"><span class="tsd-kind-call-signature">add<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">boolean</span><a href="#addEdge.addEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
140
329
  <li class="tsd-description">
141
- <div class="tsd-comment tsd-typography"><p>The function adds an edge to a graph by connecting two vertices.</p>
330
+ <div class="tsd-comment tsd-typography"><p>The function adds an undirected edge to a graph by updating the adjacency list.</p>
142
331
  </div>
143
332
  <div class="tsd-parameters">
144
333
  <h4 class="tsd-parameters-title">Parameters</h4>
145
334
  <ul class="tsd-parameter-list">
146
335
  <li>
147
336
  <h5><span class="tsd-kind-parameter">edge</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5>
148
- <div class="tsd-comment tsd-typography"><p>The <code>edge</code> parameter is an object of type <code>E</code>, which represents an edge in a graph.</p>
337
+ <div class="tsd-comment tsd-typography"><p>An object representing an undirected edge in a graph. It has a property called &quot;vertices&quot; which is an
338
+ array of two vertices connected by the edge.</p>
149
339
  </div>
150
340
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
151
341
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>a boolean value.</p>
@@ -153,29 +343,21 @@
153
343
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
154
344
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#addEdge">addEdge</a></p>
155
345
  <ul>
156
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L105">src/data-structures/graph/undirected-graph.ts:105</a></li></ul></aside></li></ul></section>
346
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L132">src/data-structures/graph/undirected-graph.ts:132</a></li></ul></aside></li></ul></section>
157
347
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="addVertex" class="tsd-anchor"></a>
158
348
  <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>
159
349
  <ul class="tsd-signatures tsd-is-inherited">
160
350
  <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>
161
351
  <li class="tsd-description">
162
- <div class="tsd-comment tsd-typography"><p>The addVertex function adds a new vertex to a graph if it does not already exist.</p>
163
- </div>
164
352
  <div class="tsd-parameters">
165
353
  <h4 class="tsd-parameters-title">Parameters</h4>
166
354
  <ul class="tsd-parameter-list">
167
355
  <li>
168
- <h5><span class="tsd-kind-parameter">newVertex</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5>
169
- <div class="tsd-comment tsd-typography"><p>The parameter &quot;newVertex&quot; is of type V, which represents a vertex in a graph.</p>
170
- </div>
171
- <div class="tsd-comment tsd-typography"></div></li></ul></div>
172
- <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
173
- false. Otherwise, it will add the newVertex to the graph and return true.</p>
174
-
175
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
356
+ <h5><span class="tsd-kind-parameter">newVertex</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div>
357
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
176
358
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#addVertex">addVertex</a></p>
177
359
  <ul>
178
- <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>
360
+ <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>
179
361
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="bellmanFord" class="tsd-anchor"></a>
180
362
  <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>
181
363
  <ul class="tsd-signatures tsd-is-inherited">
@@ -232,30 +414,65 @@ vertex.</p>
232
414
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
233
415
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#bellmanFord">bellmanFord</a></p>
234
416
  <ul>
235
- <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>
417
+ <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>
418
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="createAddEdge" class="tsd-anchor"></a>
419
+ <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>
420
+ <ul class="tsd-signatures tsd-is-inherited">
421
+ <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>
422
+ <li class="tsd-description">
423
+ <div class="tsd-parameters">
424
+ <h4 class="tsd-parameters-title">Parameters</h4>
425
+ <ul class="tsd-parameter-list">
426
+ <li>
427
+ <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>
428
+ <li>
429
+ <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>
430
+ <li>
431
+ <h5><span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5></li>
432
+ <li>
433
+ <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>
434
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
435
+ <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#createAddEdge">createAddEdge</a></p>
436
+ <ul>
437
+ <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>
438
+ <section class="tsd-panel tsd-member tsd-is-inherited"><a id="createAddVertex" class="tsd-anchor"></a>
439
+ <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>
440
+ <ul class="tsd-signatures tsd-is-inherited">
441
+ <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>
442
+ <li class="tsd-description">
443
+ <div class="tsd-parameters">
444
+ <h4 class="tsd-parameters-title">Parameters</h4>
445
+ <ul class="tsd-parameter-list">
446
+ <li>
447
+ <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>
448
+ <li>
449
+ <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>
450
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
451
+ <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#createAddVertex">createAddVertex</a></p>
452
+ <ul>
453
+ <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>
236
454
  <section class="tsd-panel tsd-member"><a id="degreeOf" class="tsd-anchor"></a>
237
455
  <h3 class="tsd-anchor-link"><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>
238
456
  <ul class="tsd-signatures">
239
457
  <li class="tsd-signature tsd-anchor-link" id="degreeOf.degreeOf-1"><span class="tsd-kind-call-signature">degree<wbr/>Of</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">number</span><a href="#degreeOf.degreeOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
240
458
  <li class="tsd-description">
241
- <div class="tsd-comment tsd-typography"><p>The function <code>degreeOf</code> returns the degree of a vertex in a graph, which is the number of edges connected to that
242
- vertex.</p>
459
+ <div class="tsd-comment tsd-typography"><p>The function &quot;degreeOf&quot; returns the degree of a given vertex in an undirected graph.</p>
243
460
  </div>
244
461
  <div class="tsd-parameters">
245
462
  <h4 class="tsd-parameters-title">Parameters</h4>
246
463
  <ul class="tsd-parameter-list">
247
464
  <li>
248
465
  <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>
249
- <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>
466
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vertexOrId</code> can be either a <code>VertexId</code> or an
467
+ <code>V</code>.</p>
250
468
  </div>
251
469
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
252
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>The function <code>degreeOf</code> returns the degree of a vertex in a graph. The degree of a vertex is the number of
253
- edges that are incident to that vertex.</p>
470
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>the degree of the vertex.</p>
254
471
 
255
472
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
256
473
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#degreeOf">degreeOf</a></p>
257
474
  <ul>
258
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L165">src/data-structures/graph/undirected-graph.ts:165</a></li></ul></aside></li></ul></section>
475
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L196">src/data-structures/graph/undirected-graph.ts:196</a></li></ul></aside></li></ul></section>
259
476
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="dijkstra" class="tsd-anchor"></a>
260
477
  <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>
261
478
  <ul class="tsd-signatures tsd-is-inherited">
@@ -300,7 +517,7 @@ shortest paths from the source vertex to all other vertices in the graph. If <co
300
517
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
301
518
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#dijkstra">dijkstra</a></p>
302
519
  <ul>
303
- <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>
520
+ <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>
304
521
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="dijkstraWithoutHeap" class="tsd-anchor"></a>
305
522
  <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>
306
523
  <ul class="tsd-signatures tsd-is-inherited">
@@ -344,43 +561,42 @@ shortest paths from the source vertex to all other vertices in the graph. If <co
344
561
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
345
562
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#dijkstraWithoutHeap">dijkstraWithoutHeap</a></p>
346
563
  <ul>
347
- <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>
564
+ <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>
348
565
  <section class="tsd-panel tsd-member"><a id="edgeSet" class="tsd-anchor"></a>
349
566
  <h3 class="tsd-anchor-link"><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>
350
567
  <ul class="tsd-signatures">
351
568
  <li class="tsd-signature tsd-anchor-link" id="edgeSet.edgeSet-1"><span class="tsd-kind-call-signature">edge<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 tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span><a href="#edgeSet.edgeSet-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
352
569
  <li class="tsd-description">
353
- <div class="tsd-comment tsd-typography"><p>The function &quot;edgeSet&quot; returns an array of unique edges from a set of edges.</p>
570
+ <div class="tsd-comment tsd-typography"><p>The function &quot;edgeSet&quot; returns an array of unique undirected edges from a set of edges.</p>
354
571
  </div>
355
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><p>The method <code>edgeSet()</code> returns an array of type <code>E[]</code>.</p>
572
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><p>The method <code>edgeSet()</code> returns an array of <code>E</code> objects.</p>
356
573
 
357
574
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
358
575
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#edgeSet">edgeSet</a></p>
359
576
  <ul>
360
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L194">src/data-structures/graph/undirected-graph.ts:194</a></li></ul></aside></li></ul></section>
577
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L224">src/data-structures/graph/undirected-graph.ts:224</a></li></ul></aside></li></ul></section>
361
578
  <section class="tsd-panel tsd-member"><a id="edgesOf" class="tsd-anchor"></a>
362
579
  <h3 class="tsd-anchor-link"><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>
363
580
  <ul class="tsd-signatures">
364
581
  <li class="tsd-signature tsd-anchor-link" id="edgesOf.edgesOf-1"><span class="tsd-kind-call-signature">edges<wbr/>Of</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 tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span><a href="#edgesOf.edgesOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
365
582
  <li class="tsd-description">
366
- <div class="tsd-comment tsd-typography"><p>The function &quot;edgesOf&quot; returns an array of edges connected to a given vertex.</p>
583
+ <div class="tsd-comment tsd-typography"><p>The function &quot;edgesOf&quot; returns an array of undirected edges connected to a given vertex or vertex ID.</p>
367
584
  </div>
368
585
  <div class="tsd-parameters">
369
586
  <h4 class="tsd-parameters-title">Parameters</h4>
370
587
  <ul class="tsd-parameter-list">
371
588
  <li>
372
589
  <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>
373
- <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>
590
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vertexOrId</code> can be either a <code>VertexId</code> or an
591
+ <code>V</code>.</p>
374
592
  </div>
375
593
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
376
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><p>an array of edges connected to the specified vertex. If the vertex exists in the graph, the function
377
- returns the array of edges connected to that vertex. If the vertex does not exist in the graph, the function returns
378
- an empty array.</p>
594
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><p>an array of UndirectedEdge objects.</p>
379
595
 
380
596
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
381
597
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#edgesOf">edgesOf</a></p>
382
598
  <ul>
383
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L181">src/data-structures/graph/undirected-graph.ts:181</a></li></ul></aside></li></ul></section>
599
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L211">src/data-structures/graph/undirected-graph.ts:211</a></li></ul></aside></li></ul></section>
384
600
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="floyd" class="tsd-anchor"></a>
385
601
  <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>
386
602
  <ul class="tsd-signatures tsd-is-inherited">
@@ -405,7 +621,7 @@ path between vertices in the</p>
405
621
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
406
622
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#floyd">floyd</a></p>
407
623
  <ul>
408
- <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>
624
+ <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>
409
625
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="getAllPathsBetween" class="tsd-anchor"></a>
410
626
  <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>
411
627
  <ul class="tsd-signatures tsd-is-inherited">
@@ -434,91 +650,81 @@ and v2).</p>
434
650
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
435
651
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getAllPathsBetween">getAllPathsBetween</a></p>
436
652
  <ul>
437
- <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>
653
+ <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>
438
654
  <section class="tsd-panel tsd-member"><a id="getEdge" class="tsd-anchor"></a>
439
655
  <h3 class="tsd-anchor-link"><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>
440
656
  <ul class="tsd-signatures">
441
657
  <li class="tsd-signature tsd-anchor-link" id="getEdge.getEdge-1"><span class="tsd-kind-call-signature">get<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v1</span>, <span class="tsd-kind-parameter">v2</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">E</span><a href="#getEdge.getEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
442
658
  <li class="tsd-description">
443
- <div class="tsd-comment tsd-typography"><p>The function <code>getEdge</code> returns the first edge that connects two vertices, or null if no such edge exists.</p>
659
+ <div class="tsd-comment tsd-typography"><p>The function <code>getEdge</code> returns the first undirected edge that connects two given vertices, or null if no such edge
660
+ exists.</p>
444
661
  </div>
445
662
  <div class="tsd-parameters">
446
663
  <h4 class="tsd-parameters-title">Parameters</h4>
447
664
  <ul class="tsd-parameter-list">
448
665
  <li>
449
666
  <h5><span class="tsd-kind-parameter">v1</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>
450
- <div class="tsd-comment tsd-typography"><p>The parameter <code>v1</code> represents either a vertex object (<code>V</code>) or a vertex ID
451
- (<code>VertexId</code>). It can also be <code>null</code>.</p>
667
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>v1</code> represents either an <code>V</code>
668
+ object, <code>null</code>, or a <code>VertexId</code>. It is used to specify one of the vertices of the edge.</p>
452
669
  </div>
453
670
  <div class="tsd-comment tsd-typography"></div></li>
454
671
  <li>
455
672
  <h5><span class="tsd-kind-parameter">v2</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>
456
- <div class="tsd-comment tsd-typography"><p>The parameter <code>v2</code> represents a vertex or vertex ID. It can be of type <code>V</code> (vertex
457
- object), <code>null</code>, or <code>VertexId</code> (vertex ID).</p>
673
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>v2</code> represents either an <code>UndirectedVertex</code>
674
+ object or a <code>VertexId</code> (identifier) of an undirected vertex.</p>
458
675
  </div>
459
676
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
460
- <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><p>an edge (E) or null.</p>
677
+ <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><p>an instance of <code>E</code> or <code>null</code>.</p>
461
678
 
462
679
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
463
680
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getEdge">getEdge</a></p>
464
681
  <ul>
465
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L85">src/data-structures/graph/undirected-graph.ts:85</a></li></ul></aside></li></ul></section>
466
- <section class="tsd-panel tsd-member"><a id="getEdges" class="tsd-anchor"></a>
467
- <h3 class="tsd-anchor-link"><span>get<wbr/>Edges</span><a href="#getEdges" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
468
- <ul class="tsd-signatures">
469
- <li class="tsd-signature tsd-anchor-link" id="getEdges.getEdges-1"><span class="tsd-kind-call-signature">get<wbr/>Edges</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><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">[]</span><span class="tsd-signature-symbol">&gt;</span><a href="#getEdges.getEdges-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
470
- <li class="tsd-description">
471
- <div class="tsd-comment tsd-typography"><p>Starting from TypeScript version 5.0 and onwards, the use of distinct access modifiers for Getters and Setters is not permitted. As an alternative, to ensure compatibility, it is necessary to adopt a Java-style approach for Setters (using the same name as the property) while utilizing separate method names for Getters.</p>
472
- </div>
473
- <h4 class="tsd-returns-title">Returns <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">E</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4>
474
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
475
- <ul>
476
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L73">src/data-structures/graph/undirected-graph.ts:73</a></li></ul></aside></li></ul></section>
682
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L111">src/data-structures/graph/undirected-graph.ts:111</a></li></ul></aside></li></ul></section>
477
683
  <section class="tsd-panel tsd-member"><a id="getEdgesOf" class="tsd-anchor"></a>
478
684
  <h3 class="tsd-anchor-link"><span>get<wbr/>Edges<wbr/>Of</span><a href="#getEdgesOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
479
685
  <ul class="tsd-signatures">
480
686
  <li class="tsd-signature tsd-anchor-link" id="getEdgesOf.getEdgesOf-1"><span class="tsd-kind-call-signature">get<wbr/>Edges<wbr/>Of</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 tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span><a href="#getEdgesOf.getEdgesOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
481
687
  <li class="tsd-description">
482
- <div class="tsd-comment tsd-typography"><p>The function &quot;getEdgesOf&quot; returns an array of edges connected to a given vertex or vertex ID.</p>
688
+ <div class="tsd-comment tsd-typography"><p>The function &quot;getEdgesOf&quot; returns an array of undirected edges connected to a given vertex or vertex ID.</p>
483
689
  </div>
484
690
  <div class="tsd-parameters">
485
691
  <h4 class="tsd-parameters-title">Parameters</h4>
486
692
  <ul class="tsd-parameter-list">
487
693
  <li>
488
694
  <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>
489
- <div class="tsd-comment tsd-typography"><p>The parameter <code>vertexOrId</code> can accept either a vertex object (<code>V</code>) or a vertex ID
490
- (<code>VertexId</code>).</p>
695
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vertexOrId</code> can be either an
696
+ <code>V</code> object or a <code>VertexId</code>.</p>
491
697
  </div>
492
698
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
493
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><p>an array of edges (E[]) that are connected to the specified vertex or vertex ID.</p>
699
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[]</span></h4><p>The function <code>getEdgesOf</code> returns an array of <code>E</code> objects.</p>
494
700
 
495
701
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
496
702
  <ul>
497
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L210">src/data-structures/graph/undirected-graph.ts:210</a></li></ul></aside></li></ul></section>
703
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L240">src/data-structures/graph/undirected-graph.ts:240</a></li></ul></aside></li></ul></section>
498
704
  <section class="tsd-panel tsd-member"><a id="getEndsOfEdge" class="tsd-anchor"></a>
499
705
  <h3 class="tsd-anchor-link"><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>
500
706
  <ul class="tsd-signatures">
501
707
  <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>
502
708
  <li class="tsd-description">
503
- <div class="tsd-comment tsd-typography"><p>The function &quot;getEndsOfEdge&quot; returns the vertices at the ends of a given edge, or null if the edge does not exist in
504
- the graph.</p>
709
+ <div class="tsd-comment tsd-typography"><p>The function &quot;getEndsOfEdge&quot; returns the two vertices that form the ends of a given undirected edge, or null if the
710
+ edge does not exist in the graph.</p>
505
711
  </div>
506
712
  <div class="tsd-parameters">
507
713
  <h4 class="tsd-parameters-title">Parameters</h4>
508
714
  <ul class="tsd-parameter-list">
509
715
  <li>
510
716
  <h5><span class="tsd-kind-parameter">edge</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5>
511
- <div class="tsd-comment tsd-typography"><p>The parameter &quot;edge&quot; is of type E, which represents an edge in a graph.</p>
717
+ <div class="tsd-comment tsd-typography"><p>An object representing an undirected edge in a graph. It has a property called &quot;vertices&quot; which is an
718
+ array containing two vertices that the edge connects.</p>
512
719
  </div>
513
720
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
514
- <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><p>The function <code>getEndsOfEdge</code> returns an array containing two vertices <code>[V, V]</code> if the edge exists in the
515
- graph and both vertices are found. If the edge does not exist or one or both vertices are not found, it returns
516
- <code>null</code>.</p>
721
+ <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><p>The function <code>getEndsOfEdge</code> returns an array containing the two ends of the given <code>edge</code> if the edge
722
+ exists in the graph. If the edge does not exist, it returns <code>null</code>.</p>
517
723
 
518
724
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
519
725
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getEndsOfEdge">getEndsOfEdge</a></p>
520
726
  <ul>
521
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L247">src/data-structures/graph/undirected-graph.ts:247</a></li></ul></aside></li></ul></section>
727
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L277">src/data-structures/graph/undirected-graph.ts:277</a></li></ul></aside></li></ul></section>
522
728
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="getMinCostBetween" class="tsd-anchor"></a>
523
729
  <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>
524
730
  <ul class="tsd-signatures tsd-is-inherited">
@@ -556,7 +762,7 @@ vertices are not</p>
556
762
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
557
763
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getMinCostBetween">getMinCostBetween</a></p>
558
764
  <ul>
559
- <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>
765
+ <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>
560
766
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="getMinPathBetween" class="tsd-anchor"></a>
561
767
  <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>
562
768
  <ul class="tsd-signatures tsd-is-inherited">
@@ -592,29 +798,29 @@ two vertices (<code>v1</code> and <code>v2</code>). If no path is found, it retu
592
798
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
593
799
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getMinPathBetween">getMinPathBetween</a></p>
594
800
  <ul>
595
- <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>
801
+ <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>
596
802
  <section class="tsd-panel tsd-member"><a id="getNeighbors" class="tsd-anchor"></a>
597
803
  <h3 class="tsd-anchor-link"><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>
598
804
  <ul class="tsd-signatures">
599
805
  <li class="tsd-signature tsd-anchor-link" id="getNeighbors.getNeighbors-1"><span class="tsd-kind-call-signature">get<wbr/>Neighbors</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 tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span><a href="#getNeighbors.getNeighbors-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
600
806
  <li class="tsd-description">
601
- <div class="tsd-comment tsd-typography"><p>The function &quot;getNeighbors&quot; returns an array of neighboring vertices of a given vertex.</p>
807
+ <div class="tsd-comment tsd-typography"><p>The function <code>getNeighbors</code> returns an array of neighboring vertices of a given vertex in an undirected graph.</p>
602
808
  </div>
603
809
  <div class="tsd-parameters">
604
810
  <h4 class="tsd-parameters-title">Parameters</h4>
605
811
  <ul class="tsd-parameter-list">
606
812
  <li>
607
813
  <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>
608
- <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
609
- (<code>VertexId</code>).</p>
814
+ <div class="tsd-comment tsd-typography"><p>The <code>vertexOrId</code> parameter can be either an
815
+ <code>V</code> object or a <code>VertexId</code>. It represents the vertex for which we want to find the neighbors.</p>
610
816
  </div>
611
817
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
612
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span></h4><p>an array of vertices (V[]).</p>
818
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span></h4><p>an array of UndirectedVertex objects.</p>
613
819
 
614
820
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
615
821
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getNeighbors">getNeighbors</a></p>
616
822
  <ul>
617
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L224">src/data-structures/graph/undirected-graph.ts:224</a></li></ul></aside></li></ul></section>
823
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L254">src/data-structures/graph/undirected-graph.ts:254</a></li></ul></aside></li></ul></section>
618
824
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="getPathSumWeight" class="tsd-anchor"></a>
619
825
  <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>
620
826
  <ul class="tsd-signatures tsd-is-inherited">
@@ -635,53 +841,21 @@ two vertices (<code>v1</code> and <code>v2</code>). If no path is found, it retu
635
841
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
636
842
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getPathSumWeight">getPathSumWeight</a></p>
637
843
  <ul>
638
- <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>
844
+ <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>
639
845
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="getVertex" class="tsd-anchor"></a>
640
846
  <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>
641
847
  <ul class="tsd-signatures tsd-is-inherited">
642
- <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>
848
+ <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>
643
849
  <li class="tsd-description">
644
- <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
645
- does not exist.</p>
646
- </div>
647
850
  <div class="tsd-parameters">
648
851
  <h4 class="tsd-parameters-title">Parameters</h4>
649
852
  <ul class="tsd-parameter-list">
650
853
  <li>
651
- <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>
652
- <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>
653
- </div>
654
- <div class="tsd-comment tsd-typography"></div></li></ul></div>
655
- <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.
656
- If the vertex is found in the <code>_vertices</code> map, it is returned. Otherwise, <code>null</code> is returned.</p>
657
-
658
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
854
+ <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>
855
+ <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">
659
856
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getVertex">getVertex</a></p>
660
857
  <ul>
661
- <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>
662
- <section class="tsd-panel tsd-member tsd-is-inherited"><a id="getVertexId" class="tsd-anchor"></a>
663
- <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>
664
- <ul class="tsd-signatures tsd-is-inherited">
665
- <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>
666
- <li class="tsd-description">
667
- <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
668
- a <code>VertexId</code>.</p>
669
- </div>
670
- <div class="tsd-parameters">
671
- <h4 class="tsd-parameters-title">Parameters</h4>
672
- <ul class="tsd-parameter-list">
673
- <li>
674
- <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>
675
- <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
676
- (<code>VertexId</code>).</p>
677
- </div>
678
- <div class="tsd-comment tsd-typography"></div></li></ul></div>
679
- <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>
680
-
681
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
682
- <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#getVertexId">getVertexId</a></p>
683
- <ul>
684
- <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>
858
+ <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>
685
859
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="hasEdge" class="tsd-anchor"></a>
686
860
  <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>
687
861
  <ul class="tsd-signatures tsd-is-inherited">
@@ -710,7 +884,7 @@ vertices <code>v1</code> and <code>v2</code>, and <code>false</code> otherwise.<
710
884
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
711
885
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#hasEdge">hasEdge</a></p>
712
886
  <ul>
713
- <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>
887
+ <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>
714
888
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="hasVertex" class="tsd-anchor"></a>
715
889
  <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>
716
890
  <ul class="tsd-signatures tsd-is-inherited">
@@ -732,7 +906,7 @@ vertices <code>v1</code> and <code>v2</code>, and <code>false</code> otherwise.<
732
906
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
733
907
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#hasVertex">hasVertex</a></p>
734
908
  <ul>
735
- <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>
909
+ <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>
736
910
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="removeAllVertices" class="tsd-anchor"></a>
737
911
  <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>
738
912
  <ul class="tsd-signatures tsd-is-inherited">
@@ -755,55 +929,60 @@ were removed.</p>
755
929
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
756
930
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#removeAllVertices">removeAllVertices</a></p>
757
931
  <ul>
758
- <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>
932
+ <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>
759
933
  <section class="tsd-panel tsd-member"><a id="removeEdge" class="tsd-anchor"></a>
760
934
  <h3 class="tsd-anchor-link"><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>
761
935
  <ul class="tsd-signatures">
762
936
  <li class="tsd-signature tsd-anchor-link" id="removeEdge.removeEdge-1"><span class="tsd-kind-call-signature">remove<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-type tsd-kind-type-parameter">E</span><a href="#removeEdge.removeEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
763
937
  <li class="tsd-description">
764
- <div class="tsd-comment tsd-typography"><p>The removeEdge function removes an edge between two vertices in a graph.</p>
938
+ <div class="tsd-comment tsd-typography"><p>The removeEdge function removes an edge between two vertices in an undirected graph.</p>
765
939
  </div>
766
940
  <div class="tsd-parameters">
767
941
  <h4 class="tsd-parameters-title">Parameters</h4>
768
942
  <ul class="tsd-parameter-list">
769
943
  <li>
770
944
  <h5><span class="tsd-kind-parameter">edge</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5>
771
- <div class="tsd-comment tsd-typography"><p>The parameter &quot;edge&quot; is of type E, which represents an edge in a graph.</p>
945
+ <div class="tsd-comment tsd-typography"><p>An object representing an undirected edge. It has a property called &quot;vertices&quot; which is an array
946
+ containing the two vertices connected by the edge.</p>
772
947
  </div>
773
948
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
774
- <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><p>The method is returning either the removed edge (of type E) or null if the edge was not found.</p>
949
+ <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><p>The method is returning an UndirectedEdge object or null.</p>
775
950
 
776
951
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
777
952
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#removeEdge">removeEdge</a></p>
778
953
  <ul>
779
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L154">src/data-structures/graph/undirected-graph.ts:154</a></li></ul></aside></li></ul></section>
954
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L186">src/data-structures/graph/undirected-graph.ts:186</a></li></ul></aside></li></ul></section>
780
955
  <section class="tsd-panel tsd-member"><a id="removeEdgeBetween" class="tsd-anchor"></a>
781
956
  <h3 class="tsd-anchor-link"><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>
782
957
  <ul class="tsd-signatures">
783
958
  <li class="tsd-signature tsd-anchor-link" id="removeEdgeBetween.removeEdgeBetween-1"><span class="tsd-kind-call-signature">remove<wbr/>Edge<wbr/>Between</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v1</span>, <span class="tsd-kind-parameter">v2</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">E</span><a href="#removeEdgeBetween.removeEdgeBetween-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
784
959
  <li class="tsd-description">
785
- <div class="tsd-comment tsd-typography"><p>The function removes an edge between two vertices in a graph and returns the removed edge, or null if either of the
786
- vertices does not exist.</p>
960
+ <div class="tsd-comment tsd-typography"><p>The function removes an edge between two vertices in an undirected graph.</p>
787
961
  </div>
788
962
  <div class="tsd-parameters">
789
963
  <h4 class="tsd-parameters-title">Parameters</h4>
790
964
  <ul class="tsd-parameter-list">
791
965
  <li>
792
966
  <h5><span class="tsd-kind-parameter">v1</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>
793
- <div class="tsd-comment tsd-typography"><p>The parameter <code>v1</code> represents either a vertex object (<code>V</code>) or a vertex ID (<code>VertexId</code>).</p>
967
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>v1</code> represents either an <code>V</code> object or
968
+ a <code>VertexId</code>. It is used to specify one of the vertices of the edge that needs to be removed.</p>
794
969
  </div>
795
970
  <div class="tsd-comment tsd-typography"></div></li>
796
971
  <li>
797
972
  <h5><span class="tsd-kind-parameter">v2</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>
798
- <div class="tsd-comment tsd-typography"><p>V | VertexId: The second vertex or vertex ID of the edge to be removed.</p>
973
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>v2</code> represents either an instance of the
974
+ <code>UndirectedVertex</code> class or a <code>VertexId</code>. It is used to identify the second vertex of the edge that needs to be
975
+ removed.</p>
799
976
  </div>
800
977
  <div class="tsd-comment tsd-typography"></div></li></ul></div>
801
- <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><p>the removed edge (E) if it exists, or null if either of the vertices (v1 or v2) does not exist.</p>
978
+ <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><p>The function <code>removeEdgeBetween</code> returns an <code>E</code> object if an edge is successfully removed
979
+ between the two vertices <code>v1</code> and <code>v2</code>. If either <code>v1</code> or <code>v2</code> is not found in the graph, or if there is no edge
980
+ between them, the function returns <code>null</code>.</p>
802
981
 
803
982
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
804
983
  <p>Overrides <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#removeEdgeBetween">removeEdgeBetween</a></p>
805
984
  <ul>
806
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/4813c6d/src/data-structures/graph/undirected-graph.ts#L128">src/data-structures/graph/undirected-graph.ts:128</a></li></ul></aside></li></ul></section>
985
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/60e08d3/src/data-structures/graph/undirected-graph.ts#L159">src/data-structures/graph/undirected-graph.ts:159</a></li></ul></aside></li></ul></section>
807
986
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="removeVertex" class="tsd-anchor"></a>
808
987
  <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>
809
988
  <ul class="tsd-signatures tsd-is-inherited">
@@ -825,7 +1004,7 @@ vertices does not exist.</p>
825
1004
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
826
1005
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#removeVertex">removeVertex</a></p>
827
1006
  <ul>
828
- <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>
1007
+ <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>
829
1008
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="setEdgeWeight" class="tsd-anchor"></a>
830
1009
  <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>
831
1010
  <ul class="tsd-signatures tsd-is-inherited">
@@ -860,7 +1039,7 @@ the weight of the edge and return true. If the edge does not exist, the function
860
1039
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
861
1040
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#setEdgeWeight">setEdgeWeight</a></p>
862
1041
  <ul>
863
- <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>
1042
+ <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>
864
1043
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="tarjan" class="tsd-anchor"></a>
865
1044
  <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>
866
1045
  <ul class="tsd-signatures tsd-is-inherited">
@@ -922,20 +1101,7 @@ are arrays of vertices that form cycles within the SCCs.</p>
922
1101
  <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
923
1102
  <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#tarjan">tarjan</a></p>
924
1103
  <ul>
925
- <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>
926
- <section class="tsd-panel tsd-member tsd-is-inherited"><a id="vertexSet" class="tsd-anchor"></a>
927
- <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>
928
- <ul class="tsd-signatures tsd-is-inherited">
929
- <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>
930
- <li class="tsd-description">
931
- <div class="tsd-comment tsd-typography"><p>The function <code>vertexSet()</code> returns a map of vertices.</p>
932
- </div>
933
- <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>
934
-
935
- <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
936
- <p>Inherited from <a href="AbstractGraph.html">AbstractGraph</a>.<a href="AbstractGraph.html#vertexSet">vertexSet</a></p>
937
- <ul>
938
- <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>
1104
+ <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>
939
1105
  <div class="col-sidebar">
940
1106
  <div class="page-menu">
941
1107
  <div class="tsd-navigation settings">
@@ -956,12 +1122,22 @@ are arrays of vertices that form cycles within the SCCs.</p>
956
1122
  <div class="tsd-accordion-details">
957
1123
  <ul>
958
1124
  <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>
1125
+ <li><a href="#_edgeConstructor" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_edge<wbr/>Constructor</span></a></li>
959
1126
  <li><a href="#_edges" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_edges</span></a></li>
960
- <li><a href="#_vertices" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertices</span></a></li>
1127
+ <li><a href="#_vertexConstructor" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertex<wbr/>Constructor</span></a></li>
961
1128
  <li><a href="#edges" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>edges</span></a></li>
1129
+ <li><a href="#vertices" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>vertices</span></a></li>
1130
+ <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>
1131
+ <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>
1132
+ <li><a href="#_getVertex" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex</span></a></li>
1133
+ <li><a href="#_getVertexId" class="tsd-is-inherited"><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>
1134
+ <li><a href="#_setEdges" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_set<wbr/>Edges</span></a></li>
1135
+ <li><a href="#_setVertices" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_set<wbr/>Vertices</span></a></li>
962
1136
  <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>
963
1137
  <li><a href="#addVertex" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Vertex</span></a></li>
964
1138
  <li><a href="#bellmanFord" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bellman<wbr/>Ford</span></a></li>
1139
+ <li><a href="#createAddEdge" class="tsd-is-inherited"><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>
1140
+ <li><a href="#createAddVertex" class="tsd-is-inherited"><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>
965
1141
  <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>
966
1142
  <li><a href="#dijkstra" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra</span></a></li>
967
1143
  <li><a href="#dijkstraWithoutHeap" class="tsd-is-inherited"><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>
@@ -970,7 +1146,6 @@ are arrays of vertices that form cycles within the SCCs.</p>
970
1146
  <li><a href="#floyd" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>floyd</span></a></li>
971
1147
  <li><a href="#getAllPathsBetween" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>All<wbr/>Paths<wbr/>Between</span></a></li>
972
1148
  <li><a href="#getEdge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edge</span></a></li>
973
- <li><a href="#getEdges" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edges</span></a></li>
974
1149
  <li><a href="#getEdgesOf" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edges<wbr/>Of</span></a></li>
975
1150
  <li><a href="#getEndsOfEdge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Ends<wbr/>Of<wbr/>Edge</span></a></li>
976
1151
  <li><a href="#getMinCostBetween" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Min<wbr/>Cost<wbr/>Between</span></a></li>
@@ -978,7 +1153,6 @@ are arrays of vertices that form cycles within the SCCs.</p>
978
1153
  <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>
979
1154
  <li><a href="#getPathSumWeight" class="tsd-is-inherited"><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>
980
1155
  <li><a href="#getVertex" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex</span></a></li>
981
- <li><a href="#getVertexId" class="tsd-is-inherited"><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>
982
1156
  <li><a href="#hasEdge" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Edge</span></a></li>
983
1157
  <li><a href="#hasVertex" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Vertex</span></a></li>
984
1158
  <li><a href="#removeAllVertices" class="tsd-is-inherited"><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>
@@ -986,14 +1160,14 @@ are arrays of vertices that form cycles within the SCCs.</p>
986
1160
  <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>
987
1161
  <li><a href="#removeVertex" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Vertex</span></a></li>
988
1162
  <li><a href="#setEdgeWeight" class="tsd-is-inherited"><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>
989
- <li><a href="#tarjan" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>tarjan</span></a></li>
990
- <li><a href="#vertexSet" class="tsd-is-inherited"><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>
1163
+ <li><a href="#tarjan" class="tsd-is-inherited"><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>
991
1164
  <div class="site-menu">
992
1165
  <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>
993
1166
  <ul class="tsd-small-nested-navigation">
994
1167
  <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>
995
1168
  <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>
996
1169
  <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>
1170
+ <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>
997
1171
  <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>
998
1172
  <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>
999
1173
  <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>
@@ -1016,6 +1190,7 @@ are arrays of vertices that form cycles within the SCCs.</p>
1016
1190
  <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>
1017
1191
  <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>
1018
1192
  <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>
1193
+ <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>
1019
1194
  <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>
1020
1195
  <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>
1021
1196
  <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>
@@ -1026,9 +1201,9 @@ are arrays of vertices that form cycles within the SCCs.</p>
1026
1201
  <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>
1027
1202
  <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>
1028
1203
  <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>
1204
+ <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>
1029
1205
  <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>
1030
1206
  <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>
1031
- <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>
1032
1207
  <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>
1033
1208
  <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>
1034
1209
  <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>
@@ -1036,8 +1211,10 @@ are arrays of vertices that form cycles within the SCCs.</p>
1036
1211
  <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>
1037
1212
  <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>
1038
1213
  <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>
1214
+ <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>
1039
1215
  <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>
1040
1216
  <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>
1217
+ <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>
1041
1218
  <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>
1042
1219
  <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>
1043
1220
  <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>
@@ -1045,13 +1222,13 @@ are arrays of vertices that form cycles within the SCCs.</p>
1045
1222
  <li><a href="UndirectedGraph.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Graph</span></a></li>
1046
1223
  <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>
1047
1224
  <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>
1048
- <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>
1049
- <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>
1225
+ <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>
1226
+ <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>
1050
1227
  <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>
1051
1228
  <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>
1052
- <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>
1053
- <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>
1054
- <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>
1229
+ <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>
1230
+ <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>
1231
+ <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>
1055
1232
  <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>
1056
1233
  <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>
1057
1234
  <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>
@@ -1059,20 +1236,21 @@ are arrays of vertices that form cycles within the SCCs.</p>
1059
1236
  <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>
1060
1237
  <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>
1061
1238
  <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>
1062
- <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>
1239
+ <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>
1240
+ <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>
1241
+ <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>
1063
1242
  <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>
1064
1243
  <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>
1065
1244
  <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>
1245
+ <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>
1246
+ <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>
1247
+ <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>
1248
+ <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>
1066
1249
  <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>
1067
1250
  <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>
1068
1251
  <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>
1069
- <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>
1070
- <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>
1071
- <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>
1072
1252
  <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>
1073
1253
  <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>
1074
- <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>
1075
- <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>
1076
1254
  <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>
1077
1255
  <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>
1078
1256
  <div class="tsd-generator">