data-structure-typed 1.41.5 → 1.41.7

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 (685) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +15 -535
  3. package/benchmark/report.html +14 -12
  4. package/benchmark/report.json +113 -113
  5. package/dist/cjs/{data-structures → src/data-structures}/binary-tree/avl-tree.d.ts +1 -1
  6. package/dist/cjs/{data-structures → src/data-structures}/binary-tree/avl-tree.js +2 -2
  7. package/dist/cjs/src/data-structures/binary-tree/avl-tree.js.map +1 -0
  8. package/dist/cjs/src/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  9. package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-tree.d.ts +4 -3
  10. package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-tree.js +19 -18
  11. package/dist/cjs/src/data-structures/binary-tree/binary-tree.js.map +1 -0
  12. package/dist/{mjs → cjs/src}/data-structures/binary-tree/bst.d.ts +1 -20
  13. package/dist/cjs/{data-structures → src/data-structures}/binary-tree/bst.js +5 -27
  14. package/dist/cjs/src/data-structures/binary-tree/bst.js.map +1 -0
  15. package/dist/cjs/src/data-structures/binary-tree/index.js.map +1 -0
  16. package/dist/cjs/src/data-structures/binary-tree/rb-tree.js.map +1 -0
  17. package/dist/cjs/src/data-structures/binary-tree/segment-tree.js.map +1 -0
  18. package/dist/{mjs → cjs/src}/data-structures/binary-tree/tree-multiset.d.ts +1 -1
  19. package/dist/cjs/{data-structures → src/data-structures}/binary-tree/tree-multiset.js +2 -2
  20. package/dist/cjs/src/data-structures/binary-tree/tree-multiset.js.map +1 -0
  21. package/dist/cjs/{data-structures → src/data-structures}/graph/abstract-graph.js +5 -5
  22. package/dist/cjs/src/data-structures/graph/abstract-graph.js.map +1 -0
  23. package/dist/cjs/src/data-structures/graph/directed-graph.js.map +1 -0
  24. package/dist/cjs/src/data-structures/graph/index.js.map +1 -0
  25. package/dist/cjs/src/data-structures/graph/map-graph.js.map +1 -0
  26. package/dist/cjs/src/data-structures/graph/undirected-graph.js.map +1 -0
  27. package/dist/cjs/src/data-structures/hash/coordinate-map.js.map +1 -0
  28. package/dist/cjs/src/data-structures/hash/coordinate-set.js.map +1 -0
  29. package/dist/cjs/src/data-structures/hash/hash-map.js.map +1 -0
  30. package/dist/cjs/src/data-structures/hash/hash-table.js.map +1 -0
  31. package/dist/cjs/src/data-structures/hash/index.js.map +1 -0
  32. package/dist/cjs/src/data-structures/hash/tree-map.js.map +1 -0
  33. package/dist/cjs/src/data-structures/hash/tree-set.js.map +1 -0
  34. package/dist/cjs/src/data-structures/heap/heap.js.map +1 -0
  35. package/dist/cjs/src/data-structures/heap/index.js.map +1 -0
  36. package/dist/cjs/src/data-structures/heap/max-heap.js.map +1 -0
  37. package/dist/cjs/src/data-structures/heap/min-heap.js.map +1 -0
  38. package/dist/cjs/src/data-structures/index.js.map +1 -0
  39. package/dist/cjs/src/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  40. package/dist/cjs/src/data-structures/linked-list/index.js.map +1 -0
  41. package/dist/cjs/src/data-structures/linked-list/singly-linked-list.js.map +1 -0
  42. package/dist/cjs/src/data-structures/linked-list/skip-linked-list.js.map +1 -0
  43. package/dist/cjs/src/data-structures/matrix/index.js.map +1 -0
  44. package/dist/cjs/src/data-structures/matrix/matrix.js.map +1 -0
  45. package/dist/cjs/src/data-structures/matrix/matrix2d.js.map +1 -0
  46. package/dist/cjs/src/data-structures/matrix/navigator.js.map +1 -0
  47. package/dist/cjs/src/data-structures/matrix/vector2d.js.map +1 -0
  48. package/dist/cjs/src/data-structures/priority-queue/index.js.map +1 -0
  49. package/dist/cjs/src/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  50. package/dist/cjs/src/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  51. package/dist/cjs/src/data-structures/priority-queue/priority-queue.js.map +1 -0
  52. package/dist/cjs/src/data-structures/queue/deque.js.map +1 -0
  53. package/dist/cjs/src/data-structures/queue/index.js.map +1 -0
  54. package/dist/cjs/src/data-structures/queue/queue.js.map +1 -0
  55. package/dist/cjs/src/data-structures/stack/index.js.map +1 -0
  56. package/dist/cjs/src/data-structures/stack/stack.js.map +1 -0
  57. package/dist/cjs/src/data-structures/tree/index.js.map +1 -0
  58. package/dist/cjs/src/data-structures/tree/tree.js.map +1 -0
  59. package/dist/cjs/src/data-structures/trie/index.js.map +1 -0
  60. package/dist/cjs/src/data-structures/trie/trie.js.map +1 -0
  61. package/dist/cjs/src/index.js.map +1 -0
  62. package/dist/cjs/src/interfaces/binary-tree.js.map +1 -0
  63. package/dist/cjs/src/interfaces/doubly-linked-list.js.map +1 -0
  64. package/dist/cjs/{interfaces → src/interfaces}/graph.js.map +1 -1
  65. package/dist/cjs/{interfaces → src/interfaces}/heap.js.map +1 -1
  66. package/dist/cjs/src/interfaces/index.js.map +1 -0
  67. package/dist/cjs/src/interfaces/navigator.js.map +1 -0
  68. package/dist/cjs/src/interfaces/priority-queue.js.map +1 -0
  69. package/dist/cjs/src/interfaces/segment-tree.js.map +1 -0
  70. package/dist/cjs/src/interfaces/singly-linked-list.js.map +1 -0
  71. package/dist/cjs/src/types/data-structures/binary-tree/avl-tree.js.map +1 -0
  72. package/dist/cjs/src/types/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  73. package/dist/cjs/src/types/data-structures/binary-tree/binary-tree.js.map +1 -0
  74. package/dist/cjs/src/types/data-structures/binary-tree/bst.js.map +1 -0
  75. package/dist/cjs/src/types/data-structures/binary-tree/index.js.map +1 -0
  76. package/dist/cjs/src/types/data-structures/binary-tree/rb-tree.js.map +1 -0
  77. package/dist/cjs/src/types/data-structures/binary-tree/segment-tree.js.map +1 -0
  78. package/dist/cjs/src/types/data-structures/binary-tree/tree-multiset.js.map +1 -0
  79. package/dist/cjs/src/types/data-structures/graph/abstract-graph.js.map +1 -0
  80. package/dist/cjs/src/types/data-structures/graph/directed-graph.js.map +1 -0
  81. package/dist/cjs/src/types/data-structures/graph/index.js.map +1 -0
  82. package/dist/cjs/src/types/data-structures/graph/map-graph.js.map +1 -0
  83. package/dist/cjs/src/types/data-structures/graph/undirected-graph.js.map +1 -0
  84. package/dist/cjs/src/types/data-structures/hash/coordinate-map.js.map +1 -0
  85. package/dist/cjs/src/types/data-structures/hash/coordinate-set.js.map +1 -0
  86. package/dist/cjs/src/types/data-structures/hash/hash-map.js.map +1 -0
  87. package/dist/cjs/src/types/data-structures/hash/hash-table.js.map +1 -0
  88. package/dist/cjs/src/types/data-structures/hash/index.js.map +1 -0
  89. package/dist/cjs/src/types/data-structures/hash/tree-map.js.map +1 -0
  90. package/dist/cjs/src/types/data-structures/hash/tree-set.js.map +1 -0
  91. package/dist/cjs/src/types/data-structures/heap/heap.js.map +1 -0
  92. package/dist/cjs/src/types/data-structures/heap/index.js.map +1 -0
  93. package/dist/cjs/src/types/data-structures/heap/max-heap.js.map +1 -0
  94. package/dist/cjs/src/types/data-structures/heap/min-heap.js.map +1 -0
  95. package/dist/cjs/src/types/data-structures/index.js.map +1 -0
  96. package/dist/cjs/src/types/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  97. package/dist/cjs/src/types/data-structures/linked-list/index.js.map +1 -0
  98. package/dist/cjs/src/types/data-structures/linked-list/singly-linked-list.js.map +1 -0
  99. package/dist/cjs/src/types/data-structures/linked-list/skip-linked-list.js.map +1 -0
  100. package/dist/cjs/src/types/data-structures/matrix/index.js.map +1 -0
  101. package/dist/cjs/src/types/data-structures/matrix/matrix.js.map +1 -0
  102. package/dist/cjs/src/types/data-structures/matrix/matrix2d.js.map +1 -0
  103. package/dist/cjs/src/types/data-structures/matrix/navigator.js.map +1 -0
  104. package/dist/cjs/src/types/data-structures/matrix/vector2d.js.map +1 -0
  105. package/dist/cjs/src/types/data-structures/priority-queue/index.js.map +1 -0
  106. package/dist/cjs/src/types/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  107. package/dist/cjs/src/types/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  108. package/dist/cjs/src/types/data-structures/priority-queue/priority-queue.js.map +1 -0
  109. package/dist/cjs/src/types/data-structures/queue/deque.js.map +1 -0
  110. package/dist/cjs/src/types/data-structures/queue/index.js.map +1 -0
  111. package/dist/cjs/src/types/data-structures/queue/queue.js.map +1 -0
  112. package/dist/cjs/src/types/data-structures/stack/index.js.map +1 -0
  113. package/dist/cjs/src/types/data-structures/stack/stack.js.map +1 -0
  114. package/dist/cjs/src/types/data-structures/tree/index.js.map +1 -0
  115. package/dist/cjs/src/types/data-structures/tree/tree.js.map +1 -0
  116. package/dist/cjs/src/types/data-structures/trie/index.js.map +1 -0
  117. package/dist/cjs/src/types/data-structures/trie/trie.js.map +1 -0
  118. package/dist/cjs/src/types/helpers.js.map +1 -0
  119. package/dist/cjs/src/types/index.js.map +1 -0
  120. package/dist/cjs/src/types/utils/index.js.map +1 -0
  121. package/dist/cjs/{types → src/types}/utils/utils.js.map +1 -1
  122. package/dist/cjs/src/types/utils/validate-type.js.map +1 -0
  123. package/dist/cjs/src/utils/index.js.map +1 -0
  124. package/dist/cjs/src/utils/utils.js.map +1 -0
  125. package/dist/mjs/{data-structures → src/data-structures}/binary-tree/avl-tree.d.ts +1 -1
  126. package/dist/mjs/{data-structures → src/data-structures}/binary-tree/avl-tree.js +2 -2
  127. package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-tree.d.ts +4 -3
  128. package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-tree.js +19 -18
  129. package/dist/{cjs → mjs/src}/data-structures/binary-tree/bst.d.ts +1 -20
  130. package/dist/mjs/{data-structures → src/data-structures}/binary-tree/bst.js +5 -26
  131. package/dist/{cjs → mjs/src}/data-structures/binary-tree/tree-multiset.d.ts +1 -1
  132. package/dist/mjs/{data-structures → src/data-structures}/binary-tree/tree-multiset.js +2 -2
  133. package/dist/mjs/{data-structures → src/data-structures}/graph/abstract-graph.js +5 -5
  134. package/dist/umd/data-structure-typed.min.js +1 -1
  135. package/dist/umd/data-structure-typed.min.js.map +1 -1
  136. package/package.json +12 -12
  137. package/src/data-structures/binary-tree/avl-tree.ts +2 -2
  138. package/src/data-structures/binary-tree/binary-tree.ts +20 -18
  139. package/src/data-structures/binary-tree/bst.ts +6 -33
  140. package/src/data-structures/binary-tree/tree-multiset.ts +2 -2
  141. package/src/data-structures/graph/abstract-graph.ts +6 -6
  142. package/test/performance/reportor.ts +23 -20
  143. package/test/unit/data-structures/graph/salty-edges.json +1 -0
  144. package/test/unit/data-structures/graph/salty-vertexes.json +1 -0
  145. package/test/unit/data-structures/graph/undirected-graph.test.ts +19 -0
  146. package/tsconfig-base.json +20 -24
  147. package/tsconfig-cjs.json +5 -1
  148. package/tsconfig-mjs.json +12 -0
  149. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +0 -1
  150. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  151. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +0 -1
  152. package/dist/cjs/data-structures/binary-tree/bst.js.map +0 -1
  153. package/dist/cjs/data-structures/binary-tree/index.js.map +0 -1
  154. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +0 -1
  155. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +0 -1
  156. package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +0 -1
  157. package/dist/cjs/data-structures/graph/abstract-graph.js.map +0 -1
  158. package/dist/cjs/data-structures/graph/directed-graph.js.map +0 -1
  159. package/dist/cjs/data-structures/graph/index.js.map +0 -1
  160. package/dist/cjs/data-structures/graph/map-graph.js.map +0 -1
  161. package/dist/cjs/data-structures/graph/undirected-graph.js.map +0 -1
  162. package/dist/cjs/data-structures/hash/coordinate-map.js.map +0 -1
  163. package/dist/cjs/data-structures/hash/coordinate-set.js.map +0 -1
  164. package/dist/cjs/data-structures/hash/hash-map.js.map +0 -1
  165. package/dist/cjs/data-structures/hash/hash-table.js.map +0 -1
  166. package/dist/cjs/data-structures/hash/index.js.map +0 -1
  167. package/dist/cjs/data-structures/hash/tree-map.js.map +0 -1
  168. package/dist/cjs/data-structures/hash/tree-set.js.map +0 -1
  169. package/dist/cjs/data-structures/heap/heap.js.map +0 -1
  170. package/dist/cjs/data-structures/heap/index.js.map +0 -1
  171. package/dist/cjs/data-structures/heap/max-heap.js.map +0 -1
  172. package/dist/cjs/data-structures/heap/min-heap.js.map +0 -1
  173. package/dist/cjs/data-structures/index.js.map +0 -1
  174. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  175. package/dist/cjs/data-structures/linked-list/index.js.map +0 -1
  176. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +0 -1
  177. package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +0 -1
  178. package/dist/cjs/data-structures/matrix/index.js.map +0 -1
  179. package/dist/cjs/data-structures/matrix/matrix.js.map +0 -1
  180. package/dist/cjs/data-structures/matrix/matrix2d.js.map +0 -1
  181. package/dist/cjs/data-structures/matrix/navigator.js.map +0 -1
  182. package/dist/cjs/data-structures/matrix/vector2d.js.map +0 -1
  183. package/dist/cjs/data-structures/priority-queue/index.js.map +0 -1
  184. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  185. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  186. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +0 -1
  187. package/dist/cjs/data-structures/queue/deque.js.map +0 -1
  188. package/dist/cjs/data-structures/queue/index.js.map +0 -1
  189. package/dist/cjs/data-structures/queue/queue.js.map +0 -1
  190. package/dist/cjs/data-structures/stack/index.js.map +0 -1
  191. package/dist/cjs/data-structures/stack/stack.js.map +0 -1
  192. package/dist/cjs/data-structures/tree/index.js.map +0 -1
  193. package/dist/cjs/data-structures/tree/tree.js.map +0 -1
  194. package/dist/cjs/data-structures/trie/index.js.map +0 -1
  195. package/dist/cjs/data-structures/trie/trie.js.map +0 -1
  196. package/dist/cjs/index.js.map +0 -1
  197. package/dist/cjs/interfaces/binary-tree.js.map +0 -1
  198. package/dist/cjs/interfaces/doubly-linked-list.js.map +0 -1
  199. package/dist/cjs/interfaces/index.js.map +0 -1
  200. package/dist/cjs/interfaces/navigator.js.map +0 -1
  201. package/dist/cjs/interfaces/priority-queue.js.map +0 -1
  202. package/dist/cjs/interfaces/segment-tree.js.map +0 -1
  203. package/dist/cjs/interfaces/singly-linked-list.js.map +0 -1
  204. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js.map +0 -1
  205. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  206. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +0 -1
  207. package/dist/cjs/types/data-structures/binary-tree/bst.js.map +0 -1
  208. package/dist/cjs/types/data-structures/binary-tree/index.js.map +0 -1
  209. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js.map +0 -1
  210. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +0 -1
  211. package/dist/cjs/types/data-structures/binary-tree/tree-multiset.js.map +0 -1
  212. package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +0 -1
  213. package/dist/cjs/types/data-structures/graph/directed-graph.js.map +0 -1
  214. package/dist/cjs/types/data-structures/graph/index.js.map +0 -1
  215. package/dist/cjs/types/data-structures/graph/map-graph.js.map +0 -1
  216. package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +0 -1
  217. package/dist/cjs/types/data-structures/hash/coordinate-map.js.map +0 -1
  218. package/dist/cjs/types/data-structures/hash/coordinate-set.js.map +0 -1
  219. package/dist/cjs/types/data-structures/hash/hash-map.js.map +0 -1
  220. package/dist/cjs/types/data-structures/hash/hash-table.js.map +0 -1
  221. package/dist/cjs/types/data-structures/hash/index.js.map +0 -1
  222. package/dist/cjs/types/data-structures/hash/tree-map.js.map +0 -1
  223. package/dist/cjs/types/data-structures/hash/tree-set.js.map +0 -1
  224. package/dist/cjs/types/data-structures/heap/heap.js.map +0 -1
  225. package/dist/cjs/types/data-structures/heap/index.js.map +0 -1
  226. package/dist/cjs/types/data-structures/heap/max-heap.js.map +0 -1
  227. package/dist/cjs/types/data-structures/heap/min-heap.js.map +0 -1
  228. package/dist/cjs/types/data-structures/index.js.map +0 -1
  229. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  230. package/dist/cjs/types/data-structures/linked-list/index.js.map +0 -1
  231. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
  232. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
  233. package/dist/cjs/types/data-structures/matrix/index.js.map +0 -1
  234. package/dist/cjs/types/data-structures/matrix/matrix.js.map +0 -1
  235. package/dist/cjs/types/data-structures/matrix/matrix2d.js.map +0 -1
  236. package/dist/cjs/types/data-structures/matrix/navigator.js.map +0 -1
  237. package/dist/cjs/types/data-structures/matrix/vector2d.js.map +0 -1
  238. package/dist/cjs/types/data-structures/priority-queue/index.js.map +0 -1
  239. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  240. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  241. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js.map +0 -1
  242. package/dist/cjs/types/data-structures/queue/deque.js.map +0 -1
  243. package/dist/cjs/types/data-structures/queue/index.js.map +0 -1
  244. package/dist/cjs/types/data-structures/queue/queue.js.map +0 -1
  245. package/dist/cjs/types/data-structures/stack/index.js.map +0 -1
  246. package/dist/cjs/types/data-structures/stack/stack.js.map +0 -1
  247. package/dist/cjs/types/data-structures/tree/index.js.map +0 -1
  248. package/dist/cjs/types/data-structures/tree/tree.js.map +0 -1
  249. package/dist/cjs/types/data-structures/trie/index.js.map +0 -1
  250. package/dist/cjs/types/data-structures/trie/trie.js.map +0 -1
  251. package/dist/cjs/types/helpers.js.map +0 -1
  252. package/dist/cjs/types/index.js.map +0 -1
  253. package/dist/cjs/types/utils/index.js.map +0 -1
  254. package/dist/cjs/types/utils/validate-type.js.map +0 -1
  255. package/dist/cjs/utils/index.js.map +0 -1
  256. package/dist/cjs/utils/utils.js.map +0 -1
  257. package/umd/bundle.min.js +0 -3
  258. package/umd/bundle.min.js.LICENSE.txt +0 -28
  259. package/umd/bundle.min.js.map +0 -1
  260. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.d.ts +0 -0
  261. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.js +0 -0
  262. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/index.d.ts +0 -0
  263. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/index.js +0 -0
  264. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/rb-tree.d.ts +0 -0
  265. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/rb-tree.js +0 -0
  266. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/segment-tree.d.ts +0 -0
  267. /package/dist/cjs/{data-structures → src/data-structures}/binary-tree/segment-tree.js +0 -0
  268. /package/dist/cjs/{data-structures → src/data-structures}/graph/abstract-graph.d.ts +0 -0
  269. /package/dist/cjs/{data-structures → src/data-structures}/graph/directed-graph.d.ts +0 -0
  270. /package/dist/cjs/{data-structures → src/data-structures}/graph/directed-graph.js +0 -0
  271. /package/dist/cjs/{data-structures → src/data-structures}/graph/index.d.ts +0 -0
  272. /package/dist/cjs/{data-structures → src/data-structures}/graph/index.js +0 -0
  273. /package/dist/cjs/{data-structures → src/data-structures}/graph/map-graph.d.ts +0 -0
  274. /package/dist/cjs/{data-structures → src/data-structures}/graph/map-graph.js +0 -0
  275. /package/dist/cjs/{data-structures → src/data-structures}/graph/undirected-graph.d.ts +0 -0
  276. /package/dist/cjs/{data-structures → src/data-structures}/graph/undirected-graph.js +0 -0
  277. /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-map.d.ts +0 -0
  278. /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-map.js +0 -0
  279. /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-set.d.ts +0 -0
  280. /package/dist/cjs/{data-structures → src/data-structures}/hash/coordinate-set.js +0 -0
  281. /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-map.d.ts +0 -0
  282. /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-map.js +0 -0
  283. /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-table.d.ts +0 -0
  284. /package/dist/cjs/{data-structures → src/data-structures}/hash/hash-table.js +0 -0
  285. /package/dist/cjs/{data-structures → src/data-structures}/hash/index.d.ts +0 -0
  286. /package/dist/cjs/{data-structures → src/data-structures}/hash/index.js +0 -0
  287. /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-map.d.ts +0 -0
  288. /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-map.js +0 -0
  289. /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-set.d.ts +0 -0
  290. /package/dist/cjs/{data-structures → src/data-structures}/hash/tree-set.js +0 -0
  291. /package/dist/cjs/{data-structures → src/data-structures}/heap/heap.d.ts +0 -0
  292. /package/dist/cjs/{data-structures → src/data-structures}/heap/heap.js +0 -0
  293. /package/dist/cjs/{data-structures → src/data-structures}/heap/index.d.ts +0 -0
  294. /package/dist/cjs/{data-structures → src/data-structures}/heap/index.js +0 -0
  295. /package/dist/cjs/{data-structures → src/data-structures}/heap/max-heap.d.ts +0 -0
  296. /package/dist/cjs/{data-structures → src/data-structures}/heap/max-heap.js +0 -0
  297. /package/dist/cjs/{data-structures → src/data-structures}/heap/min-heap.d.ts +0 -0
  298. /package/dist/cjs/{data-structures → src/data-structures}/heap/min-heap.js +0 -0
  299. /package/dist/cjs/{data-structures → src/data-structures}/index.d.ts +0 -0
  300. /package/dist/cjs/{data-structures → src/data-structures}/index.js +0 -0
  301. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.d.ts +0 -0
  302. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.js +0 -0
  303. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/index.d.ts +0 -0
  304. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/index.js +0 -0
  305. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.d.ts +0 -0
  306. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.js +0 -0
  307. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.d.ts +0 -0
  308. /package/dist/cjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.js +0 -0
  309. /package/dist/cjs/{data-structures → src/data-structures}/matrix/index.d.ts +0 -0
  310. /package/dist/cjs/{data-structures → src/data-structures}/matrix/index.js +0 -0
  311. /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix.d.ts +0 -0
  312. /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix.js +0 -0
  313. /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix2d.d.ts +0 -0
  314. /package/dist/cjs/{data-structures → src/data-structures}/matrix/matrix2d.js +0 -0
  315. /package/dist/cjs/{data-structures → src/data-structures}/matrix/navigator.d.ts +0 -0
  316. /package/dist/cjs/{data-structures → src/data-structures}/matrix/navigator.js +0 -0
  317. /package/dist/cjs/{data-structures → src/data-structures}/matrix/vector2d.d.ts +0 -0
  318. /package/dist/cjs/{data-structures → src/data-structures}/matrix/vector2d.js +0 -0
  319. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/index.d.ts +0 -0
  320. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/index.js +0 -0
  321. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.d.ts +0 -0
  322. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.js +0 -0
  323. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.d.ts +0 -0
  324. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.js +0 -0
  325. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/priority-queue.d.ts +0 -0
  326. /package/dist/cjs/{data-structures → src/data-structures}/priority-queue/priority-queue.js +0 -0
  327. /package/dist/cjs/{data-structures → src/data-structures}/queue/deque.d.ts +0 -0
  328. /package/dist/cjs/{data-structures → src/data-structures}/queue/deque.js +0 -0
  329. /package/dist/cjs/{data-structures → src/data-structures}/queue/index.d.ts +0 -0
  330. /package/dist/cjs/{data-structures → src/data-structures}/queue/index.js +0 -0
  331. /package/dist/cjs/{data-structures → src/data-structures}/queue/queue.d.ts +0 -0
  332. /package/dist/cjs/{data-structures → src/data-structures}/queue/queue.js +0 -0
  333. /package/dist/cjs/{data-structures → src/data-structures}/stack/index.d.ts +0 -0
  334. /package/dist/cjs/{data-structures → src/data-structures}/stack/index.js +0 -0
  335. /package/dist/cjs/{data-structures → src/data-structures}/stack/stack.d.ts +0 -0
  336. /package/dist/cjs/{data-structures → src/data-structures}/stack/stack.js +0 -0
  337. /package/dist/cjs/{data-structures → src/data-structures}/tree/index.d.ts +0 -0
  338. /package/dist/cjs/{data-structures → src/data-structures}/tree/index.js +0 -0
  339. /package/dist/cjs/{data-structures → src/data-structures}/tree/tree.d.ts +0 -0
  340. /package/dist/cjs/{data-structures → src/data-structures}/tree/tree.js +0 -0
  341. /package/dist/cjs/{data-structures → src/data-structures}/trie/index.d.ts +0 -0
  342. /package/dist/cjs/{data-structures → src/data-structures}/trie/index.js +0 -0
  343. /package/dist/cjs/{data-structures → src/data-structures}/trie/trie.d.ts +0 -0
  344. /package/dist/cjs/{data-structures → src/data-structures}/trie/trie.js +0 -0
  345. /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
  346. /package/dist/cjs/{index.js → src/index.js} +0 -0
  347. /package/dist/cjs/{interfaces → src/interfaces}/binary-tree.d.ts +0 -0
  348. /package/dist/cjs/{interfaces → src/interfaces}/binary-tree.js +0 -0
  349. /package/dist/cjs/{interfaces → src/interfaces}/doubly-linked-list.d.ts +0 -0
  350. /package/dist/cjs/{interfaces → src/interfaces}/doubly-linked-list.js +0 -0
  351. /package/dist/cjs/{interfaces → src/interfaces}/graph.d.ts +0 -0
  352. /package/dist/cjs/{interfaces → src/interfaces}/graph.js +0 -0
  353. /package/dist/cjs/{interfaces → src/interfaces}/heap.d.ts +0 -0
  354. /package/dist/cjs/{interfaces → src/interfaces}/heap.js +0 -0
  355. /package/dist/cjs/{interfaces → src/interfaces}/index.d.ts +0 -0
  356. /package/dist/cjs/{interfaces → src/interfaces}/index.js +0 -0
  357. /package/dist/cjs/{interfaces → src/interfaces}/navigator.d.ts +0 -0
  358. /package/dist/cjs/{interfaces → src/interfaces}/navigator.js +0 -0
  359. /package/dist/cjs/{interfaces → src/interfaces}/priority-queue.d.ts +0 -0
  360. /package/dist/cjs/{interfaces → src/interfaces}/priority-queue.js +0 -0
  361. /package/dist/cjs/{interfaces → src/interfaces}/segment-tree.d.ts +0 -0
  362. /package/dist/cjs/{interfaces → src/interfaces}/segment-tree.js +0 -0
  363. /package/dist/cjs/{interfaces → src/interfaces}/singly-linked-list.d.ts +0 -0
  364. /package/dist/cjs/{interfaces → src/interfaces}/singly-linked-list.js +0 -0
  365. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/avl-tree.d.ts +0 -0
  366. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/avl-tree.js +0 -0
  367. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  368. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.js +0 -0
  369. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-tree.d.ts +0 -0
  370. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/binary-tree.js +0 -0
  371. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/bst.d.ts +0 -0
  372. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/bst.js +0 -0
  373. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/index.d.ts +0 -0
  374. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/index.js +0 -0
  375. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/rb-tree.d.ts +0 -0
  376. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/rb-tree.js +0 -0
  377. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  378. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/segment-tree.js +0 -0
  379. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/tree-multiset.d.ts +0 -0
  380. /package/dist/cjs/{types → src/types}/data-structures/binary-tree/tree-multiset.js +0 -0
  381. /package/dist/cjs/{types → src/types}/data-structures/graph/abstract-graph.d.ts +0 -0
  382. /package/dist/cjs/{types → src/types}/data-structures/graph/abstract-graph.js +0 -0
  383. /package/dist/cjs/{types → src/types}/data-structures/graph/directed-graph.d.ts +0 -0
  384. /package/dist/cjs/{types → src/types}/data-structures/graph/directed-graph.js +0 -0
  385. /package/dist/cjs/{types → src/types}/data-structures/graph/index.d.ts +0 -0
  386. /package/dist/cjs/{types → src/types}/data-structures/graph/index.js +0 -0
  387. /package/dist/cjs/{types → src/types}/data-structures/graph/map-graph.d.ts +0 -0
  388. /package/dist/cjs/{types → src/types}/data-structures/graph/map-graph.js +0 -0
  389. /package/dist/cjs/{types → src/types}/data-structures/graph/undirected-graph.d.ts +0 -0
  390. /package/dist/cjs/{types → src/types}/data-structures/graph/undirected-graph.js +0 -0
  391. /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-map.d.ts +0 -0
  392. /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-map.js +0 -0
  393. /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-set.d.ts +0 -0
  394. /package/dist/cjs/{types → src/types}/data-structures/hash/coordinate-set.js +0 -0
  395. /package/dist/cjs/{types → src/types}/data-structures/hash/hash-map.d.ts +0 -0
  396. /package/dist/cjs/{types → src/types}/data-structures/hash/hash-map.js +0 -0
  397. /package/dist/cjs/{types → src/types}/data-structures/hash/hash-table.d.ts +0 -0
  398. /package/dist/cjs/{types → src/types}/data-structures/hash/hash-table.js +0 -0
  399. /package/dist/cjs/{types → src/types}/data-structures/hash/index.d.ts +0 -0
  400. /package/dist/cjs/{types → src/types}/data-structures/hash/index.js +0 -0
  401. /package/dist/cjs/{types → src/types}/data-structures/hash/tree-map.d.ts +0 -0
  402. /package/dist/cjs/{types → src/types}/data-structures/hash/tree-map.js +0 -0
  403. /package/dist/cjs/{types → src/types}/data-structures/hash/tree-set.d.ts +0 -0
  404. /package/dist/cjs/{types → src/types}/data-structures/hash/tree-set.js +0 -0
  405. /package/dist/cjs/{types → src/types}/data-structures/heap/heap.d.ts +0 -0
  406. /package/dist/cjs/{types → src/types}/data-structures/heap/heap.js +0 -0
  407. /package/dist/cjs/{types → src/types}/data-structures/heap/index.d.ts +0 -0
  408. /package/dist/cjs/{types → src/types}/data-structures/heap/index.js +0 -0
  409. /package/dist/cjs/{types → src/types}/data-structures/heap/max-heap.d.ts +0 -0
  410. /package/dist/cjs/{types → src/types}/data-structures/heap/max-heap.js +0 -0
  411. /package/dist/cjs/{types → src/types}/data-structures/heap/min-heap.d.ts +0 -0
  412. /package/dist/cjs/{types → src/types}/data-structures/heap/min-heap.js +0 -0
  413. /package/dist/cjs/{types → src/types}/data-structures/index.d.ts +0 -0
  414. /package/dist/cjs/{types → src/types}/data-structures/index.js +0 -0
  415. /package/dist/cjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  416. /package/dist/cjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.js +0 -0
  417. /package/dist/cjs/{types → src/types}/data-structures/linked-list/index.d.ts +0 -0
  418. /package/dist/cjs/{types → src/types}/data-structures/linked-list/index.js +0 -0
  419. /package/dist/cjs/{types → src/types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  420. /package/dist/cjs/{types → src/types}/data-structures/linked-list/singly-linked-list.js +0 -0
  421. /package/dist/cjs/{types → src/types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  422. /package/dist/cjs/{types → src/types}/data-structures/linked-list/skip-linked-list.js +0 -0
  423. /package/dist/cjs/{types → src/types}/data-structures/matrix/index.d.ts +0 -0
  424. /package/dist/cjs/{types → src/types}/data-structures/matrix/index.js +0 -0
  425. /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix.d.ts +0 -0
  426. /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix.js +0 -0
  427. /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix2d.d.ts +0 -0
  428. /package/dist/cjs/{types → src/types}/data-structures/matrix/matrix2d.js +0 -0
  429. /package/dist/cjs/{types → src/types}/data-structures/matrix/navigator.d.ts +0 -0
  430. /package/dist/cjs/{types → src/types}/data-structures/matrix/navigator.js +0 -0
  431. /package/dist/cjs/{types → src/types}/data-structures/matrix/vector2d.d.ts +0 -0
  432. /package/dist/cjs/{types → src/types}/data-structures/matrix/vector2d.js +0 -0
  433. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/index.d.ts +0 -0
  434. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/index.js +0 -0
  435. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  436. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.js +0 -0
  437. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  438. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.js +0 -0
  439. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  440. /package/dist/cjs/{types → src/types}/data-structures/priority-queue/priority-queue.js +0 -0
  441. /package/dist/cjs/{types → src/types}/data-structures/queue/deque.d.ts +0 -0
  442. /package/dist/cjs/{types → src/types}/data-structures/queue/deque.js +0 -0
  443. /package/dist/cjs/{types → src/types}/data-structures/queue/index.d.ts +0 -0
  444. /package/dist/cjs/{types → src/types}/data-structures/queue/index.js +0 -0
  445. /package/dist/cjs/{types → src/types}/data-structures/queue/queue.d.ts +0 -0
  446. /package/dist/cjs/{types → src/types}/data-structures/queue/queue.js +0 -0
  447. /package/dist/cjs/{types → src/types}/data-structures/stack/index.d.ts +0 -0
  448. /package/dist/cjs/{types → src/types}/data-structures/stack/index.js +0 -0
  449. /package/dist/cjs/{types → src/types}/data-structures/stack/stack.d.ts +0 -0
  450. /package/dist/cjs/{types → src/types}/data-structures/stack/stack.js +0 -0
  451. /package/dist/cjs/{types → src/types}/data-structures/tree/index.d.ts +0 -0
  452. /package/dist/cjs/{types → src/types}/data-structures/tree/index.js +0 -0
  453. /package/dist/cjs/{types → src/types}/data-structures/tree/tree.d.ts +0 -0
  454. /package/dist/cjs/{types → src/types}/data-structures/tree/tree.js +0 -0
  455. /package/dist/cjs/{types → src/types}/data-structures/trie/index.d.ts +0 -0
  456. /package/dist/cjs/{types → src/types}/data-structures/trie/index.js +0 -0
  457. /package/dist/cjs/{types → src/types}/data-structures/trie/trie.d.ts +0 -0
  458. /package/dist/cjs/{types → src/types}/data-structures/trie/trie.js +0 -0
  459. /package/dist/cjs/{types → src/types}/helpers.d.ts +0 -0
  460. /package/dist/cjs/{types → src/types}/helpers.js +0 -0
  461. /package/dist/cjs/{types → src/types}/index.d.ts +0 -0
  462. /package/dist/cjs/{types → src/types}/index.js +0 -0
  463. /package/dist/cjs/{types → src/types}/utils/index.d.ts +0 -0
  464. /package/dist/cjs/{types → src/types}/utils/index.js +0 -0
  465. /package/dist/cjs/{types → src/types}/utils/utils.d.ts +0 -0
  466. /package/dist/cjs/{types → src/types}/utils/utils.js +0 -0
  467. /package/dist/cjs/{types → src/types}/utils/validate-type.d.ts +0 -0
  468. /package/dist/cjs/{types → src/types}/utils/validate-type.js +0 -0
  469. /package/dist/cjs/{utils → src/utils}/index.d.ts +0 -0
  470. /package/dist/cjs/{utils → src/utils}/index.js +0 -0
  471. /package/dist/cjs/{utils → src/utils}/utils.d.ts +0 -0
  472. /package/dist/cjs/{utils → src/utils}/utils.js +0 -0
  473. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.d.ts +0 -0
  474. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/binary-indexed-tree.js +0 -0
  475. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/index.d.ts +0 -0
  476. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/index.js +0 -0
  477. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/rb-tree.d.ts +0 -0
  478. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/rb-tree.js +0 -0
  479. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/segment-tree.d.ts +0 -0
  480. /package/dist/mjs/{data-structures → src/data-structures}/binary-tree/segment-tree.js +0 -0
  481. /package/dist/mjs/{data-structures → src/data-structures}/graph/abstract-graph.d.ts +0 -0
  482. /package/dist/mjs/{data-structures → src/data-structures}/graph/directed-graph.d.ts +0 -0
  483. /package/dist/mjs/{data-structures → src/data-structures}/graph/directed-graph.js +0 -0
  484. /package/dist/mjs/{data-structures → src/data-structures}/graph/index.d.ts +0 -0
  485. /package/dist/mjs/{data-structures → src/data-structures}/graph/index.js +0 -0
  486. /package/dist/mjs/{data-structures → src/data-structures}/graph/map-graph.d.ts +0 -0
  487. /package/dist/mjs/{data-structures → src/data-structures}/graph/map-graph.js +0 -0
  488. /package/dist/mjs/{data-structures → src/data-structures}/graph/undirected-graph.d.ts +0 -0
  489. /package/dist/mjs/{data-structures → src/data-structures}/graph/undirected-graph.js +0 -0
  490. /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-map.d.ts +0 -0
  491. /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-map.js +0 -0
  492. /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-set.d.ts +0 -0
  493. /package/dist/mjs/{data-structures → src/data-structures}/hash/coordinate-set.js +0 -0
  494. /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-map.d.ts +0 -0
  495. /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-map.js +0 -0
  496. /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-table.d.ts +0 -0
  497. /package/dist/mjs/{data-structures → src/data-structures}/hash/hash-table.js +0 -0
  498. /package/dist/mjs/{data-structures → src/data-structures}/hash/index.d.ts +0 -0
  499. /package/dist/mjs/{data-structures → src/data-structures}/hash/index.js +0 -0
  500. /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-map.d.ts +0 -0
  501. /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-map.js +0 -0
  502. /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-set.d.ts +0 -0
  503. /package/dist/mjs/{data-structures → src/data-structures}/hash/tree-set.js +0 -0
  504. /package/dist/mjs/{data-structures → src/data-structures}/heap/heap.d.ts +0 -0
  505. /package/dist/mjs/{data-structures → src/data-structures}/heap/heap.js +0 -0
  506. /package/dist/mjs/{data-structures → src/data-structures}/heap/index.d.ts +0 -0
  507. /package/dist/mjs/{data-structures → src/data-structures}/heap/index.js +0 -0
  508. /package/dist/mjs/{data-structures → src/data-structures}/heap/max-heap.d.ts +0 -0
  509. /package/dist/mjs/{data-structures → src/data-structures}/heap/max-heap.js +0 -0
  510. /package/dist/mjs/{data-structures → src/data-structures}/heap/min-heap.d.ts +0 -0
  511. /package/dist/mjs/{data-structures → src/data-structures}/heap/min-heap.js +0 -0
  512. /package/dist/mjs/{data-structures → src/data-structures}/index.d.ts +0 -0
  513. /package/dist/mjs/{data-structures → src/data-structures}/index.js +0 -0
  514. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.d.ts +0 -0
  515. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/doubly-linked-list.js +0 -0
  516. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/index.d.ts +0 -0
  517. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/index.js +0 -0
  518. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.d.ts +0 -0
  519. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/singly-linked-list.js +0 -0
  520. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.d.ts +0 -0
  521. /package/dist/mjs/{data-structures → src/data-structures}/linked-list/skip-linked-list.js +0 -0
  522. /package/dist/mjs/{data-structures → src/data-structures}/matrix/index.d.ts +0 -0
  523. /package/dist/mjs/{data-structures → src/data-structures}/matrix/index.js +0 -0
  524. /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix.d.ts +0 -0
  525. /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix.js +0 -0
  526. /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix2d.d.ts +0 -0
  527. /package/dist/mjs/{data-structures → src/data-structures}/matrix/matrix2d.js +0 -0
  528. /package/dist/mjs/{data-structures → src/data-structures}/matrix/navigator.d.ts +0 -0
  529. /package/dist/mjs/{data-structures → src/data-structures}/matrix/navigator.js +0 -0
  530. /package/dist/mjs/{data-structures → src/data-structures}/matrix/vector2d.d.ts +0 -0
  531. /package/dist/mjs/{data-structures → src/data-structures}/matrix/vector2d.js +0 -0
  532. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/index.d.ts +0 -0
  533. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/index.js +0 -0
  534. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.d.ts +0 -0
  535. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/max-priority-queue.js +0 -0
  536. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.d.ts +0 -0
  537. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/min-priority-queue.js +0 -0
  538. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/priority-queue.d.ts +0 -0
  539. /package/dist/mjs/{data-structures → src/data-structures}/priority-queue/priority-queue.js +0 -0
  540. /package/dist/mjs/{data-structures → src/data-structures}/queue/deque.d.ts +0 -0
  541. /package/dist/mjs/{data-structures → src/data-structures}/queue/deque.js +0 -0
  542. /package/dist/mjs/{data-structures → src/data-structures}/queue/index.d.ts +0 -0
  543. /package/dist/mjs/{data-structures → src/data-structures}/queue/index.js +0 -0
  544. /package/dist/mjs/{data-structures → src/data-structures}/queue/queue.d.ts +0 -0
  545. /package/dist/mjs/{data-structures → src/data-structures}/queue/queue.js +0 -0
  546. /package/dist/mjs/{data-structures → src/data-structures}/stack/index.d.ts +0 -0
  547. /package/dist/mjs/{data-structures → src/data-structures}/stack/index.js +0 -0
  548. /package/dist/mjs/{data-structures → src/data-structures}/stack/stack.d.ts +0 -0
  549. /package/dist/mjs/{data-structures → src/data-structures}/stack/stack.js +0 -0
  550. /package/dist/mjs/{data-structures → src/data-structures}/tree/index.d.ts +0 -0
  551. /package/dist/mjs/{data-structures → src/data-structures}/tree/index.js +0 -0
  552. /package/dist/mjs/{data-structures → src/data-structures}/tree/tree.d.ts +0 -0
  553. /package/dist/mjs/{data-structures → src/data-structures}/tree/tree.js +0 -0
  554. /package/dist/mjs/{data-structures → src/data-structures}/trie/index.d.ts +0 -0
  555. /package/dist/mjs/{data-structures → src/data-structures}/trie/index.js +0 -0
  556. /package/dist/mjs/{data-structures → src/data-structures}/trie/trie.d.ts +0 -0
  557. /package/dist/mjs/{data-structures → src/data-structures}/trie/trie.js +0 -0
  558. /package/dist/mjs/{index.d.ts → src/index.d.ts} +0 -0
  559. /package/dist/mjs/{index.js → src/index.js} +0 -0
  560. /package/dist/mjs/{interfaces → src/interfaces}/binary-tree.d.ts +0 -0
  561. /package/dist/mjs/{interfaces → src/interfaces}/binary-tree.js +0 -0
  562. /package/dist/mjs/{interfaces → src/interfaces}/doubly-linked-list.d.ts +0 -0
  563. /package/dist/mjs/{interfaces → src/interfaces}/doubly-linked-list.js +0 -0
  564. /package/dist/mjs/{interfaces → src/interfaces}/graph.d.ts +0 -0
  565. /package/dist/mjs/{interfaces → src/interfaces}/graph.js +0 -0
  566. /package/dist/mjs/{interfaces → src/interfaces}/heap.d.ts +0 -0
  567. /package/dist/mjs/{interfaces → src/interfaces}/heap.js +0 -0
  568. /package/dist/mjs/{interfaces → src/interfaces}/index.d.ts +0 -0
  569. /package/dist/mjs/{interfaces → src/interfaces}/index.js +0 -0
  570. /package/dist/mjs/{interfaces → src/interfaces}/navigator.d.ts +0 -0
  571. /package/dist/mjs/{interfaces → src/interfaces}/navigator.js +0 -0
  572. /package/dist/mjs/{interfaces → src/interfaces}/priority-queue.d.ts +0 -0
  573. /package/dist/mjs/{interfaces → src/interfaces}/priority-queue.js +0 -0
  574. /package/dist/mjs/{interfaces → src/interfaces}/segment-tree.d.ts +0 -0
  575. /package/dist/mjs/{interfaces → src/interfaces}/segment-tree.js +0 -0
  576. /package/dist/mjs/{interfaces → src/interfaces}/singly-linked-list.d.ts +0 -0
  577. /package/dist/mjs/{interfaces → src/interfaces}/singly-linked-list.js +0 -0
  578. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/avl-tree.d.ts +0 -0
  579. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/avl-tree.js +0 -0
  580. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  581. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-indexed-tree.js +0 -0
  582. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-tree.d.ts +0 -0
  583. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/binary-tree.js +0 -0
  584. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/bst.d.ts +0 -0
  585. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/bst.js +0 -0
  586. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/index.d.ts +0 -0
  587. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/index.js +0 -0
  588. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/rb-tree.d.ts +0 -0
  589. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/rb-tree.js +0 -0
  590. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  591. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/segment-tree.js +0 -0
  592. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/tree-multiset.d.ts +0 -0
  593. /package/dist/mjs/{types → src/types}/data-structures/binary-tree/tree-multiset.js +0 -0
  594. /package/dist/mjs/{types → src/types}/data-structures/graph/abstract-graph.d.ts +0 -0
  595. /package/dist/mjs/{types → src/types}/data-structures/graph/abstract-graph.js +0 -0
  596. /package/dist/mjs/{types → src/types}/data-structures/graph/directed-graph.d.ts +0 -0
  597. /package/dist/mjs/{types → src/types}/data-structures/graph/directed-graph.js +0 -0
  598. /package/dist/mjs/{types → src/types}/data-structures/graph/index.d.ts +0 -0
  599. /package/dist/mjs/{types → src/types}/data-structures/graph/index.js +0 -0
  600. /package/dist/mjs/{types → src/types}/data-structures/graph/map-graph.d.ts +0 -0
  601. /package/dist/mjs/{types → src/types}/data-structures/graph/map-graph.js +0 -0
  602. /package/dist/mjs/{types → src/types}/data-structures/graph/undirected-graph.d.ts +0 -0
  603. /package/dist/mjs/{types → src/types}/data-structures/graph/undirected-graph.js +0 -0
  604. /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-map.d.ts +0 -0
  605. /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-map.js +0 -0
  606. /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-set.d.ts +0 -0
  607. /package/dist/mjs/{types → src/types}/data-structures/hash/coordinate-set.js +0 -0
  608. /package/dist/mjs/{types → src/types}/data-structures/hash/hash-map.d.ts +0 -0
  609. /package/dist/mjs/{types → src/types}/data-structures/hash/hash-map.js +0 -0
  610. /package/dist/mjs/{types → src/types}/data-structures/hash/hash-table.d.ts +0 -0
  611. /package/dist/mjs/{types → src/types}/data-structures/hash/hash-table.js +0 -0
  612. /package/dist/mjs/{types → src/types}/data-structures/hash/index.d.ts +0 -0
  613. /package/dist/mjs/{types → src/types}/data-structures/hash/index.js +0 -0
  614. /package/dist/mjs/{types → src/types}/data-structures/hash/tree-map.d.ts +0 -0
  615. /package/dist/mjs/{types → src/types}/data-structures/hash/tree-map.js +0 -0
  616. /package/dist/mjs/{types → src/types}/data-structures/hash/tree-set.d.ts +0 -0
  617. /package/dist/mjs/{types → src/types}/data-structures/hash/tree-set.js +0 -0
  618. /package/dist/mjs/{types → src/types}/data-structures/heap/heap.d.ts +0 -0
  619. /package/dist/mjs/{types → src/types}/data-structures/heap/heap.js +0 -0
  620. /package/dist/mjs/{types → src/types}/data-structures/heap/index.d.ts +0 -0
  621. /package/dist/mjs/{types → src/types}/data-structures/heap/index.js +0 -0
  622. /package/dist/mjs/{types → src/types}/data-structures/heap/max-heap.d.ts +0 -0
  623. /package/dist/mjs/{types → src/types}/data-structures/heap/max-heap.js +0 -0
  624. /package/dist/mjs/{types → src/types}/data-structures/heap/min-heap.d.ts +0 -0
  625. /package/dist/mjs/{types → src/types}/data-structures/heap/min-heap.js +0 -0
  626. /package/dist/mjs/{types → src/types}/data-structures/index.d.ts +0 -0
  627. /package/dist/mjs/{types → src/types}/data-structures/index.js +0 -0
  628. /package/dist/mjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  629. /package/dist/mjs/{types → src/types}/data-structures/linked-list/doubly-linked-list.js +0 -0
  630. /package/dist/mjs/{types → src/types}/data-structures/linked-list/index.d.ts +0 -0
  631. /package/dist/mjs/{types → src/types}/data-structures/linked-list/index.js +0 -0
  632. /package/dist/mjs/{types → src/types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  633. /package/dist/mjs/{types → src/types}/data-structures/linked-list/singly-linked-list.js +0 -0
  634. /package/dist/mjs/{types → src/types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  635. /package/dist/mjs/{types → src/types}/data-structures/linked-list/skip-linked-list.js +0 -0
  636. /package/dist/mjs/{types → src/types}/data-structures/matrix/index.d.ts +0 -0
  637. /package/dist/mjs/{types → src/types}/data-structures/matrix/index.js +0 -0
  638. /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix.d.ts +0 -0
  639. /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix.js +0 -0
  640. /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix2d.d.ts +0 -0
  641. /package/dist/mjs/{types → src/types}/data-structures/matrix/matrix2d.js +0 -0
  642. /package/dist/mjs/{types → src/types}/data-structures/matrix/navigator.d.ts +0 -0
  643. /package/dist/mjs/{types → src/types}/data-structures/matrix/navigator.js +0 -0
  644. /package/dist/mjs/{types → src/types}/data-structures/matrix/vector2d.d.ts +0 -0
  645. /package/dist/mjs/{types → src/types}/data-structures/matrix/vector2d.js +0 -0
  646. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/index.d.ts +0 -0
  647. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/index.js +0 -0
  648. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  649. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/max-priority-queue.js +0 -0
  650. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  651. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/min-priority-queue.js +0 -0
  652. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  653. /package/dist/mjs/{types → src/types}/data-structures/priority-queue/priority-queue.js +0 -0
  654. /package/dist/mjs/{types → src/types}/data-structures/queue/deque.d.ts +0 -0
  655. /package/dist/mjs/{types → src/types}/data-structures/queue/deque.js +0 -0
  656. /package/dist/mjs/{types → src/types}/data-structures/queue/index.d.ts +0 -0
  657. /package/dist/mjs/{types → src/types}/data-structures/queue/index.js +0 -0
  658. /package/dist/mjs/{types → src/types}/data-structures/queue/queue.d.ts +0 -0
  659. /package/dist/mjs/{types → src/types}/data-structures/queue/queue.js +0 -0
  660. /package/dist/mjs/{types → src/types}/data-structures/stack/index.d.ts +0 -0
  661. /package/dist/mjs/{types → src/types}/data-structures/stack/index.js +0 -0
  662. /package/dist/mjs/{types → src/types}/data-structures/stack/stack.d.ts +0 -0
  663. /package/dist/mjs/{types → src/types}/data-structures/stack/stack.js +0 -0
  664. /package/dist/mjs/{types → src/types}/data-structures/tree/index.d.ts +0 -0
  665. /package/dist/mjs/{types → src/types}/data-structures/tree/index.js +0 -0
  666. /package/dist/mjs/{types → src/types}/data-structures/tree/tree.d.ts +0 -0
  667. /package/dist/mjs/{types → src/types}/data-structures/tree/tree.js +0 -0
  668. /package/dist/mjs/{types → src/types}/data-structures/trie/index.d.ts +0 -0
  669. /package/dist/mjs/{types → src/types}/data-structures/trie/index.js +0 -0
  670. /package/dist/mjs/{types → src/types}/data-structures/trie/trie.d.ts +0 -0
  671. /package/dist/mjs/{types → src/types}/data-structures/trie/trie.js +0 -0
  672. /package/dist/mjs/{types → src/types}/helpers.d.ts +0 -0
  673. /package/dist/mjs/{types → src/types}/helpers.js +0 -0
  674. /package/dist/mjs/{types → src/types}/index.d.ts +0 -0
  675. /package/dist/mjs/{types → src/types}/index.js +0 -0
  676. /package/dist/mjs/{types → src/types}/utils/index.d.ts +0 -0
  677. /package/dist/mjs/{types → src/types}/utils/index.js +0 -0
  678. /package/dist/mjs/{types → src/types}/utils/utils.d.ts +0 -0
  679. /package/dist/mjs/{types → src/types}/utils/utils.js +0 -0
  680. /package/dist/mjs/{types → src/types}/utils/validate-type.d.ts +0 -0
  681. /package/dist/mjs/{types → src/types}/utils/validate-type.js +0 -0
  682. /package/dist/mjs/{utils → src/utils}/index.d.ts +0 -0
  683. /package/dist/mjs/{utils → src/utils}/index.js +0 -0
  684. /package/dist/mjs/{utils → src/utils}/utils.d.ts +0 -0
  685. /package/dist/mjs/{utils → src/utils}/utils.js +0 -0
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "data-structure-typed",
3
- "version": "1.41.5",
3
+ "version": "1.41.7",
4
4
  "description": "Data Structures of Javascript & TypeScript. Binary Tree, BST, Graph, Heap, Priority Queue, Linked List, Queue, Deque, Stack, AVL Tree, Tree Multiset, Trie, Directed Graph, Undirected Graph, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue.",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/mjs/index.js",
7
- "types": "dist/mjs/index.d.ts",
5
+ "main": "dist/cjs/src/index.js",
6
+ "module": "dist/mjs/src/index.js",
7
+ "types": "dist/mjs/src/index.d.ts",
8
8
  "umd:main": "dist/umd/data-structure-typed.min.js",
9
9
  "exports": {
10
10
  ".": {
11
- "import": "./dist/mjs/index.js",
12
- "require": "./dist/cjs/index.js",
13
- "types": "./dist/mjs/index.d.ts"
11
+ "import": "./dist/mjs/src/index.js",
12
+ "require": "./dist/cjs/src/index.js",
13
+ "types": "./dist/mjs/src/index.d.ts"
14
14
  }
15
15
  },
16
16
  "scripts": {
17
17
  "build": "npm run build:mjs && npm run build:cjs && npm run build:umd && npm run build:docs",
18
- "build:mjs": "rm -rf dist/mjs && tsc -p tsconfig.json",
18
+ "build:mjs": "rm -rf dist/mjs && tsc -p tsconfig-mjs.json",
19
19
  "build:cjs": "rm -rf dist/cjs && tsc -p tsconfig-cjs.json",
20
20
  "build:umd": "tsup",
21
21
  "build:docs": "typedoc --out docs ./src",
@@ -64,10 +64,10 @@
64
64
  "@typescript-eslint/eslint-plugin": "^6.7.4",
65
65
  "@typescript-eslint/parser": "^6.7.4",
66
66
  "auto-changelog": "^2.4.0",
67
- "avl-tree-typed": "^1.41.2",
67
+ "avl-tree-typed": "^1.41.6",
68
68
  "benchmark": "^2.1.4",
69
- "binary-tree-typed": "^1.41.2",
70
- "bst-typed": "^1.41.2",
69
+ "binary-tree-typed": "^1.41.6",
70
+ "bst-typed": "^1.41.6",
71
71
  "dependency-cruiser": "^14.1.0",
72
72
  "eslint": "^8.50.0",
73
73
  "eslint-config-prettier": "^9.0.0",
@@ -75,7 +75,7 @@
75
75
  "eslint-import-resolver-typescript": "^3.6.1",
76
76
  "eslint-plugin-import": "^2.28.1",
77
77
  "fast-glob": "^3.3.1",
78
- "heap-typed": "^1.41.2",
78
+ "heap-typed": "^1.41.6",
79
79
  "istanbul-badges-readme": "^1.8.5",
80
80
  "jest": "^29.7.0",
81
81
  "prettier": "^3.0.3",
@@ -70,12 +70,12 @@ export class AVLTree<V = any, N extends AVLTreeNode<V, N> = AVLTreeNode<V, AVLTr
70
70
  * @param callback - The `callback` parameter is a function that takes a node as input and returns a
71
71
  * value. This value is compared with the `identifier` parameter to determine if the node should be
72
72
  * included in the result. The `callback` parameter has a default value of
73
- * `((node: N) => node.key)`
73
+ * `this.defaultOneParamCallback`
74
74
  * @returns The method is returning an array of `BinaryTreeDeletedResult<N>` objects.
75
75
  */
76
76
  override delete<C extends BTNCallback<N>>(
77
77
  identifier: ReturnType<C>,
78
- callback: C = ((node: N) => node.key) as C
78
+ callback: C = this.defaultOneParamCallback as C
79
79
  ): BinaryTreeDeletedResult<N>[] {
80
80
  if ((identifier as any) instanceof AVLTreeNode) callback = (node => node) as C;
81
81
  const deletedResults = super.delete(identifier, callback);
@@ -141,6 +141,8 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
141
141
  return this._size;
142
142
  }
143
143
 
144
+ protected defaultOneParamCallback = (node: N) => node.key;
145
+
144
146
  /**
145
147
  * Creates a new instance of BinaryTreeNode with the given key and value.
146
148
  * @param {BTNKey} key - The key for the new node.
@@ -284,11 +286,11 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
284
286
  * @param callback - The `callback` parameter is a function that takes a node as input and returns a
285
287
  * value. This value is compared with the `identifier` parameter to determine if the node should be
286
288
  * included in the result. The `callback` parameter has a default value of
287
- * `((node: N) => node.key)`, which
289
+ * `this.defaultOneParamCallback`, which
288
290
  */
289
291
  delete<C extends BTNCallback<N>>(
290
292
  identifier: ReturnType<C> | null,
291
- callback: C = ((node: N) => node.key) as C
293
+ callback: C = this.defaultOneParamCallback as C
292
294
  ): BinaryTreeDeletedResult<N>[] {
293
295
  const bstDeletedResult: BinaryTreeDeletedResult<N>[] = [];
294
296
  if (!this.root) return bstDeletedResult;
@@ -506,7 +508,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
506
508
  * @param callback - The `callback` parameter is a function that takes a node as input and returns a
507
509
  * value. This value is compared with the `identifier` parameter to determine if the node should be
508
510
  * included in the result. The `callback` parameter has a default value of
509
- * `((node: N) => node.key)`, which
511
+ * `this.defaultOneParamCallback`, which
510
512
  * @param [onlyOne=false] - A boolean value indicating whether to stop searching after finding the
511
513
  * first node that matches the identifier. If set to true, the function will return an array with
512
514
  * only one element (or an empty array if no matching node is found). If set to false (default), the
@@ -520,7 +522,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
520
522
  */
521
523
  getNodes<C extends BTNCallback<N>>(
522
524
  identifier: ReturnType<C> | null,
523
- callback: C = ((node: N) => node.key) as C,
525
+ callback: C = this.defaultOneParamCallback as C,
524
526
  onlyOne = false,
525
527
  beginRoot: N | null = this.root,
526
528
  iterationType = this.iterationType
@@ -588,7 +590,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
588
590
  * @param callback - The `callback` parameter is a function that is used to determine whether a node
589
591
  * matches the desired criteria. It takes a node as input and returns a boolean value indicating
590
592
  * whether the node matches the criteria or not. The default callback function
591
- * `((node: N) => node.key)` is used if no callback function is
593
+ * `this.defaultOneParamCallback` is used if no callback function is
592
594
  * @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
593
595
  * the node from which the search should begin. By default, it is set to `this.root`, which means the
594
596
  * search will start from the root node of the binary tree. However, you can provide a different node
@@ -599,7 +601,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
599
601
  */
600
602
  has<C extends BTNCallback<N>>(
601
603
  identifier: ReturnType<C> | null,
602
- callback: C = ((node: N) => node.key) as C,
604
+ callback: C = this.defaultOneParamCallback as C,
603
605
  beginRoot = this.root,
604
606
  iterationType = this.iterationType
605
607
  ): boolean {
@@ -637,7 +639,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
637
639
  * @param callback - The `callback` parameter is a function that is used to determine whether a node
638
640
  * matches the desired criteria. It takes a node as input and returns a boolean value indicating
639
641
  * whether the node matches the criteria or not. The default callback function
640
- * (`((node: N) => node.key)`) is used if no callback function is
642
+ * (`this.defaultOneParamCallback`) is used if no callback function is
641
643
  * @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
642
644
  * the root node from which the search should begin.
643
645
  * @param iterationType - The `iterationType` parameter specifies the type of iteration to be
@@ -646,7 +648,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
646
648
  */
647
649
  getNode<C extends BTNCallback<N>>(
648
650
  identifier: ReturnType<C> | null,
649
- callback: C = ((node: N) => node.key) as C,
651
+ callback: C = this.defaultOneParamCallback as C,
650
652
  beginRoot = this.root,
651
653
  iterationType = this.iterationType
652
654
  ): N | null {
@@ -684,7 +686,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
684
686
  * @param callback - The `callback` parameter is a function that is used to determine whether a node
685
687
  * matches the desired criteria. It takes a node as input and returns a boolean value indicating
686
688
  * whether the node matches the criteria or not. The default callback function
687
- * (`((node: N) => node.key)`) is used if no callback function is
689
+ * (`this.defaultOneParamCallback`) is used if no callback function is
688
690
  * @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
689
691
  * the root node from which the search should begin.
690
692
  * @param iterationType - The `iterationType` parameter specifies the type of iteration to be
@@ -693,7 +695,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
693
695
  */
694
696
  get<C extends BTNCallback<N>>(
695
697
  identifier: ReturnType<C> | null,
696
- callback: C = ((node: N) => node.key) as C,
698
+ callback: C = this.defaultOneParamCallback as C,
697
699
  beginRoot = this.root,
698
700
  iterationType = this.iterationType
699
701
  ): V | undefined {
@@ -859,7 +861,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
859
861
  * @returns The function `subTreeTraverse` returns an array of `ReturnType<BTNCallback<N>>`.
860
862
  */
861
863
  subTreeTraverse<C extends BTNCallback<N>>(
862
- callback: C = ((node: N) => node.key) as C,
864
+ callback: C = this.defaultOneParamCallback as C,
863
865
  beginRoot: BTNKey | N | null = this.root,
864
866
  iterationType = this.iterationType
865
867
  ): ReturnType<C>[] {
@@ -895,7 +897,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
895
897
  * function on each node according to a specified order pattern.
896
898
  * @param callback - The `callback` parameter is a function that will be called on each node during
897
899
  * the depth-first search traversal. It takes a node as input and returns a value. The default value
898
- * is `((node: N) => node.key)`, which is a callback function defined elsewhere in the code.
900
+ * is `this.defaultOneParamCallback`, which is a callback function defined elsewhere in the code.
899
901
  * @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter determines the order in which the
900
902
  * nodes are visited during the depth-first search. There are three possible values for `pattern`:
901
903
  * @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the depth-first
@@ -906,7 +908,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
906
908
  * @returns The function `dfs` returns an array of `ReturnType<BTNCallback<N>>` values.
907
909
  */
908
910
  dfs<C extends BTNCallback<N>>(
909
- callback: C = ((node: N) => node.key) as C,
911
+ callback: C = this.defaultOneParamCallback as C,
910
912
  pattern: DFSOrderPattern = 'in',
911
913
  beginRoot: N | null = this.root,
912
914
  iterationType: IterationType = IterationType.ITERATIVE
@@ -981,7 +983,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
981
983
  * function on each node.
982
984
  * @param callback - The `callback` parameter is a function that will be called for each node in the
983
985
  * breadth-first search. It takes a node of type `N` as its argument and returns a value of type
984
- * `ReturnType<BTNCallback<N>>`. The default value for this parameter is `((node: N) => node.key)
986
+ * `ReturnType<BTNCallback<N>>`. The default value for this parameter is `this.defaultOneParamCallback
985
987
  * @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the breadth-first
986
988
  * search. It determines from which node the search will begin. If `beginRoot` is `null`, the search
987
989
  * will not be performed and an empty array will be returned.
@@ -990,7 +992,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
990
992
  * @returns The function `bfs` returns an array of `ReturnType<BTNCallback<N>>[]`.
991
993
  */
992
994
  bfs<C extends BTNCallback<N>>(
993
- callback: C = ((node: N) => node.key) as C,
995
+ callback: C = this.defaultOneParamCallback as C,
994
996
  beginRoot: N | null = this.root,
995
997
  iterationType = this.iterationType
996
998
  ): ReturnType<C>[] {
@@ -1047,7 +1049,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
1047
1049
  * function `C` applied to the nodes at that level.
1048
1050
  */
1049
1051
  listLevels<C extends BTNCallback<N>>(
1050
- callback: C = ((node: N) => node.key) as C,
1052
+ callback: C = this.defaultOneParamCallback as C,
1051
1053
  beginRoot: N | null = this.root,
1052
1054
  iterationType = this.iterationType
1053
1055
  ): ReturnType<C>[][] {
@@ -1126,7 +1128,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
1126
1128
  * algorithm and returns an array of values obtained by applying a callback function to each node.
1127
1129
  * @param callback - The `callback` parameter is a function that will be called on each node in the
1128
1130
  * tree. It takes a node of type `N` as input and returns a value of type `ReturnType<BTNCallback<N>>`. The
1129
- * default value for this parameter is `((node: N) => node.key)`.
1131
+ * default value for this parameter is `this.defaultOneParamCallback`.
1130
1132
  * @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter in the `morris` function
1131
1133
  * determines the order in which the nodes of a binary tree are traversed. It can have one of the
1132
1134
  * following values:
@@ -1136,7 +1138,7 @@ export class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNode
1136
1138
  * @returns The `morris` function returns an array of `ReturnType<BTNCallback<N>>` values.
1137
1139
  */
1138
1140
  morris<C extends BTNCallback<N>>(
1139
- callback: C = ((node: N) => node.key) as C,
1141
+ callback: C = this.defaultOneParamCallback as C,
1140
1142
  pattern: DFSOrderPattern = 'in',
1141
1143
  beginRoot: N | null = this.root
1142
1144
  ): ReturnType<C>[] {
@@ -36,7 +36,7 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
36
36
  }
37
37
  }
38
38
  }
39
-
39
+
40
40
  /**
41
41
  * The function creates a new binary search tree node with the given key and value.
42
42
  * @param {BTNKey} key - The key parameter is the key value that will be associated with
@@ -216,33 +216,6 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
216
216
  return inserted;
217
217
  }
218
218
 
219
- /**
220
- * The function returns the first node in the binary tree that matches the given node property and
221
- * callback.
222
- * @param {ReturnType<C> | N} identifier - The `nodeProperty` parameter is used to specify the
223
- * property of the binary tree node that you want to search for. It can be either a specific key
224
- * value (`BTNKey`) or a custom callback function (`BTNCallback<N>`) that determines
225
- * whether a node matches the desired property.
226
- * @param callback - The `callback` parameter is a function that is used to determine whether a node
227
- * matches the desired property. It takes a node as input and returns a boolean value indicating
228
- * whether the node matches the property or not. If no callback function is provided, the default
229
- * callback function `_defaultCallbackByKey` is used
230
- * @param beginRoot - The `beginRoot` parameter is the starting point for the search. It specifies
231
- * the root node from which the search should begin.
232
- * @param iterationType - The `iterationType` parameter is used to specify the type of iteration to
233
- * be performed when searching for nodes in the binary tree. It can have one of the following values:
234
- * @returns either the first node that matches the given nodeProperty and callback, or null if no
235
- * matching node is found.
236
- */
237
- override getNode<C extends BTNCallback<N>>(
238
- identifier: ReturnType<C> | null,
239
- callback: C = ((node: N) => node.key) as C,
240
- beginRoot = this.root,
241
- iterationType = this.iterationType
242
- ): N | null {
243
- return this.getNodes(identifier, callback, true, beginRoot, iterationType)[0] ?? null;
244
- }
245
-
246
219
  /**
247
220
  * The function `lastKey` returns the key of the rightmost node if the comparison result is less
248
221
  * than, the key of the leftmost node if the comparison result is greater than, and the key of the
@@ -272,7 +245,7 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
272
245
  * generic type `N`.
273
246
  * @param callback - The `callback` parameter is a function that takes a node as input and returns a
274
247
  * value. This value is compared with the `nodeProperty` parameter to determine if the node should be
275
- * included in the result. The default value for `callback` is `((node: N) => node.key)`, which is
248
+ * included in the result. The default value for `callback` is `this.defaultOneParamCallback`, which is
276
249
  * a
277
250
  * @param [onlyOne=false] - A boolean value indicating whether to stop the traversal after finding
278
251
  * the first node that matches the nodeProperty. If set to true, the function will return an array
@@ -287,7 +260,7 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
287
260
  */
288
261
  override getNodes<C extends BTNCallback<N>>(
289
262
  identifier: ReturnType<C> | null,
290
- callback: C = ((node: N) => node.key) as C,
263
+ callback: C = this.defaultOneParamCallback as C,
291
264
  onlyOne = false,
292
265
  beginRoot: N | null = this.root,
293
266
  iterationType = this.iterationType
@@ -305,7 +278,7 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
305
278
 
306
279
  if (!cur.left && !cur.right) return;
307
280
  // TODO potential bug
308
- if (callback === ((node: N) => node.key)) {
281
+ if (callback === this.defaultOneParamCallback) {
309
282
  if (this._compare(cur.key, identifier as number) === CP.gt) cur.left && _traverse(cur.left);
310
283
  if (this._compare(cur.key, identifier as number) === CP.lt) cur.right && _traverse(cur.right);
311
284
  } else {
@@ -326,7 +299,7 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
326
299
  if (onlyOne) return ans;
327
300
  }
328
301
  // TODO potential bug
329
- if (callback === ((node: N) => node.key)) {
302
+ if (callback === this.defaultOneParamCallback) {
330
303
  if (this._compare(cur.key, identifier as number) === CP.gt) cur.left && queue.push(cur.left);
331
304
  if (this._compare(cur.key, identifier as number) === CP.lt) cur.right && queue.push(cur.right);
332
305
  } else {
@@ -360,7 +333,7 @@ export class BST<V = any, N extends BSTNode<V, N> = BSTNode<V, BSTNodeNested<V>>
360
333
  * @returns The function `lesserOrGreaterTraverse` returns an array of `ReturnType<BTNCallback<N>>`.
361
334
  */
362
335
  lesserOrGreaterTraverse<C extends BTNCallback<N>>(
363
- callback: C = ((node: N) => node.key) as C,
336
+ callback: C = this.defaultOneParamCallback as C,
364
337
  lesserOrGreater: CP = CP.lt,
365
338
  targetNode: BTNKey | N | null = this.root,
366
339
  iterationType = this.iterationType
@@ -268,7 +268,7 @@ export class TreeMultiset<V = any, N extends TreeMultisetNode<V, N> = TreeMultis
268
268
  * @param callback - The `callback` parameter is a function that takes a node as input and returns a
269
269
  * value. This value is compared with the `identifier` parameter to determine if the node should be
270
270
  * included in the result. The `callback` parameter has a default value of
271
- * `((node: N) => node.key)`
271
+ * `this.defaultOneParamCallback`
272
272
  * @param [ignoreCount=false] - A boolean flag indicating whether to ignore the count of the node
273
273
  * being deleted. If set to true, the count of the node will not be considered and the node will be
274
274
  * deleted regardless of its count. If set to false (default), the count of the node will be
@@ -277,7 +277,7 @@ export class TreeMultiset<V = any, N extends TreeMultisetNode<V, N> = TreeMultis
277
277
  */
278
278
  override delete<C extends BTNCallback<N>>(
279
279
  identifier: ReturnType<C>,
280
- callback: C = ((node: N) => node.key) as C,
280
+ callback: C = this.defaultOneParamCallback as C,
281
281
  ignoreCount = false
282
282
  ): BinaryTreeDeletedResult<N>[] {
283
283
  const bstDeletedResult: BinaryTreeDeletedResult<N>[] = [];
@@ -233,8 +233,8 @@ export abstract class AbstractGraph<
233
233
  return [];
234
234
  }
235
235
 
236
- const dfs = (cur: VO, dest: VO, visiting: Map<VO, boolean>, path: VO[]) => {
237
- visiting.set(cur, true);
236
+ const dfs = (cur: VO, dest: VO, visiting: Set<VO>, path: VO[]) => {
237
+ visiting.add(cur);
238
238
 
239
239
  if (cur === dest) {
240
240
  paths.push([vertex1, ...path]);
@@ -242,17 +242,17 @@ export abstract class AbstractGraph<
242
242
 
243
243
  const neighbors = this.getNeighbors(cur);
244
244
  for (const neighbor of neighbors) {
245
- if (!visiting.get(neighbor)) {
245
+ if (!visiting.has(neighbor)) {
246
246
  path.push(neighbor);
247
247
  dfs(neighbor, dest, visiting, path);
248
- arrayRemove(path, (vertex: VO) => vertex === neighbor);
248
+ path.pop();
249
249
  }
250
250
  }
251
251
 
252
- visiting.set(cur, false);
252
+ visiting.delete(cur);
253
253
  };
254
254
 
255
- dfs(vertex1, vertex2, new Map<VO, boolean>(), []);
255
+ dfs(vertex1, vertex2, new Set<VO>(), []);
256
256
  return paths;
257
257
  }
258
258
 
@@ -92,46 +92,49 @@ const composeReport = () => {
92
92
  });
93
93
  }
94
94
  }
95
+ htmlTables += `
96
+
97
+ `;
95
98
  html += htmlTables;
96
99
  html += `</div>
97
100
  </body>
98
101
  </html>`;
99
- writeIntoMarkdown(htmlTables);
102
+ replaceMarkdownContent(
103
+ '[//]: # (Start of Replace Section)', // Start tag
104
+ '[//]: # (End of Replace Section)', // end identifier
105
+ htmlTables // New content to be inserted
106
+ );
100
107
  fs.writeFileSync(htmlFilePath, html);
101
108
  console.log(`Performance ${BOLD}${GREEN}report${END} file generated`);
102
109
  };
103
-
104
- function writeIntoMarkdown(html: string) {
110
+ function replaceMarkdownContent(startMarker: string, endMarker: string, newText: string) {
105
111
  const parentDirectory = path.resolve(__dirname, '../..'); // The path to the parent directory
106
- const markdownFilePath = path.join(parentDirectory, 'README.md'); // Path to README.md file
107
- const textToInsert = html;
108
-
109
- // Read the original README.md file
110
- fs.readFile(markdownFilePath, 'utf8', (err, data) => {
112
+ const filePath = path.join(parentDirectory, 'README.md'); // Path to README.md file
113
+ fs.readFile(filePath, 'utf8', (err, data) => {
111
114
  if (err) {
112
- console.error('Unable to read README.md file:', err);
115
+ console.error(`Unable to read ${filePath}:`, err);
113
116
  return;
114
117
  }
115
118
 
116
- // Find the location in the README.md file where you want to insert the text, for example under a specific tag
117
- const insertMarker = '## Benchmark';
119
+ // Find the start and end markers in the content
120
+ const startIndex = data.indexOf(startMarker);
121
+ const endIndex = data.indexOf(endMarker, startIndex + 1);
118
122
 
119
- const index = data.indexOf(insertMarker);
120
- if (index === -1) {
121
- console.error('Unable to find insertion point');
123
+ if (startIndex === -1 || endIndex === -1) {
124
+ console.error('Unable to find start or end marker');
122
125
  return;
123
126
  }
124
127
 
125
- // insert text
128
+ // Replace the old content with the new text
126
129
  const updatedMarkdown =
127
- data.slice(0, index + insertMarker.length) + '\n' + textToInsert + data.slice(index + insertMarker.length);
130
+ data.slice(0, startIndex + startMarker.length) + '\n' + newText + data.slice(endIndex);
128
131
 
129
- // Try writing the modified content back to the README.md file
130
- fs.writeFile(markdownFilePath, updatedMarkdown, 'utf8', err => {
132
+ // Try writing the modified content back to the file
133
+ fs.writeFile(filePath, updatedMarkdown, 'utf8', (err) => {
131
134
  if (err) {
132
- console.error('Unable to write to README.md file:', err);
135
+ console.error(`Unable to write to ${filePath}:`, err);
133
136
  } else {
134
- console.log('The tables have been successfully inserted into the README.md file!');
137
+ console.log(`The content has been successfully replaced in ${filePath}!`);
135
138
  }
136
139
  });
137
140
  });
@@ -0,0 +1 @@
1
+ [[{"name":"Intersection_1"},{"name":"Intersection_2","weight":28}],[{"name":"Intersection_1"},{"name":"Intersection_14","weight":44}],[{"name":"Intersection_2"},{"name":"Intersection_3","weight":8}],[{"name":"Intersection_2"},{"name":"Intersection_14","weight":44}],[{"name":"Intersection_3"},{"name":"Intersection_4","weight":31}],[{"name":"Intersection_3"},{"name":"Intersection_22","weight":45}],[{"name":"Intersection_4"},{"name":"Intersection_5","weight":37}],[{"name":"Intersection_4"},{"name":"Intersection_24","weight":40}],[{"name":"Intersection_5"},{"name":"Intersection_6","weight":32}],[{"name":"Intersection_5"},{"name":"Intersection_26","weight":34}],[{"name":"Intersection_6"},{"name":"Intersection_7","weight":30}],[{"name":"Intersection_7"},{"name":"Intersection_8","weight":53}],[{"name":"Intersection_7"},{"name":"Intersection_27","weight":0}],[{"name":"Intersection_8"},{"name":"Intersection_9","weight":33}],[{"name":"Intersection_8"},{"name":"Intersection_47","weight":38}],[{"name":"Intersection_9"},{"name":"Intersection_10","weight":28}],[{"name":"Intersection_9"},{"name":"Intersection_62","weight":31}],[{"name":"Intersection_10"},{"name":"Intersection_11","weight":18}],[{"name":"Intersection_10"},{"name":"Intersection_59","weight":45}],[{"name":"Intersection_11"},{"name":"Intersection_12","weight":28}],[{"name":"Intersection_11"},{"name":"Intersection_58","weight":21}],[{"name":"Intersection_12"},{"name":"Intersection_13","weight":35}],[{"name":"Intersection_12"},{"name":"Intersection_57","weight":22}],[{"name":"Intersection_14"},{"name":"Intersection_15","weight":40}],[{"name":"Intersection_15"},{"name":"Intersection_16","weight":43}],[{"name":"Intersection_15"},{"name":"Intersection_23","weight":27}],[{"name":"Intersection_16"},{"name":"Intersection_17","weight":14}],[{"name":"Intersection_17"},{"name":"Intersection_18","weight":51}],[{"name":"Intersection_18"},{"name":"Intersection_19","weight":29}],[{"name":"Intersection_19"},{"name":"Intersection_20","weight":34}],[{"name":"Intersection_20"},{"name":"Intersection_21","weight":43}],[{"name":"Intersection_20"},{"name":"Intersection_66","weight":24}],[{"name":"Intersection_21"},{"name":"Intersection_52","weight":36}],[{"name":"Intersection_22"},{"name":"Intersection_23","weight":27}],[{"name":"Intersection_23"},{"name":"Intersection_33","weight":10}],[{"name":"Intersection_24"},{"name":"Intersection_25","weight":24}],[{"name":"Intersection_24"},{"name":"Intersection_22","weight":45}],[{"name":"Intersection_25"},{"name":"Intersection_34","weight":23}],[{"name":"Intersection_26"},{"name":"Intersection_30","weight":5}],[{"name":"Intersection_27"},{"name":"Intersection_28","weight":25}],[{"name":"Intersection_27"},{"name":"Intersection_45","weight":6}],[{"name":"Intersection_28"},{"name":"Intersection_29","weight":21}],[{"name":"Intersection_29"},{"name":"Intersection_26","weight":34}],[{"name":"Intersection_29"},{"name":"Intersection_41","weight":23}],[{"name":"Intersection_30"},{"name":"Intersection_24","weight":40}],[{"name":"Intersection_30"},{"name":"Intersection_31","weight":18}],[{"name":"Intersection_31"},{"name":"Intersection_32","weight":11}],[{"name":"Intersection_32"},{"name":"Intersection_35","weight":21}],[{"name":"Intersection_33"},{"name":"Intersection_25","weight":24}],[{"name":"Intersection_33"},{"name":"Intersection_42","weight":32}],[{"name":"Intersection_34"},{"name":"Intersection_32","weight":11}],[{"name":"Intersection_34"},{"name":"Intersection_42","weight":32}],[{"name":"Intersection_35"},{"name":"Intersection_36","weight":25}],[{"name":"Intersection_35"},{"name":"Intersection_43","weight":23}],[{"name":"Intersection_36"},{"name":"Intersection_37","weight":37}],[{"name":"Intersection_37"},{"name":"Intersection_49","weight":19}],[{"name":"Intersection_38"},{"name":"Intersection_39","weight":29}],[{"name":"Intersection_38"},{"name":"Intersection_46","weight":31}],[{"name":"Intersection_39"},{"name":"Intersection_40","weight":22}],[{"name":"Intersection_39"},{"name":"Intersection_46","weight":31}],[{"name":"Intersection_40"},{"name":"Intersection_41","weight":23}],[{"name":"Intersection_41"},{"name":"Intersection_31","weight":18}],[{"name":"Intersection_42"},{"name":"Intersection_16","weight":43}],[{"name":"Intersection_42"},{"name":"Intersection_43","weight":23}],[{"name":"Intersection_43"},{"name":"Intersection_44","weight":23}],[{"name":"Intersection_43"},{"name":"Intersection_17","weight":14}],[{"name":"Intersection_45"},{"name":"Intersection_39","weight":29}],[{"name":"Intersection_46"},{"name":"Intersection_48","weight":4}],[{"name":"Intersection_47"},{"name":"Intersection_38","weight":0}],[{"name":"Intersection_47"},{"name":"Intersection_45","weight":6}],[{"name":"Intersection_48"},{"name":"Intersection_37","weight":37}],[{"name":"Intersection_48"},{"name":"Intersection_63","weight":38}],[{"name":"Intersection_49"},{"name":"Intersection_19","weight":29}],[{"name":"Intersection_49"},{"name":"Intersection_51","weight":42}],[{"name":"Intersection_50"},{"name":"Intersection_49","weight":19}],[{"name":"Intersection_51"},{"name":"Intersection_66","weight":24}],[{"name":"Intersection_52"},{"name":"Intersection_53","weight":31}],[{"name":"Intersection_53"},{"name":"Intersection_54","weight":42}],[{"name":"Intersection_54"},{"name":"Intersection_55","weight":18}],[{"name":"Intersection_54"},{"name":"Intersection_61","weight":28}],[{"name":"Intersection_55"},{"name":"Intersection_56","weight":15}],[{"name":"Intersection_56"},{"name":"Intersection_13","weight":35}],[{"name":"Intersection_57"},{"name":"Intersection_56","weight":15}],[{"name":"Intersection_58"},{"name":"Intersection_57","weight":22}],[{"name":"Intersection_58"},{"name":"Intersection_65","weight":19}],[{"name":"Intersection_59"},{"name":"Intersection_60","weight":40}],[{"name":"Intersection_59"},{"name":"Intersection_62","weight":31}],[{"name":"Intersection_60"},{"name":"Intersection_53","weight":31}],[{"name":"Intersection_61"},{"name":"Intersection_59","weight":45}],[{"name":"Intersection_62"},{"name":"Intersection_47","weight":38}],[{"name":"Intersection_62"},{"name":"Intersection_63","weight":38}],[{"name":"Intersection_63"},{"name":"Intersection_64","weight":16}],[{"name":"Intersection_64"},{"name":"Intersection_60","weight":40}],[{"name":"Intersection_64"},{"name":"Intersection_51","weight":42}],[{"name":"Intersection_65"},{"name":"Intersection_61","weight":28}],[{"name":"Intersection_65"},{"name":"Intersection_55","weight":18}],[{"name":"Intersection_66"},{"name":"Intersection_52","weight":36}]]
@@ -0,0 +1 @@
1
+ [{"name":"Intersection_1"},{"name":"Intersection_2"},{"name":"Intersection_3"},{"name":"Intersection_4"},{"name":"Intersection_5"},{"name":"Intersection_6"},{"name":"Intersection_7"},{"name":"Intersection_8"},{"name":"Intersection_9"},{"name":"Intersection_10"},{"name":"Intersection_11"},{"name":"Intersection_12"},{"name":"Intersection_13"},{"name":"Intersection_14"},{"name":"Intersection_15"},{"name":"Intersection_16"},{"name":"Intersection_17"},{"name":"Intersection_18"},{"name":"Intersection_19"},{"name":"Intersection_20"},{"name":"Intersection_21"},{"name":"Intersection_22"},{"name":"Intersection_23"},{"name":"Intersection_24"},{"name":"Intersection_25"},{"name":"Intersection_26"},{"name":"Intersection_27"},{"name":"Intersection_28"},{"name":"Intersection_29"},{"name":"Intersection_30"},{"name":"Intersection_31"},{"name":"Intersection_32"},{"name":"Intersection_33"},{"name":"Intersection_34"},{"name":"Intersection_35"},{"name":"Intersection_36"},{"name":"Intersection_37"},{"name":"Intersection_38"},{"name":"Intersection_39"},{"name":"Intersection_40"},{"name":"Intersection_41"},{"name":"Intersection_42"},{"name":"Intersection_43"},{"name":"Intersection_44"},{"name":"Intersection_45"},{"name":"Intersection_46"},{"name":"Intersection_47"},{"name":"Intersection_48"},{"name":"Intersection_49"},{"name":"Intersection_50"},{"name":"Intersection_51"},{"name":"Intersection_52"},{"name":"Intersection_53"},{"name":"Intersection_54"},{"name":"Intersection_55"},{"name":"Intersection_56"},{"name":"Intersection_57"},{"name":"Intersection_58"},{"name":"Intersection_59"},{"name":"Intersection_60"},{"name":"Intersection_61"},{"name":"Intersection_62"},{"name":"Intersection_63"},{"name":"Intersection_64"},{"name":"Intersection_65"},{"name":"Intersection_66"}]
@@ -1,4 +1,6 @@
1
1
  import {UndirectedEdge, UndirectedGraph, UndirectedVertex} from '../../../../src';
2
+ import saltyVertexes from './SaltyGateStreetIntersections.json';
3
+ import saltyEdges from './SaltyGateStreetConnections.json';
2
4
 
3
5
  describe('UndirectedGraph Operation Test', () => {
4
6
  let graph: UndirectedGraph;
@@ -146,4 +148,21 @@ describe('UndirectedGraph', () => {
146
148
  expect(degreeOfB).toBe(2);
147
149
  expect(degreeOfC).toBe(1);
148
150
  });
151
+
152
+ it('xxx', () => {
153
+ // const start = performance.now();
154
+ const graph = new UndirectedGraph<{ name: string }, number >()
155
+ for (const v of saltyVertexes) {
156
+ graph.addVertex(v.name, v);
157
+ }
158
+ for (const e of saltyEdges) {
159
+ const [s,d] = e;
160
+ graph.addEdge( s.name, d.name, d.weight );
161
+ }
162
+ // const result = graph.getAllPathsBetween('Intersection_1','Intersection_5');
163
+ // console.log('---xxx', performance.now() - start, result)
164
+ // const result = graph.dijkstra('Intersection_1','Intersection_5', true, true);
165
+ // console.log('---xxx', performance.now() - start, result)
166
+
167
+ })
149
168
  });
@@ -1,27 +1,23 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "allowJs": true,
4
- "allowSyntheticDefaultImports": true,
5
- "baseUrl": "src",
6
- "declaration": true,
7
- "esModuleInterop": true,
8
- "inlineSourceMap": false,
9
- "lib": ["esnext"],
10
- "listEmittedFiles": false,
11
- "listFiles": false,
12
- "moduleResolution": "node",
13
- "noFallthroughCasesInSwitch": true,
14
- "pretty": true,
15
- "resolveJsonModule": true,
16
- "rootDir": "src",
17
- "skipLibCheck": true,
18
- "strict": true,
19
- "traceResolution": false,
20
- "types": ["node", "jest"]
3
+ "allowJs": true, // Allow the compiler to compile JavaScript files (.js).
4
+ "allowSyntheticDefaultImports": true, // Allow synthetic default imports to improve module interoperability.
5
+ "baseUrl": "./", // Specify the base path of the root directory for module import.
6
+ "declaration": true, // Generate declaration files (.d.ts) for type checking and code hints.
7
+ "esModuleInterop": true, // Enable ECMAScript module interop for correct handling of CommonJS modules.
8
+ "inlineSourceMap": false, // Whether to map inline sources to compiled JavaScript files.
9
+ "lib": ["esnext"], // Specify the standard library version of the compilation target.
10
+ "listEmittedFiles": false, // List generated output files.
11
+ "listFiles": false, // List source files compiled by the compiler.
12
+ "noFallthroughCasesInSwitch": true, // Forced to check whether the case statement in the switch statement has the fallthrough mark.
13
+ "pretty": true, // Output a pretty error message.
14
+ "resolveJsonModule": true, // Enable parsing of the JSON module.
15
+ "rootDir": "./", // Specify the root directory of the source files in the project.
16
+ "skipLibCheck": true, // Skip type checking of type libraries.
17
+ "strict": true, // Enable strict type checking, including enabling all strict options.
18
+ "traceResolution": false, // Whether to trace the module resolution process.
19
+ "types": ["node", "jest"] // Specifies the name of the type declaration file to include.
21
20
  },
22
- "compileOnSave": false,
23
- "exclude": ["node_modules", "dist"],
24
- "include": [
25
- "./src/**/*.ts", // Include your .ts files
26
- ]
27
- }
21
+ "compileOnSave": false, // Whether to automatically compile when saving.
22
+ "exclude": ["node_modules", "dist"], // Specify files or directories that should not be included in the compilation.
23
+ }
package/tsconfig-cjs.json CHANGED
@@ -2,8 +2,12 @@
2
2
  "extends": "./tsconfig-base.json",
3
3
  "compilerOptions": {
4
4
  "module": "CommonJS",
5
+ "moduleResolution": "node",
5
6
  "outDir": "dist/cjs",
6
7
  "target": "ES2015",
7
8
  "sourceMap": true
8
- }
9
+ },
10
+ "include": [
11
+ "./src/**/*.ts"
12
+ ]
9
13
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "./tsconfig-base.json",
3
+ "compilerOptions": {
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "outDir": "dist/mjs",
7
+ "target": "ESNext"
8
+ },
9
+ "include": [
10
+ "./src/**/*.ts"
11
+ ]
12
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"avl-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/avl-tree.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"binary-indexed-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/binary-indexed-tree.ts"],"names":[],"mappings":"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"}