data-structure-typed 1.40.0-rc → 1.40.0

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 (1065) hide show
  1. package/.eslintrc.js +7 -5
  2. package/.github/workflows/ci.yml +2 -20
  3. package/.travis.yml +3 -4
  4. package/CHANGELOG.md +22 -1
  5. package/CONTRIBUTING.md +13 -0
  6. package/README.md +20 -11
  7. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +106 -0
  8. package/dist/cjs/data-structures/binary-tree/avl-tree.js +348 -0
  9. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -0
  10. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.d.ts +149 -0
  11. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js +270 -0
  12. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  13. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +355 -0
  14. package/dist/cjs/data-structures/binary-tree/binary-tree.js +1116 -0
  15. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -0
  16. package/dist/cjs/data-structures/binary-tree/bst.d.ts +167 -0
  17. package/dist/cjs/data-structures/binary-tree/bst.js +513 -0
  18. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -0
  19. package/dist/cjs/data-structures/binary-tree/index.d.ts +7 -0
  20. package/dist/cjs/data-structures/binary-tree/index.js +24 -0
  21. package/dist/cjs/data-structures/binary-tree/index.js.map +1 -0
  22. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +11 -0
  23. package/dist/cjs/data-structures/binary-tree/rb-tree.js +22 -0
  24. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -0
  25. package/dist/cjs/data-structures/binary-tree/segment-tree.d.ts +67 -0
  26. package/dist/cjs/data-structures/binary-tree/segment-tree.js +181 -0
  27. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +1 -0
  28. package/dist/cjs/data-structures/binary-tree/tree-multiset.d.ts +126 -0
  29. package/dist/cjs/data-structures/binary-tree/tree-multiset.js +356 -0
  30. package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +1 -0
  31. package/dist/cjs/data-structures/graph/abstract-graph.d.ts +313 -0
  32. package/dist/cjs/data-structures/graph/abstract-graph.js +885 -0
  33. package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -0
  34. package/dist/cjs/data-structures/graph/directed-graph.d.ts +194 -0
  35. package/dist/cjs/data-structures/graph/directed-graph.js +405 -0
  36. package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -0
  37. package/dist/cjs/data-structures/graph/index.js.map +1 -0
  38. package/dist/cjs/data-structures/graph/map-graph.d.ts +73 -0
  39. package/dist/cjs/data-structures/graph/map-graph.js +94 -0
  40. package/dist/cjs/data-structures/graph/map-graph.js.map +1 -0
  41. package/dist/cjs/data-structures/graph/undirected-graph.d.ts +120 -0
  42. package/dist/cjs/data-structures/graph/undirected-graph.js +240 -0
  43. package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -0
  44. package/dist/cjs/data-structures/hash/coordinate-map.d.ts +44 -0
  45. package/dist/cjs/data-structures/hash/coordinate-map.js +63 -0
  46. package/dist/cjs/data-structures/hash/coordinate-map.js.map +1 -0
  47. package/dist/cjs/data-structures/hash/coordinate-set.d.ts +36 -0
  48. package/dist/cjs/data-structures/hash/coordinate-set.js +53 -0
  49. package/dist/cjs/data-structures/hash/coordinate-set.js.map +1 -0
  50. package/dist/cjs/data-structures/hash/hash-map.d.ts +50 -0
  51. package/dist/cjs/data-structures/hash/hash-map.js +154 -0
  52. package/dist/cjs/data-structures/hash/hash-map.js.map +1 -0
  53. package/dist/cjs/data-structures/hash/hash-table.d.ts +103 -0
  54. package/dist/cjs/data-structures/hash/hash-table.js +237 -0
  55. package/dist/cjs/data-structures/hash/hash-table.js.map +1 -0
  56. package/dist/cjs/data-structures/hash/index.d.ts +6 -0
  57. package/dist/cjs/data-structures/hash/index.js +23 -0
  58. package/dist/cjs/data-structures/hash/index.js.map +1 -0
  59. package/dist/cjs/data-structures/hash/tree-map.js.map +1 -0
  60. package/dist/cjs/data-structures/hash/tree-set.js.map +1 -0
  61. package/dist/cjs/data-structures/heap/heap.d.ts +235 -0
  62. package/dist/cjs/data-structures/heap/heap.js +516 -0
  63. package/dist/cjs/data-structures/heap/heap.js.map +1 -0
  64. package/dist/cjs/data-structures/heap/index.js.map +1 -0
  65. package/dist/cjs/data-structures/heap/max-heap.d.ts +15 -0
  66. package/dist/cjs/data-structures/heap/max-heap.js +27 -0
  67. package/dist/cjs/data-structures/heap/max-heap.js.map +1 -0
  68. package/dist/cjs/data-structures/heap/min-heap.d.ts +15 -0
  69. package/dist/cjs/data-structures/heap/min-heap.js +27 -0
  70. package/dist/cjs/data-structures/heap/min-heap.js.map +1 -0
  71. package/dist/cjs/data-structures/index.js.map +1 -0
  72. package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +253 -0
  73. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +570 -0
  74. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  75. package/dist/cjs/data-structures/linked-list/index.js.map +1 -0
  76. package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +232 -0
  77. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +534 -0
  78. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -0
  79. package/dist/cjs/data-structures/linked-list/skip-linked-list.d.ts +80 -0
  80. package/dist/cjs/data-structures/linked-list/skip-linked-list.js +188 -0
  81. package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +1 -0
  82. package/dist/cjs/data-structures/matrix/index.js.map +1 -0
  83. package/dist/cjs/data-structures/matrix/matrix.d.ts +21 -0
  84. package/dist/cjs/data-structures/matrix/matrix.js.map +1 -0
  85. package/dist/cjs/data-structures/matrix/matrix2d.d.ts +107 -0
  86. package/dist/cjs/data-structures/matrix/matrix2d.js +200 -0
  87. package/dist/cjs/data-structures/matrix/matrix2d.js.map +1 -0
  88. package/dist/cjs/data-structures/matrix/navigator.d.ts +52 -0
  89. package/dist/cjs/data-structures/matrix/navigator.js.map +1 -0
  90. package/dist/cjs/data-structures/matrix/vector2d.d.ts +200 -0
  91. package/dist/cjs/data-structures/matrix/vector2d.js +291 -0
  92. package/dist/cjs/data-structures/matrix/vector2d.js.map +1 -0
  93. package/dist/cjs/data-structures/priority-queue/index.js.map +1 -0
  94. package/dist/cjs/data-structures/priority-queue/max-priority-queue.d.ts +15 -0
  95. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js +27 -0
  96. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  97. package/dist/cjs/data-structures/priority-queue/min-priority-queue.d.ts +15 -0
  98. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js +27 -0
  99. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  100. package/dist/cjs/data-structures/priority-queue/priority-queue.d.ts +15 -0
  101. package/dist/cjs/data-structures/priority-queue/priority-queue.js +18 -0
  102. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +1 -0
  103. package/dist/cjs/data-structures/queue/deque.d.ts +161 -0
  104. package/dist/cjs/data-structures/queue/deque.js +265 -0
  105. package/dist/cjs/data-structures/queue/deque.js.map +1 -0
  106. package/dist/cjs/data-structures/queue/index.js.map +1 -0
  107. package/dist/cjs/data-structures/queue/queue.d.ts +122 -0
  108. package/dist/cjs/data-structures/queue/queue.js +188 -0
  109. package/dist/cjs/data-structures/queue/queue.js.map +1 -0
  110. package/dist/cjs/data-structures/stack/index.js.map +1 -0
  111. package/dist/cjs/data-structures/stack/stack.d.ts +64 -0
  112. package/dist/cjs/data-structures/stack/stack.js +95 -0
  113. package/dist/cjs/data-structures/stack/stack.js.map +1 -0
  114. package/dist/cjs/data-structures/tree/index.js.map +1 -0
  115. package/dist/cjs/data-structures/tree/tree.d.ts +8 -0
  116. package/dist/cjs/data-structures/tree/tree.js +41 -0
  117. package/dist/cjs/data-structures/tree/tree.js.map +1 -0
  118. package/dist/cjs/data-structures/trie/index.js.map +1 -0
  119. package/dist/cjs/data-structures/trie/trie.d.ts +79 -0
  120. package/dist/cjs/data-structures/trie/trie.js +252 -0
  121. package/dist/cjs/data-structures/trie/trie.js.map +1 -0
  122. package/dist/cjs/index.js.map +1 -0
  123. package/dist/cjs/interfaces/binary-tree.d.ts +7 -0
  124. package/dist/cjs/interfaces/binary-tree.js.map +1 -0
  125. package/dist/cjs/interfaces/doubly-linked-list.js.map +1 -0
  126. package/dist/cjs/interfaces/graph.d.ts +5 -0
  127. package/dist/cjs/interfaces/graph.js +3 -0
  128. package/dist/cjs/interfaces/graph.js.map +1 -0
  129. package/dist/cjs/interfaces/heap.js.map +1 -0
  130. package/dist/cjs/interfaces/index.d.ts +8 -0
  131. package/dist/cjs/interfaces/index.js +25 -0
  132. package/dist/cjs/interfaces/index.js.map +1 -0
  133. package/dist/cjs/interfaces/navigator.js.map +1 -0
  134. package/dist/cjs/interfaces/priority-queue.js.map +1 -0
  135. package/dist/cjs/interfaces/segment-tree.js.map +1 -0
  136. package/dist/cjs/interfaces/singly-linked-list.js.map +1 -0
  137. package/dist/cjs/types/data-structures/binary-tree/avl-tree.d.ts +4 -0
  138. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js.map +1 -0
  139. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js +3 -0
  140. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  141. package/dist/cjs/types/data-structures/binary-tree/binary-tree.d.ts +29 -0
  142. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js +25 -0
  143. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +1 -0
  144. package/dist/cjs/types/data-structures/binary-tree/bst.d.ts +7 -0
  145. package/dist/cjs/types/data-structures/binary-tree/bst.js.map +1 -0
  146. package/dist/cjs/types/data-structures/binary-tree/index.d.ts +6 -0
  147. package/dist/cjs/types/data-structures/binary-tree/index.js +23 -0
  148. package/dist/cjs/types/data-structures/binary-tree/index.js.map +1 -0
  149. package/dist/cjs/types/data-structures/binary-tree/rb-tree.d.ts +8 -0
  150. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js.map +1 -0
  151. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +1 -0
  152. package/dist/cjs/types/data-structures/binary-tree/tree-multiset.d.ts +4 -0
  153. package/dist/cjs/types/data-structures/binary-tree/tree-multiset.js.map +1 -0
  154. package/dist/cjs/types/data-structures/graph/abstract-graph.d.ts +10 -0
  155. package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +1 -0
  156. package/dist/cjs/types/data-structures/graph/directed-graph.js.map +1 -0
  157. package/dist/cjs/types/data-structures/graph/index.d.ts +3 -0
  158. package/dist/cjs/types/data-structures/graph/index.js +20 -0
  159. package/dist/cjs/types/data-structures/graph/index.js.map +1 -0
  160. package/dist/cjs/types/data-structures/graph/map-graph.js.map +1 -0
  161. package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +1 -0
  162. package/dist/cjs/types/data-structures/hash/coordinate-map.js +3 -0
  163. package/dist/cjs/types/data-structures/hash/coordinate-map.js.map +1 -0
  164. package/dist/cjs/types/data-structures/hash/coordinate-set.js +3 -0
  165. package/dist/cjs/types/data-structures/hash/coordinate-set.js.map +1 -0
  166. package/dist/cjs/types/data-structures/hash/hash-map.js +3 -0
  167. package/dist/cjs/types/data-structures/hash/hash-map.js.map +1 -0
  168. package/dist/cjs/types/data-structures/hash/hash-table.js +3 -0
  169. package/dist/cjs/types/data-structures/hash/hash-table.js.map +1 -0
  170. package/dist/cjs/types/data-structures/hash/index.js +3 -0
  171. package/dist/cjs/types/data-structures/hash/index.js.map +1 -0
  172. package/dist/cjs/types/data-structures/hash/tree-map.js +3 -0
  173. package/dist/cjs/types/data-structures/hash/tree-map.js.map +1 -0
  174. package/dist/cjs/types/data-structures/hash/tree-set.js +3 -0
  175. package/dist/cjs/types/data-structures/hash/tree-set.js.map +1 -0
  176. package/dist/cjs/types/data-structures/heap/heap.js.map +1 -0
  177. package/dist/cjs/types/data-structures/heap/index.d.ts +1 -0
  178. package/dist/cjs/types/data-structures/heap/index.js +18 -0
  179. package/dist/cjs/types/data-structures/heap/index.js.map +1 -0
  180. package/dist/cjs/types/data-structures/heap/max-heap.js +3 -0
  181. package/dist/cjs/types/data-structures/heap/max-heap.js.map +1 -0
  182. package/dist/cjs/types/data-structures/heap/min-heap.js +3 -0
  183. package/dist/cjs/types/data-structures/heap/min-heap.js.map +1 -0
  184. package/dist/cjs/types/data-structures/index.d.ts +11 -0
  185. package/dist/cjs/types/data-structures/index.js +28 -0
  186. package/dist/cjs/types/data-structures/index.js.map +1 -0
  187. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  188. package/dist/cjs/types/data-structures/linked-list/index.d.ts +2 -0
  189. package/dist/cjs/types/data-structures/linked-list/index.js +19 -0
  190. package/dist/cjs/types/data-structures/linked-list/index.js.map +1 -0
  191. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js.map +1 -0
  192. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js +3 -0
  193. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js.map +1 -0
  194. package/dist/cjs/types/data-structures/matrix/index.d.ts +1 -0
  195. package/dist/cjs/types/data-structures/matrix/index.js +18 -0
  196. package/dist/cjs/types/data-structures/matrix/index.js.map +1 -0
  197. package/dist/cjs/types/data-structures/matrix/matrix.js +3 -0
  198. package/dist/cjs/types/data-structures/matrix/matrix.js.map +1 -0
  199. package/dist/cjs/types/data-structures/matrix/matrix2d.js +3 -0
  200. package/dist/cjs/types/data-structures/matrix/matrix2d.js.map +1 -0
  201. package/dist/cjs/types/data-structures/matrix/navigator.js.map +1 -0
  202. package/dist/cjs/types/data-structures/matrix/vector2d.js +3 -0
  203. package/dist/cjs/types/data-structures/matrix/vector2d.js.map +1 -0
  204. package/dist/cjs/types/data-structures/priority-queue/index.js +20 -0
  205. package/dist/cjs/types/data-structures/priority-queue/index.js.map +1 -0
  206. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js +3 -0
  207. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  208. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js +3 -0
  209. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  210. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js.map +1 -0
  211. package/dist/cjs/types/data-structures/queue/deque.js +3 -0
  212. package/dist/cjs/types/data-structures/queue/deque.js.map +1 -0
  213. package/dist/cjs/types/data-structures/queue/index.js +19 -0
  214. package/dist/cjs/types/data-structures/queue/index.js.map +1 -0
  215. package/dist/cjs/types/data-structures/queue/queue.js +3 -0
  216. package/dist/cjs/types/data-structures/queue/queue.js.map +1 -0
  217. package/dist/cjs/types/data-structures/stack/index.js +18 -0
  218. package/dist/cjs/types/data-structures/stack/index.js.map +1 -0
  219. package/dist/cjs/types/data-structures/stack/stack.js +3 -0
  220. package/dist/cjs/types/data-structures/stack/stack.js.map +1 -0
  221. package/dist/cjs/types/data-structures/tree/index.js +18 -0
  222. package/dist/cjs/types/data-structures/tree/index.js.map +1 -0
  223. package/dist/cjs/types/data-structures/tree/tree.js +3 -0
  224. package/dist/cjs/types/data-structures/tree/tree.js.map +1 -0
  225. package/dist/cjs/types/data-structures/trie/index.js +18 -0
  226. package/dist/cjs/types/data-structures/trie/index.js.map +1 -0
  227. package/dist/cjs/types/data-structures/trie/trie.js +3 -0
  228. package/dist/cjs/types/data-structures/trie/trie.js.map +1 -0
  229. package/dist/cjs/types/helpers.d.ts +8 -0
  230. package/dist/cjs/types/helpers.js +10 -0
  231. package/dist/cjs/types/helpers.js.map +1 -0
  232. package/dist/cjs/types/index.js.map +1 -0
  233. package/dist/cjs/types/utils/index.js.map +1 -0
  234. package/dist/cjs/types/utils/utils.js.map +1 -0
  235. package/dist/cjs/types/utils/validate-type.js.map +1 -0
  236. package/dist/cjs/utils/index.js.map +1 -0
  237. package/dist/cjs/utils/utils.d.ts +20 -0
  238. package/dist/cjs/utils/utils.js +74 -0
  239. package/dist/cjs/utils/utils.js.map +1 -0
  240. package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +106 -0
  241. package/dist/mjs/data-structures/binary-tree/avl-tree.js +348 -0
  242. package/dist/mjs/data-structures/binary-tree/binary-indexed-tree.d.ts +149 -0
  243. package/dist/mjs/data-structures/binary-tree/binary-indexed-tree.js +274 -0
  244. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +355 -0
  245. package/dist/mjs/data-structures/binary-tree/binary-tree.js +1127 -0
  246. package/dist/mjs/data-structures/binary-tree/bst.d.ts +167 -0
  247. package/dist/mjs/data-structures/binary-tree/bst.js +509 -0
  248. package/dist/mjs/data-structures/binary-tree/index.d.ts +7 -0
  249. package/dist/mjs/data-structures/binary-tree/index.js +23 -0
  250. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +11 -0
  251. package/dist/mjs/data-structures/binary-tree/rb-tree.js +22 -0
  252. package/dist/mjs/data-structures/binary-tree/segment-tree.d.ts +67 -0
  253. package/dist/mjs/data-structures/binary-tree/segment-tree.js +182 -0
  254. package/dist/mjs/data-structures/binary-tree/tree-multiset.d.ts +126 -0
  255. package/dist/mjs/data-structures/binary-tree/tree-multiset.js +356 -0
  256. package/dist/mjs/data-structures/graph/abstract-graph.d.ts +313 -0
  257. package/dist/mjs/data-structures/graph/abstract-graph.js +883 -0
  258. package/dist/mjs/data-structures/graph/directed-graph.d.ts +194 -0
  259. package/dist/mjs/data-structures/graph/directed-graph.js +406 -0
  260. package/dist/mjs/data-structures/graph/index.js +20 -0
  261. package/dist/mjs/data-structures/graph/map-graph.d.ts +73 -0
  262. package/dist/mjs/data-structures/graph/map-graph.js +96 -0
  263. package/dist/mjs/data-structures/graph/undirected-graph.d.ts +120 -0
  264. package/dist/mjs/data-structures/graph/undirected-graph.js +239 -0
  265. package/dist/mjs/data-structures/hash/coordinate-map.d.ts +44 -0
  266. package/dist/mjs/data-structures/hash/coordinate-map.js +62 -0
  267. package/dist/mjs/data-structures/hash/coordinate-set.d.ts +36 -0
  268. package/dist/mjs/data-structures/hash/coordinate-set.js +52 -0
  269. package/dist/mjs/data-structures/hash/hash-map.d.ts +50 -0
  270. package/dist/mjs/data-structures/hash/hash-map.js +159 -0
  271. package/dist/mjs/data-structures/hash/hash-table.d.ts +103 -0
  272. package/dist/mjs/data-structures/hash/hash-table.js +243 -0
  273. package/dist/mjs/data-structures/hash/index.d.ts +6 -0
  274. package/dist/mjs/data-structures/hash/index.js +22 -0
  275. package/dist/mjs/data-structures/hash/tree-map.js +6 -0
  276. package/dist/mjs/data-structures/hash/tree-set.js +6 -0
  277. package/dist/mjs/data-structures/heap/heap.d.ts +235 -0
  278. package/dist/mjs/data-structures/heap/heap.js +525 -0
  279. package/dist/mjs/data-structures/heap/index.js +19 -0
  280. package/dist/mjs/data-structures/heap/max-heap.d.ts +15 -0
  281. package/dist/mjs/data-structures/heap/max-heap.js +26 -0
  282. package/dist/mjs/data-structures/heap/min-heap.d.ts +15 -0
  283. package/dist/mjs/data-structures/heap/min-heap.js +26 -0
  284. package/dist/mjs/data-structures/index.js +27 -0
  285. package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +253 -0
  286. package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +573 -0
  287. package/dist/mjs/data-structures/linked-list/index.js +19 -0
  288. package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +232 -0
  289. package/dist/mjs/data-structures/linked-list/singly-linked-list.js +538 -0
  290. package/dist/mjs/data-structures/linked-list/skip-linked-list.d.ts +80 -0
  291. package/dist/mjs/data-structures/linked-list/skip-linked-list.js +194 -0
  292. package/dist/mjs/data-structures/matrix/index.js +20 -0
  293. package/dist/mjs/data-structures/matrix/matrix.d.ts +21 -0
  294. package/dist/mjs/data-structures/matrix/matrix.js +29 -0
  295. package/dist/mjs/data-structures/matrix/matrix2d.d.ts +107 -0
  296. package/dist/mjs/data-structures/matrix/matrix2d.js +200 -0
  297. package/dist/mjs/data-structures/matrix/navigator.d.ts +52 -0
  298. package/dist/mjs/data-structures/matrix/navigator.js +113 -0
  299. package/dist/mjs/data-structures/matrix/vector2d.d.ts +200 -0
  300. package/dist/mjs/data-structures/matrix/vector2d.js +293 -0
  301. package/dist/mjs/data-structures/priority-queue/index.js +19 -0
  302. package/dist/mjs/data-structures/priority-queue/max-priority-queue.d.ts +15 -0
  303. package/dist/mjs/data-structures/priority-queue/max-priority-queue.js +26 -0
  304. package/dist/mjs/data-structures/priority-queue/min-priority-queue.d.ts +15 -0
  305. package/dist/mjs/data-structures/priority-queue/min-priority-queue.js +26 -0
  306. package/dist/mjs/data-structures/priority-queue/priority-queue.d.ts +15 -0
  307. package/dist/mjs/data-structures/priority-queue/priority-queue.js +17 -0
  308. package/dist/mjs/data-structures/queue/deque.d.ts +161 -0
  309. package/dist/mjs/data-structures/queue/deque.js +257 -0
  310. package/dist/mjs/data-structures/queue/index.js +18 -0
  311. package/dist/mjs/data-structures/queue/queue.d.ts +122 -0
  312. package/dist/mjs/data-structures/queue/queue.js +188 -0
  313. package/dist/mjs/data-structures/stack/index.js +17 -0
  314. package/dist/mjs/data-structures/stack/stack.d.ts +64 -0
  315. package/dist/mjs/data-structures/stack/stack.js +95 -0
  316. package/dist/mjs/data-structures/tree/index.js +17 -0
  317. package/dist/mjs/data-structures/tree/tree.d.ts +8 -0
  318. package/dist/mjs/data-structures/tree/tree.js +43 -0
  319. package/dist/mjs/data-structures/trie/index.js +17 -0
  320. package/dist/mjs/data-structures/trie/trie.d.ts +79 -0
  321. package/dist/mjs/data-structures/trie/trie.js +256 -0
  322. package/dist/mjs/index.js +20 -0
  323. package/dist/mjs/interfaces/binary-tree.d.ts +7 -0
  324. package/dist/mjs/interfaces/binary-tree.js +2 -0
  325. package/dist/mjs/interfaces/doubly-linked-list.js +2 -0
  326. package/dist/mjs/interfaces/graph.d.ts +5 -0
  327. package/dist/mjs/interfaces/graph.js +2 -0
  328. package/dist/mjs/interfaces/heap.js +2 -0
  329. package/dist/mjs/interfaces/index.d.ts +8 -0
  330. package/dist/mjs/interfaces/index.js +24 -0
  331. package/dist/mjs/interfaces/navigator.js +2 -0
  332. package/dist/mjs/interfaces/priority-queue.js +2 -0
  333. package/dist/mjs/interfaces/segment-tree.js +2 -0
  334. package/dist/mjs/interfaces/singly-linked-list.js +2 -0
  335. package/dist/mjs/types/data-structures/binary-tree/avl-tree.d.ts +4 -0
  336. package/dist/mjs/types/data-structures/binary-tree/avl-tree.js +2 -0
  337. package/dist/mjs/types/data-structures/binary-tree/binary-indexed-tree.js +2 -0
  338. package/dist/mjs/types/data-structures/binary-tree/binary-tree.d.ts +29 -0
  339. package/dist/mjs/types/data-structures/binary-tree/binary-tree.js +24 -0
  340. package/dist/mjs/types/data-structures/binary-tree/bst.d.ts +7 -0
  341. package/dist/mjs/types/data-structures/binary-tree/bst.js +2 -0
  342. package/dist/mjs/types/data-structures/binary-tree/index.d.ts +6 -0
  343. package/dist/mjs/types/data-structures/binary-tree/index.js +22 -0
  344. package/dist/mjs/types/data-structures/binary-tree/rb-tree.d.ts +8 -0
  345. package/dist/mjs/types/data-structures/binary-tree/rb-tree.js +8 -0
  346. package/dist/mjs/types/data-structures/binary-tree/segment-tree.js +2 -0
  347. package/dist/mjs/types/data-structures/binary-tree/tree-multiset.d.ts +4 -0
  348. package/dist/mjs/types/data-structures/binary-tree/tree-multiset.js +2 -0
  349. package/dist/mjs/types/data-structures/graph/abstract-graph.d.ts +10 -0
  350. package/dist/mjs/types/data-structures/graph/abstract-graph.js +2 -0
  351. package/dist/mjs/types/data-structures/graph/directed-graph.js +9 -0
  352. package/dist/mjs/types/data-structures/graph/index.d.ts +3 -0
  353. package/dist/mjs/types/data-structures/graph/index.js +19 -0
  354. package/dist/mjs/types/data-structures/graph/map-graph.js +2 -0
  355. package/dist/mjs/types/data-structures/graph/undirected-graph.js +2 -0
  356. package/dist/mjs/types/data-structures/hash/coordinate-map.js +2 -0
  357. package/dist/mjs/types/data-structures/hash/coordinate-set.js +2 -0
  358. package/dist/mjs/types/data-structures/hash/hash-map.js +2 -0
  359. package/dist/mjs/types/data-structures/hash/hash-table.js +2 -0
  360. package/dist/mjs/types/data-structures/hash/index.js +2 -0
  361. package/dist/mjs/types/data-structures/hash/tree-map.js +2 -0
  362. package/dist/mjs/types/data-structures/hash/tree-set.js +2 -0
  363. package/dist/mjs/types/data-structures/heap/heap.js +2 -0
  364. package/dist/mjs/types/data-structures/heap/index.d.ts +1 -0
  365. package/dist/mjs/types/data-structures/heap/index.js +17 -0
  366. package/dist/mjs/types/data-structures/heap/max-heap.js +2 -0
  367. package/dist/mjs/types/data-structures/heap/min-heap.js +2 -0
  368. package/dist/mjs/types/data-structures/index.d.ts +11 -0
  369. package/dist/mjs/types/data-structures/index.js +27 -0
  370. package/dist/mjs/types/data-structures/linked-list/doubly-linked-list.js +2 -0
  371. package/dist/mjs/types/data-structures/linked-list/index.d.ts +2 -0
  372. package/dist/mjs/types/data-structures/linked-list/index.js +18 -0
  373. package/dist/mjs/types/data-structures/linked-list/singly-linked-list.js +2 -0
  374. package/dist/mjs/types/data-structures/linked-list/skip-linked-list.d.ts +1 -0
  375. package/dist/mjs/types/data-structures/linked-list/skip-linked-list.js +2 -0
  376. package/dist/mjs/types/data-structures/matrix/index.d.ts +1 -0
  377. package/dist/mjs/types/data-structures/matrix/index.js +17 -0
  378. package/dist/mjs/types/data-structures/matrix/matrix.d.ts +1 -0
  379. package/dist/mjs/types/data-structures/matrix/matrix.js +2 -0
  380. package/dist/mjs/types/data-structures/matrix/matrix2d.d.ts +1 -0
  381. package/dist/mjs/types/data-structures/matrix/matrix2d.js +2 -0
  382. package/dist/mjs/types/data-structures/matrix/navigator.js +2 -0
  383. package/dist/mjs/types/data-structures/matrix/vector2d.d.ts +1 -0
  384. package/dist/mjs/types/data-structures/matrix/vector2d.js +2 -0
  385. package/dist/mjs/types/data-structures/priority-queue/index.d.ts +3 -0
  386. package/dist/mjs/types/data-structures/priority-queue/index.js +19 -0
  387. package/dist/mjs/types/data-structures/priority-queue/max-priority-queue.d.ts +1 -0
  388. package/dist/mjs/types/data-structures/priority-queue/max-priority-queue.js +2 -0
  389. package/dist/mjs/types/data-structures/priority-queue/min-priority-queue.d.ts +1 -0
  390. package/dist/mjs/types/data-structures/priority-queue/min-priority-queue.js +2 -0
  391. package/dist/mjs/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
  392. package/dist/mjs/types/data-structures/priority-queue/priority-queue.js +2 -0
  393. package/dist/mjs/types/data-structures/queue/deque.d.ts +1 -0
  394. package/dist/mjs/types/data-structures/queue/deque.js +2 -0
  395. package/dist/mjs/types/data-structures/queue/index.d.ts +2 -0
  396. package/dist/mjs/types/data-structures/queue/index.js +18 -0
  397. package/dist/mjs/types/data-structures/queue/queue.d.ts +1 -0
  398. package/dist/mjs/types/data-structures/queue/queue.js +2 -0
  399. package/dist/mjs/types/data-structures/stack/index.d.ts +1 -0
  400. package/dist/mjs/types/data-structures/stack/index.js +17 -0
  401. package/dist/mjs/types/data-structures/stack/stack.d.ts +1 -0
  402. package/dist/mjs/types/data-structures/stack/stack.js +2 -0
  403. package/dist/mjs/types/data-structures/tree/index.d.ts +1 -0
  404. package/dist/mjs/types/data-structures/tree/index.js +17 -0
  405. package/dist/mjs/types/data-structures/tree/tree.d.ts +1 -0
  406. package/dist/mjs/types/data-structures/tree/tree.js +2 -0
  407. package/dist/mjs/types/data-structures/trie/index.d.ts +1 -0
  408. package/dist/mjs/types/data-structures/trie/index.js +17 -0
  409. package/dist/mjs/types/data-structures/trie/trie.d.ts +1 -0
  410. package/dist/mjs/types/data-structures/trie/trie.js +2 -0
  411. package/dist/mjs/types/helpers.d.ts +8 -0
  412. package/dist/mjs/types/helpers.js +9 -0
  413. package/dist/mjs/types/index.js +19 -0
  414. package/dist/mjs/types/utils/index.js +18 -0
  415. package/dist/mjs/types/utils/utils.js +2 -0
  416. package/dist/mjs/types/utils/validate-type.js +2 -0
  417. package/dist/mjs/utils/index.js +17 -0
  418. package/dist/mjs/utils/utils.d.ts +20 -0
  419. package/dist/mjs/utils/utils.js +64 -0
  420. package/dist/umd/data-structure-typed.min.js +27 -0
  421. package/dist/umd/data-structure-typed.min.js.map +1 -0
  422. package/package.json +28 -22
  423. package/src/data-structures/binary-tree/avl-tree.ts +88 -74
  424. package/src/data-structures/binary-tree/binary-indexed-tree.ts +265 -35
  425. package/src/data-structures/binary-tree/binary-tree.ts +1241 -26
  426. package/src/data-structures/binary-tree/bst.ts +217 -237
  427. package/src/data-structures/binary-tree/index.ts +0 -5
  428. package/src/data-structures/binary-tree/rb-tree.ts +28 -36
  429. package/src/data-structures/binary-tree/segment-tree.ts +25 -92
  430. package/src/data-structures/binary-tree/tree-multiset.ts +113 -422
  431. package/src/data-structures/graph/abstract-graph.ts +169 -214
  432. package/src/data-structures/graph/directed-graph.ts +105 -126
  433. package/src/data-structures/graph/map-graph.ts +29 -57
  434. package/src/data-structures/graph/undirected-graph.ts +67 -82
  435. package/src/data-structures/hash/coordinate-map.ts +0 -4
  436. package/src/data-structures/hash/coordinate-set.ts +0 -4
  437. package/src/data-structures/hash/hash-map.ts +65 -83
  438. package/src/data-structures/hash/hash-table.ts +109 -118
  439. package/src/data-structures/hash/index.ts +0 -1
  440. package/src/data-structures/hash/tree-map.ts +2 -1
  441. package/src/data-structures/hash/tree-set.ts +2 -1
  442. package/src/data-structures/heap/heap.ts +505 -128
  443. package/src/data-structures/heap/max-heap.ts +16 -21
  444. package/src/data-structures/heap/min-heap.ts +16 -22
  445. package/src/data-structures/linked-list/doubly-linked-list.ts +143 -174
  446. package/src/data-structures/linked-list/singly-linked-list.ts +174 -99
  447. package/src/data-structures/linked-list/skip-linked-list.ts +104 -49
  448. package/src/data-structures/matrix/matrix.ts +2 -2
  449. package/src/data-structures/matrix/matrix2d.ts +12 -14
  450. package/src/data-structures/matrix/navigator.ts +4 -4
  451. package/src/data-structures/matrix/vector2d.ts +2 -3
  452. package/src/data-structures/priority-queue/max-priority-queue.ts +15 -46
  453. package/src/data-structures/priority-queue/min-priority-queue.ts +15 -47
  454. package/src/data-structures/priority-queue/priority-queue.ts +7 -350
  455. package/src/data-structures/queue/deque.ts +62 -77
  456. package/src/data-structures/queue/queue.ts +39 -21
  457. package/src/data-structures/stack/stack.ts +13 -9
  458. package/src/data-structures/tree/tree.ts +10 -38
  459. package/src/data-structures/trie/trie.ts +108 -71
  460. package/src/interfaces/binary-tree.ts +7 -4
  461. package/src/interfaces/graph.ts +7 -0
  462. package/src/interfaces/index.ts +1 -8
  463. package/src/types/data-structures/binary-tree/avl-tree.ts +5 -0
  464. package/src/types/data-structures/binary-tree/binary-indexed-tree.ts +1 -0
  465. package/src/types/data-structures/binary-tree/binary-tree.ts +31 -0
  466. package/src/types/data-structures/binary-tree/bst.ts +11 -0
  467. package/src/types/data-structures/binary-tree/index.ts +6 -0
  468. package/src/types/data-structures/binary-tree/rb-tree.ts +8 -0
  469. package/src/types/data-structures/binary-tree/tree-multiset.ts +6 -0
  470. package/src/types/data-structures/graph/abstract-graph.ts +11 -0
  471. package/src/types/data-structures/graph/index.ts +3 -0
  472. package/src/types/data-structures/graph/undirected-graph.ts +1 -0
  473. package/src/types/data-structures/hash/coordinate-map.ts +1 -0
  474. package/src/types/data-structures/hash/coordinate-set.ts +1 -0
  475. package/src/types/data-structures/hash/hash-map.ts +1 -0
  476. package/src/types/data-structures/hash/hash-table.ts +1 -0
  477. package/src/types/data-structures/hash/tree-map.ts +1 -0
  478. package/src/types/data-structures/hash/tree-set.ts +1 -0
  479. package/src/types/data-structures/heap/heap.ts +1 -0
  480. package/src/types/data-structures/heap/index.ts +1 -0
  481. package/src/types/data-structures/heap/max-heap.ts +1 -0
  482. package/src/types/data-structures/heap/min-heap.ts +1 -0
  483. package/src/types/data-structures/index.ts +8 -13
  484. package/src/types/data-structures/linked-list/doubly-linked-list.ts +1 -0
  485. package/src/types/data-structures/linked-list/index.ts +2 -0
  486. package/src/types/data-structures/linked-list/singly-linked-list.ts +1 -0
  487. package/src/types/data-structures/linked-list/skip-linked-list.ts +1 -0
  488. package/src/types/data-structures/matrix/index.ts +1 -0
  489. package/src/types/data-structures/matrix/matrix.ts +1 -0
  490. package/src/types/data-structures/matrix/matrix2d.ts +1 -0
  491. package/src/types/data-structures/matrix/navigator.ts +14 -0
  492. package/src/types/data-structures/matrix/vector2d.ts +1 -0
  493. package/src/types/data-structures/priority-queue/index.ts +3 -0
  494. package/src/types/data-structures/priority-queue/max-priority-queue.ts +1 -0
  495. package/src/types/data-structures/priority-queue/min-priority-queue.ts +1 -0
  496. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  497. package/src/types/data-structures/queue/deque.ts +1 -0
  498. package/src/types/data-structures/queue/index.ts +2 -0
  499. package/src/types/data-structures/queue/queue.ts +1 -0
  500. package/src/types/data-structures/stack/index.ts +1 -0
  501. package/src/types/data-structures/stack/stack.ts +1 -0
  502. package/src/types/data-structures/tree/index.ts +1 -0
  503. package/src/types/data-structures/tree/tree.ts +1 -0
  504. package/src/types/data-structures/trie/index.ts +1 -0
  505. package/src/types/data-structures/trie/trie.ts +1 -0
  506. package/src/types/helpers.ts +11 -1
  507. package/src/types/utils/utils.ts +1 -1
  508. package/src/types/utils/validate-type.ts +2 -2
  509. package/src/utils/utils.ts +7 -0
  510. package/test/config.js +4 -0
  511. package/test/config.ts +1 -0
  512. package/test/integration/avl-tree.test.ts +24 -22
  513. package/test/integration/bst.test.ts +52 -47
  514. package/test/integration/index.html +3 -4
  515. package/test/types/index.js +29 -0
  516. package/test/types/utils/big-o.js +2 -0
  517. package/test/types/utils/big-o.ts +1 -0
  518. package/test/types/utils/index.js +29 -0
  519. package/test/types/utils/index.ts +1 -0
  520. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +184 -23
  521. package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +320 -0
  522. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +393 -40
  523. package/test/unit/data-structures/binary-tree/bst.test.ts +506 -48
  524. package/test/unit/data-structures/binary-tree/overall.test.ts +8 -7
  525. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +79 -13
  526. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +296 -215
  527. package/test/unit/data-structures/graph/abstract-graph.test.ts +97 -2
  528. package/test/unit/data-structures/graph/directed-graph.test.ts +76 -31
  529. package/test/unit/data-structures/graph/map-graph.test.ts +93 -12
  530. package/test/unit/data-structures/graph/overall.test.ts +2 -2
  531. package/test/unit/data-structures/graph/undirected-graph.test.ts +93 -3
  532. package/test/unit/data-structures/hash/coordinate-map.test.ts +20 -0
  533. package/test/unit/data-structures/hash/coordinate-set.test.ts +25 -0
  534. package/test/unit/data-structures/hash/hash-map.test.ts +2 -3
  535. package/test/unit/data-structures/hash/hash-table.test.ts +10 -8
  536. package/test/unit/data-structures/heap/heap.test.ts +218 -20
  537. package/test/unit/data-structures/heap/max-heap.test.ts +50 -42
  538. package/test/unit/data-structures/heap/min-heap.test.ts +38 -68
  539. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +86 -27
  540. package/test/unit/data-structures/linked-list/linked-list.test.ts +4 -4
  541. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +71 -27
  542. package/test/unit/data-structures/linked-list/skip-list.test.ts +33 -2
  543. package/test/unit/data-structures/matrix/matrix2d.test.ts +207 -0
  544. package/test/unit/data-structures/matrix/navigator.test.ts +167 -2
  545. package/test/unit/data-structures/matrix/vector2d.test.ts +171 -0
  546. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +10 -11
  547. package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +1 -1
  548. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +14 -30
  549. package/test/unit/data-structures/queue/deque.test.ts +303 -23
  550. package/test/unit/data-structures/queue/queue.test.ts +52 -8
  551. package/test/unit/data-structures/tree/tree.test.ts +2 -2
  552. package/test/unit/data-structures/trie/trie.test.ts +743 -13
  553. package/test/utils/big-o.js +212 -0
  554. package/test/utils/big-o.ts +201 -0
  555. package/test/utils/index.js +30 -0
  556. package/test/utils/index.ts +1 -1
  557. package/test/utils/number.js +14 -0
  558. package/tsconfig-base.json +27 -0
  559. package/tsconfig-cjs.json +9 -0
  560. package/tsup.config.js +18 -0
  561. package/umd/bundle.min.js +1 -1
  562. package/umd/bundle.min.js.LICENSE.txt +15 -0
  563. package/umd/bundle.min.js.map +1 -1
  564. package/dist/data-structures/binary-tree/aa-tree.d.ts +0 -2
  565. package/dist/data-structures/binary-tree/aa-tree.js +0 -7
  566. package/dist/data-structures/binary-tree/aa-tree.js.map +0 -1
  567. package/dist/data-structures/binary-tree/abstract-binary-tree.d.ts +0 -527
  568. package/dist/data-structures/binary-tree/abstract-binary-tree.js +0 -1199
  569. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +0 -1
  570. package/dist/data-structures/binary-tree/avl-tree.d.ts +0 -94
  571. package/dist/data-structures/binary-tree/avl-tree.js +0 -336
  572. package/dist/data-structures/binary-tree/avl-tree.js.map +0 -1
  573. package/dist/data-structures/binary-tree/b-tree.d.ts +0 -2
  574. package/dist/data-structures/binary-tree/b-tree.js +0 -7
  575. package/dist/data-structures/binary-tree/b-tree.js.map +0 -1
  576. package/dist/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -46
  577. package/dist/data-structures/binary-tree/binary-indexed-tree.js +0 -74
  578. package/dist/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  579. package/dist/data-structures/binary-tree/binary-tree.d.ts +0 -31
  580. package/dist/data-structures/binary-tree/binary-tree.js +0 -41
  581. package/dist/data-structures/binary-tree/binary-tree.js.map +0 -1
  582. package/dist/data-structures/binary-tree/bst.d.ts +0 -133
  583. package/dist/data-structures/binary-tree/bst.js +0 -554
  584. package/dist/data-structures/binary-tree/bst.js.map +0 -1
  585. package/dist/data-structures/binary-tree/index.d.ts +0 -12
  586. package/dist/data-structures/binary-tree/index.js +0 -29
  587. package/dist/data-structures/binary-tree/index.js.map +0 -1
  588. package/dist/data-structures/binary-tree/rb-tree.d.ts +0 -13
  589. package/dist/data-structures/binary-tree/rb-tree.js +0 -28
  590. package/dist/data-structures/binary-tree/rb-tree.js.map +0 -1
  591. package/dist/data-structures/binary-tree/segment-tree.d.ts +0 -83
  592. package/dist/data-structures/binary-tree/segment-tree.js +0 -229
  593. package/dist/data-structures/binary-tree/segment-tree.js.map +0 -1
  594. package/dist/data-structures/binary-tree/splay-tree.d.ts +0 -2
  595. package/dist/data-structures/binary-tree/splay-tree.js +0 -7
  596. package/dist/data-structures/binary-tree/splay-tree.js.map +0 -1
  597. package/dist/data-structures/binary-tree/tree-multiset.d.ts +0 -209
  598. package/dist/data-structures/binary-tree/tree-multiset.js +0 -669
  599. package/dist/data-structures/binary-tree/tree-multiset.js.map +0 -1
  600. package/dist/data-structures/binary-tree/two-three-tree.d.ts +0 -2
  601. package/dist/data-structures/binary-tree/two-three-tree.js +0 -7
  602. package/dist/data-structures/binary-tree/two-three-tree.js.map +0 -1
  603. package/dist/data-structures/graph/abstract-graph.d.ts +0 -332
  604. package/dist/data-structures/graph/abstract-graph.js +0 -925
  605. package/dist/data-structures/graph/abstract-graph.js.map +0 -1
  606. package/dist/data-structures/graph/directed-graph.d.ts +0 -200
  607. package/dist/data-structures/graph/directed-graph.js +0 -423
  608. package/dist/data-structures/graph/directed-graph.js.map +0 -1
  609. package/dist/data-structures/graph/index.js.map +0 -1
  610. package/dist/data-structures/graph/map-graph.d.ts +0 -79
  611. package/dist/data-structures/graph/map-graph.js +0 -112
  612. package/dist/data-structures/graph/map-graph.js.map +0 -1
  613. package/dist/data-structures/graph/undirected-graph.d.ts +0 -127
  614. package/dist/data-structures/graph/undirected-graph.js +0 -253
  615. package/dist/data-structures/graph/undirected-graph.js.map +0 -1
  616. package/dist/data-structures/hash/coordinate-map.d.ts +0 -45
  617. package/dist/data-structures/hash/coordinate-map.js +0 -66
  618. package/dist/data-structures/hash/coordinate-map.js.map +0 -1
  619. package/dist/data-structures/hash/coordinate-set.d.ts +0 -37
  620. package/dist/data-structures/hash/coordinate-set.js +0 -56
  621. package/dist/data-structures/hash/coordinate-set.js.map +0 -1
  622. package/dist/data-structures/hash/hash-map.d.ts +0 -56
  623. package/dist/data-structures/hash/hash-map.js +0 -172
  624. package/dist/data-structures/hash/hash-map.js.map +0 -1
  625. package/dist/data-structures/hash/hash-table.d.ts +0 -106
  626. package/dist/data-structures/hash/hash-table.js +0 -246
  627. package/dist/data-structures/hash/hash-table.js.map +0 -1
  628. package/dist/data-structures/hash/index.d.ts +0 -7
  629. package/dist/data-structures/hash/index.js +0 -24
  630. package/dist/data-structures/hash/index.js.map +0 -1
  631. package/dist/data-structures/hash/pair.d.ts +0 -2
  632. package/dist/data-structures/hash/pair.js +0 -7
  633. package/dist/data-structures/hash/pair.js.map +0 -1
  634. package/dist/data-structures/hash/tree-map.js.map +0 -1
  635. package/dist/data-structures/hash/tree-set.js.map +0 -1
  636. package/dist/data-structures/heap/heap.d.ts +0 -83
  637. package/dist/data-structures/heap/heap.js +0 -158
  638. package/dist/data-structures/heap/heap.js.map +0 -1
  639. package/dist/data-structures/heap/index.js.map +0 -1
  640. package/dist/data-structures/heap/max-heap.d.ts +0 -23
  641. package/dist/data-structures/heap/max-heap.js +0 -31
  642. package/dist/data-structures/heap/max-heap.js.map +0 -1
  643. package/dist/data-structures/heap/min-heap.d.ts +0 -24
  644. package/dist/data-structures/heap/min-heap.js +0 -32
  645. package/dist/data-structures/heap/min-heap.js.map +0 -1
  646. package/dist/data-structures/index.js.map +0 -1
  647. package/dist/data-structures/linked-list/doubly-linked-list.d.ts +0 -234
  648. package/dist/data-structures/linked-list/doubly-linked-list.js +0 -584
  649. package/dist/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  650. package/dist/data-structures/linked-list/index.js.map +0 -1
  651. package/dist/data-structures/linked-list/singly-linked-list.d.ts +0 -157
  652. package/dist/data-structures/linked-list/singly-linked-list.js +0 -449
  653. package/dist/data-structures/linked-list/singly-linked-list.js.map +0 -1
  654. package/dist/data-structures/linked-list/skip-linked-list.d.ts +0 -61
  655. package/dist/data-structures/linked-list/skip-linked-list.js +0 -143
  656. package/dist/data-structures/linked-list/skip-linked-list.js.map +0 -1
  657. package/dist/data-structures/matrix/index.js.map +0 -1
  658. package/dist/data-structures/matrix/matrix.d.ts +0 -21
  659. package/dist/data-structures/matrix/matrix.js.map +0 -1
  660. package/dist/data-structures/matrix/matrix2d.d.ts +0 -108
  661. package/dist/data-structures/matrix/matrix2d.js +0 -201
  662. package/dist/data-structures/matrix/matrix2d.js.map +0 -1
  663. package/dist/data-structures/matrix/navigator.d.ts +0 -52
  664. package/dist/data-structures/matrix/navigator.js.map +0 -1
  665. package/dist/data-structures/matrix/vector2d.d.ts +0 -201
  666. package/dist/data-structures/matrix/vector2d.js +0 -292
  667. package/dist/data-structures/matrix/vector2d.js.map +0 -1
  668. package/dist/data-structures/priority-queue/index.js.map +0 -1
  669. package/dist/data-structures/priority-queue/max-priority-queue.d.ts +0 -15
  670. package/dist/data-structures/priority-queue/max-priority-queue.js +0 -44
  671. package/dist/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  672. package/dist/data-structures/priority-queue/min-priority-queue.d.ts +0 -15
  673. package/dist/data-structures/priority-queue/min-priority-queue.js +0 -45
  674. package/dist/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  675. package/dist/data-structures/priority-queue/priority-queue.d.ts +0 -180
  676. package/dist/data-structures/priority-queue/priority-queue.js +0 -322
  677. package/dist/data-structures/priority-queue/priority-queue.js.map +0 -1
  678. package/dist/data-structures/queue/deque.d.ts +0 -165
  679. package/dist/data-structures/queue/deque.js +0 -277
  680. package/dist/data-structures/queue/deque.js.map +0 -1
  681. package/dist/data-structures/queue/index.js.map +0 -1
  682. package/dist/data-structures/queue/queue.d.ts +0 -107
  683. package/dist/data-structures/queue/queue.js +0 -171
  684. package/dist/data-structures/queue/queue.js.map +0 -1
  685. package/dist/data-structures/stack/index.js.map +0 -1
  686. package/dist/data-structures/stack/stack.d.ts +0 -63
  687. package/dist/data-structures/stack/stack.js +0 -92
  688. package/dist/data-structures/stack/stack.js.map +0 -1
  689. package/dist/data-structures/tree/index.js.map +0 -1
  690. package/dist/data-structures/tree/tree.d.ts +0 -14
  691. package/dist/data-structures/tree/tree.js +0 -61
  692. package/dist/data-structures/tree/tree.js.map +0 -1
  693. package/dist/data-structures/trie/index.js.map +0 -1
  694. package/dist/data-structures/trie/trie.d.ts +0 -61
  695. package/dist/data-structures/trie/trie.js +0 -211
  696. package/dist/data-structures/trie/trie.js.map +0 -1
  697. package/dist/index.js.map +0 -1
  698. package/dist/interfaces/abstract-binary-tree.d.ts +0 -7
  699. package/dist/interfaces/abstract-binary-tree.js +0 -3
  700. package/dist/interfaces/abstract-binary-tree.js.map +0 -1
  701. package/dist/interfaces/abstract-graph.d.ts +0 -5
  702. package/dist/interfaces/abstract-graph.js.map +0 -1
  703. package/dist/interfaces/avl-tree.d.ts +0 -7
  704. package/dist/interfaces/avl-tree.js.map +0 -1
  705. package/dist/interfaces/binary-tree.d.ts +0 -6
  706. package/dist/interfaces/binary-tree.js.map +0 -1
  707. package/dist/interfaces/bst.d.ts +0 -6
  708. package/dist/interfaces/bst.js.map +0 -1
  709. package/dist/interfaces/directed-graph.d.ts +0 -3
  710. package/dist/interfaces/directed-graph.js +0 -3
  711. package/dist/interfaces/directed-graph.js.map +0 -1
  712. package/dist/interfaces/doubly-linked-list.js.map +0 -1
  713. package/dist/interfaces/heap.js.map +0 -1
  714. package/dist/interfaces/index.d.ts +0 -15
  715. package/dist/interfaces/index.js +0 -32
  716. package/dist/interfaces/index.js.map +0 -1
  717. package/dist/interfaces/navigator.js.map +0 -1
  718. package/dist/interfaces/priority-queue.js.map +0 -1
  719. package/dist/interfaces/rb-tree.d.ts +0 -6
  720. package/dist/interfaces/rb-tree.js +0 -3
  721. package/dist/interfaces/rb-tree.js.map +0 -1
  722. package/dist/interfaces/segment-tree.js.map +0 -1
  723. package/dist/interfaces/singly-linked-list.js.map +0 -1
  724. package/dist/interfaces/tree-multiset.d.ts +0 -6
  725. package/dist/interfaces/tree-multiset.js.map +0 -1
  726. package/dist/interfaces/undirected-graph.d.ts +0 -3
  727. package/dist/interfaces/undirected-graph.js.map +0 -1
  728. package/dist/types/data-structures/abstract-binary-tree.d.ts +0 -34
  729. package/dist/types/data-structures/abstract-binary-tree.js +0 -25
  730. package/dist/types/data-structures/abstract-binary-tree.js.map +0 -1
  731. package/dist/types/data-structures/abstract-graph.d.ts +0 -11
  732. package/dist/types/data-structures/abstract-graph.js +0 -3
  733. package/dist/types/data-structures/abstract-graph.js.map +0 -1
  734. package/dist/types/data-structures/avl-tree.d.ts +0 -4
  735. package/dist/types/data-structures/avl-tree.js +0 -3
  736. package/dist/types/data-structures/avl-tree.js.map +0 -1
  737. package/dist/types/data-structures/binary-tree.d.ts +0 -4
  738. package/dist/types/data-structures/binary-tree.js +0 -3
  739. package/dist/types/data-structures/binary-tree.js.map +0 -1
  740. package/dist/types/data-structures/bst.d.ts +0 -13
  741. package/dist/types/data-structures/bst.js +0 -10
  742. package/dist/types/data-structures/bst.js.map +0 -1
  743. package/dist/types/data-structures/directed-graph.js.map +0 -1
  744. package/dist/types/data-structures/doubly-linked-list.js.map +0 -1
  745. package/dist/types/data-structures/hash.js +0 -3
  746. package/dist/types/data-structures/hash.js.map +0 -1
  747. package/dist/types/data-structures/heap.d.ts +0 -3
  748. package/dist/types/data-structures/heap.js.map +0 -1
  749. package/dist/types/data-structures/index.d.ts +0 -16
  750. package/dist/types/data-structures/index.js +0 -33
  751. package/dist/types/data-structures/index.js.map +0 -1
  752. package/dist/types/data-structures/map-graph.js.map +0 -1
  753. package/dist/types/data-structures/navigator.js.map +0 -1
  754. package/dist/types/data-structures/priority-queue.d.ts +0 -7
  755. package/dist/types/data-structures/priority-queue.js.map +0 -1
  756. package/dist/types/data-structures/rb-tree.d.ts +0 -8
  757. package/dist/types/data-structures/rb-tree.js.map +0 -1
  758. package/dist/types/data-structures/segment-tree.js.map +0 -1
  759. package/dist/types/data-structures/singly-linked-list.js.map +0 -1
  760. package/dist/types/data-structures/tree-multiset.d.ts +0 -4
  761. package/dist/types/data-structures/tree-multiset.js +0 -3
  762. package/dist/types/data-structures/tree-multiset.js.map +0 -1
  763. package/dist/types/helpers.js +0 -3
  764. package/dist/types/helpers.js.map +0 -1
  765. package/dist/types/index.js.map +0 -1
  766. package/dist/types/utils/index.js.map +0 -1
  767. package/dist/types/utils/utils.js.map +0 -1
  768. package/dist/types/utils/validate-type.js.map +0 -1
  769. package/dist/utils/index.js.map +0 -1
  770. package/dist/utils/utils.d.ts +0 -19
  771. package/dist/utils/utils.js +0 -67
  772. package/dist/utils/utils.js.map +0 -1
  773. package/lib/data-structures/binary-tree/aa-tree.d.ts +0 -2
  774. package/lib/data-structures/binary-tree/aa-tree.js +0 -2
  775. package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +0 -527
  776. package/lib/data-structures/binary-tree/abstract-binary-tree.js +0 -1193
  777. package/lib/data-structures/binary-tree/avl-tree.d.ts +0 -94
  778. package/lib/data-structures/binary-tree/avl-tree.js +0 -330
  779. package/lib/data-structures/binary-tree/b-tree.d.ts +0 -2
  780. package/lib/data-structures/binary-tree/b-tree.js +0 -2
  781. package/lib/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -46
  782. package/lib/data-structures/binary-tree/binary-indexed-tree.js +0 -69
  783. package/lib/data-structures/binary-tree/binary-tree.d.ts +0 -31
  784. package/lib/data-structures/binary-tree/binary-tree.js +0 -35
  785. package/lib/data-structures/binary-tree/bst.d.ts +0 -133
  786. package/lib/data-structures/binary-tree/bst.js +0 -548
  787. package/lib/data-structures/binary-tree/index.d.ts +0 -12
  788. package/lib/data-structures/binary-tree/index.js +0 -12
  789. package/lib/data-structures/binary-tree/rb-tree.d.ts +0 -13
  790. package/lib/data-structures/binary-tree/rb-tree.js +0 -22
  791. package/lib/data-structures/binary-tree/segment-tree.d.ts +0 -83
  792. package/lib/data-structures/binary-tree/segment-tree.js +0 -223
  793. package/lib/data-structures/binary-tree/splay-tree.d.ts +0 -2
  794. package/lib/data-structures/binary-tree/splay-tree.js +0 -2
  795. package/lib/data-structures/binary-tree/tree-multiset.d.ts +0 -209
  796. package/lib/data-structures/binary-tree/tree-multiset.js +0 -663
  797. package/lib/data-structures/binary-tree/two-three-tree.d.ts +0 -2
  798. package/lib/data-structures/binary-tree/two-three-tree.js +0 -2
  799. package/lib/data-structures/graph/abstract-graph.d.ts +0 -332
  800. package/lib/data-structures/graph/abstract-graph.js +0 -918
  801. package/lib/data-structures/graph/directed-graph.d.ts +0 -200
  802. package/lib/data-structures/graph/directed-graph.js +0 -416
  803. package/lib/data-structures/graph/index.js +0 -4
  804. package/lib/data-structures/graph/map-graph.d.ts +0 -79
  805. package/lib/data-structures/graph/map-graph.js +0 -105
  806. package/lib/data-structures/graph/undirected-graph.d.ts +0 -127
  807. package/lib/data-structures/graph/undirected-graph.js +0 -246
  808. package/lib/data-structures/hash/coordinate-map.d.ts +0 -45
  809. package/lib/data-structures/hash/coordinate-map.js +0 -61
  810. package/lib/data-structures/hash/coordinate-set.d.ts +0 -37
  811. package/lib/data-structures/hash/coordinate-set.js +0 -51
  812. package/lib/data-structures/hash/hash-map.d.ts +0 -56
  813. package/lib/data-structures/hash/hash-map.js +0 -167
  814. package/lib/data-structures/hash/hash-table.d.ts +0 -106
  815. package/lib/data-structures/hash/hash-table.js +0 -240
  816. package/lib/data-structures/hash/index.d.ts +0 -7
  817. package/lib/data-structures/hash/index.js +0 -7
  818. package/lib/data-structures/hash/pair.d.ts +0 -2
  819. package/lib/data-structures/hash/pair.js +0 -2
  820. package/lib/data-structures/hash/tree-map.js +0 -2
  821. package/lib/data-structures/hash/tree-set.js +0 -2
  822. package/lib/data-structures/heap/heap.d.ts +0 -83
  823. package/lib/data-structures/heap/heap.js +0 -152
  824. package/lib/data-structures/heap/index.js +0 -3
  825. package/lib/data-structures/heap/max-heap.d.ts +0 -23
  826. package/lib/data-structures/heap/max-heap.js +0 -26
  827. package/lib/data-structures/heap/min-heap.d.ts +0 -24
  828. package/lib/data-structures/heap/min-heap.js +0 -27
  829. package/lib/data-structures/index.js +0 -11
  830. package/lib/data-structures/linked-list/doubly-linked-list.d.ts +0 -234
  831. package/lib/data-structures/linked-list/doubly-linked-list.js +0 -578
  832. package/lib/data-structures/linked-list/index.js +0 -3
  833. package/lib/data-structures/linked-list/singly-linked-list.d.ts +0 -157
  834. package/lib/data-structures/linked-list/singly-linked-list.js +0 -443
  835. package/lib/data-structures/linked-list/skip-linked-list.d.ts +0 -61
  836. package/lib/data-structures/linked-list/skip-linked-list.js +0 -137
  837. package/lib/data-structures/matrix/index.js +0 -4
  838. package/lib/data-structures/matrix/matrix.d.ts +0 -21
  839. package/lib/data-structures/matrix/matrix.js +0 -24
  840. package/lib/data-structures/matrix/matrix2d.d.ts +0 -108
  841. package/lib/data-structures/matrix/matrix2d.js +0 -196
  842. package/lib/data-structures/matrix/navigator.d.ts +0 -52
  843. package/lib/data-structures/matrix/navigator.js +0 -101
  844. package/lib/data-structures/matrix/vector2d.d.ts +0 -201
  845. package/lib/data-structures/matrix/vector2d.js +0 -287
  846. package/lib/data-structures/priority-queue/max-priority-queue.d.ts +0 -15
  847. package/lib/data-structures/priority-queue/max-priority-queue.js +0 -39
  848. package/lib/data-structures/priority-queue/min-priority-queue.d.ts +0 -15
  849. package/lib/data-structures/priority-queue/min-priority-queue.js +0 -40
  850. package/lib/data-structures/priority-queue/priority-queue.d.ts +0 -180
  851. package/lib/data-structures/priority-queue/priority-queue.js +0 -317
  852. package/lib/data-structures/queue/deque.d.ts +0 -165
  853. package/lib/data-structures/queue/deque.js +0 -270
  854. package/lib/data-structures/queue/queue.d.ts +0 -107
  855. package/lib/data-structures/queue/queue.js +0 -165
  856. package/lib/data-structures/stack/stack.d.ts +0 -63
  857. package/lib/data-structures/stack/stack.js +0 -87
  858. package/lib/data-structures/tree/tree.d.ts +0 -14
  859. package/lib/data-structures/tree/tree.js +0 -56
  860. package/lib/data-structures/trie/trie.d.ts +0 -61
  861. package/lib/data-structures/trie/trie.js +0 -205
  862. package/lib/index.js +0 -4
  863. package/lib/interfaces/abstract-binary-tree.d.ts +0 -7
  864. package/lib/interfaces/abstract-graph.d.ts +0 -5
  865. package/lib/interfaces/avl-tree.d.ts +0 -7
  866. package/lib/interfaces/binary-tree.d.ts +0 -6
  867. package/lib/interfaces/bst.d.ts +0 -6
  868. package/lib/interfaces/directed-graph.d.ts +0 -3
  869. package/lib/interfaces/index.d.ts +0 -15
  870. package/lib/interfaces/index.js +0 -15
  871. package/lib/interfaces/rb-tree.d.ts +0 -6
  872. package/lib/interfaces/tree-multiset.d.ts +0 -6
  873. package/lib/interfaces/undirected-graph.d.ts +0 -3
  874. package/lib/types/data-structures/abstract-binary-tree.d.ts +0 -34
  875. package/lib/types/data-structures/abstract-binary-tree.js +0 -21
  876. package/lib/types/data-structures/abstract-graph.d.ts +0 -11
  877. package/lib/types/data-structures/avl-tree.d.ts +0 -4
  878. package/lib/types/data-structures/binary-tree.d.ts +0 -4
  879. package/lib/types/data-structures/bst.d.ts +0 -13
  880. package/lib/types/data-structures/bst.js +0 -6
  881. package/lib/types/data-structures/directed-graph.js +0 -6
  882. package/lib/types/data-structures/heap.d.ts +0 -3
  883. package/lib/types/data-structures/index.d.ts +0 -16
  884. package/lib/types/data-structures/index.js +0 -16
  885. package/lib/types/data-structures/priority-queue.d.ts +0 -7
  886. package/lib/types/data-structures/rb-tree.d.ts +0 -8
  887. package/lib/types/data-structures/rb-tree.js +0 -5
  888. package/lib/types/data-structures/tree-multiset.d.ts +0 -4
  889. package/lib/types/index.js +0 -3
  890. package/lib/types/utils/index.js +0 -2
  891. package/lib/utils/utils.d.ts +0 -19
  892. package/lib/utils/utils.js +0 -57
  893. package/scripts/rename_clear_files.sh +0 -29
  894. package/src/data-structures/binary-tree/aa-tree.ts +0 -1
  895. package/src/data-structures/binary-tree/abstract-binary-tree.ts +0 -1556
  896. package/src/data-structures/binary-tree/b-tree.ts +0 -1
  897. package/src/data-structures/binary-tree/splay-tree.ts +0 -1
  898. package/src/data-structures/binary-tree/two-three-tree.ts +0 -1
  899. package/src/data-structures/hash/pair.ts +0 -1
  900. package/src/interfaces/abstract-binary-tree.ts +0 -8
  901. package/src/interfaces/abstract-graph.ts +0 -7
  902. package/src/interfaces/avl-tree.ts +0 -8
  903. package/src/interfaces/bst.ts +0 -6
  904. package/src/interfaces/directed-graph.ts +0 -3
  905. package/src/interfaces/rb-tree.ts +0 -6
  906. package/src/interfaces/tree-multiset.ts +0 -7
  907. package/src/interfaces/undirected-graph.ts +0 -3
  908. package/src/types/data-structures/abstract-binary-tree.ts +0 -49
  909. package/src/types/data-structures/abstract-graph.ts +0 -11
  910. package/src/types/data-structures/avl-tree.ts +0 -5
  911. package/src/types/data-structures/binary-tree.ts +0 -5
  912. package/src/types/data-structures/bst.ts +0 -13
  913. package/src/types/data-structures/heap.ts +0 -5
  914. package/src/types/data-structures/navigator.ts +0 -13
  915. package/src/types/data-structures/priority-queue.ts +0 -9
  916. package/src/types/data-structures/rb-tree.ts +0 -8
  917. package/src/types/data-structures/tree-multiset.ts +0 -6
  918. package/test/utils/magnitude.ts +0 -21
  919. /package/dist/{data-structures → cjs/data-structures}/graph/index.d.ts +0 -0
  920. /package/dist/{data-structures → cjs/data-structures}/graph/index.js +0 -0
  921. /package/dist/{data-structures → cjs/data-structures}/hash/tree-map.d.ts +0 -0
  922. /package/dist/{data-structures → cjs/data-structures}/hash/tree-map.js +0 -0
  923. /package/dist/{data-structures → cjs/data-structures}/hash/tree-set.d.ts +0 -0
  924. /package/dist/{data-structures → cjs/data-structures}/hash/tree-set.js +0 -0
  925. /package/dist/{data-structures → cjs/data-structures}/heap/index.d.ts +0 -0
  926. /package/dist/{data-structures → cjs/data-structures}/heap/index.js +0 -0
  927. /package/dist/{data-structures → cjs/data-structures}/index.d.ts +0 -0
  928. /package/dist/{data-structures → cjs/data-structures}/index.js +0 -0
  929. /package/dist/{data-structures → cjs/data-structures}/linked-list/index.d.ts +0 -0
  930. /package/dist/{data-structures → cjs/data-structures}/linked-list/index.js +0 -0
  931. /package/dist/{data-structures → cjs/data-structures}/matrix/index.d.ts +0 -0
  932. /package/dist/{data-structures → cjs/data-structures}/matrix/index.js +0 -0
  933. /package/dist/{data-structures → cjs/data-structures}/matrix/matrix.js +0 -0
  934. /package/dist/{data-structures → cjs/data-structures}/matrix/navigator.js +0 -0
  935. /package/dist/{data-structures → cjs/data-structures}/priority-queue/index.d.ts +0 -0
  936. /package/dist/{data-structures → cjs/data-structures}/priority-queue/index.js +0 -0
  937. /package/dist/{data-structures → cjs/data-structures}/queue/index.d.ts +0 -0
  938. /package/dist/{data-structures → cjs/data-structures}/queue/index.js +0 -0
  939. /package/dist/{data-structures → cjs/data-structures}/stack/index.d.ts +0 -0
  940. /package/dist/{data-structures → cjs/data-structures}/stack/index.js +0 -0
  941. /package/dist/{data-structures → cjs/data-structures}/tree/index.d.ts +0 -0
  942. /package/dist/{data-structures → cjs/data-structures}/tree/index.js +0 -0
  943. /package/dist/{data-structures → cjs/data-structures}/trie/index.d.ts +0 -0
  944. /package/dist/{data-structures → cjs/data-structures}/trie/index.js +0 -0
  945. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  946. /package/dist/{index.js → cjs/index.js} +0 -0
  947. /package/dist/{interfaces → cjs/interfaces}/binary-tree.js +0 -0
  948. /package/dist/{interfaces → cjs/interfaces}/doubly-linked-list.d.ts +0 -0
  949. /package/dist/{interfaces → cjs/interfaces}/doubly-linked-list.js +0 -0
  950. /package/dist/{interfaces → cjs/interfaces}/heap.d.ts +0 -0
  951. /package/dist/{interfaces → cjs/interfaces}/heap.js +0 -0
  952. /package/dist/{interfaces → cjs/interfaces}/navigator.d.ts +0 -0
  953. /package/dist/{interfaces → cjs/interfaces}/navigator.js +0 -0
  954. /package/dist/{interfaces → cjs/interfaces}/priority-queue.d.ts +0 -0
  955. /package/dist/{interfaces → cjs/interfaces}/priority-queue.js +0 -0
  956. /package/dist/{interfaces → cjs/interfaces}/segment-tree.d.ts +0 -0
  957. /package/dist/{interfaces → cjs/interfaces}/segment-tree.js +0 -0
  958. /package/dist/{interfaces → cjs/interfaces}/singly-linked-list.d.ts +0 -0
  959. /package/dist/{interfaces → cjs/interfaces}/singly-linked-list.js +0 -0
  960. /package/dist/{interfaces → cjs/types/data-structures/binary-tree}/avl-tree.js +0 -0
  961. /package/dist/{types/data-structures/doubly-linked-list.d.ts → cjs/types/data-structures/binary-tree/binary-indexed-tree.d.ts} +0 -0
  962. /package/dist/{interfaces → cjs/types/data-structures/binary-tree}/bst.js +0 -0
  963. /package/dist/{types/data-structures → cjs/types/data-structures/binary-tree}/rb-tree.js +0 -0
  964. /package/dist/{types/data-structures → cjs/types/data-structures/binary-tree}/segment-tree.d.ts +0 -0
  965. /package/dist/{types/data-structures → cjs/types/data-structures/binary-tree}/segment-tree.js +0 -0
  966. /package/dist/{interfaces → cjs/types/data-structures/binary-tree}/tree-multiset.js +0 -0
  967. /package/dist/{interfaces → cjs/types/data-structures/graph}/abstract-graph.js +0 -0
  968. /package/dist/{types/data-structures → cjs/types/data-structures/graph}/directed-graph.d.ts +0 -0
  969. /package/dist/{types/data-structures → cjs/types/data-structures/graph}/directed-graph.js +0 -0
  970. /package/dist/{types/data-structures → cjs/types/data-structures/graph}/map-graph.d.ts +0 -0
  971. /package/dist/{types/data-structures → cjs/types/data-structures/graph}/map-graph.js +0 -0
  972. /package/dist/{types/data-structures/singly-linked-list.d.ts → cjs/types/data-structures/graph/undirected-graph.d.ts} +0 -0
  973. /package/dist/{interfaces → cjs/types/data-structures/graph}/undirected-graph.js +0 -0
  974. /package/dist/{types/helpers.d.ts → cjs/types/data-structures/hash/coordinate-map.d.ts} +0 -0
  975. /package/{lib/interfaces/abstract-binary-tree.js → dist/cjs/types/data-structures/hash/coordinate-set.d.ts} +0 -0
  976. /package/{lib/interfaces/abstract-graph.js → dist/cjs/types/data-structures/hash/hash-map.d.ts} +0 -0
  977. /package/{lib/interfaces/avl-tree.js → dist/cjs/types/data-structures/hash/hash-table.d.ts} +0 -0
  978. /package/dist/{types/data-structures/hash.d.ts → cjs/types/data-structures/hash/index.d.ts} +0 -0
  979. /package/{lib/interfaces/binary-tree.js → dist/cjs/types/data-structures/hash/tree-map.d.ts} +0 -0
  980. /package/{lib/interfaces/bst.js → dist/cjs/types/data-structures/hash/tree-set.d.ts} +0 -0
  981. /package/{lib/interfaces → dist/cjs/types/data-structures/heap}/heap.d.ts +0 -0
  982. /package/dist/{types/data-structures → cjs/types/data-structures/heap}/heap.js +0 -0
  983. /package/{lib/interfaces/directed-graph.js → dist/cjs/types/data-structures/heap/max-heap.d.ts} +0 -0
  984. /package/{lib/interfaces/doubly-linked-list.d.ts → dist/cjs/types/data-structures/heap/min-heap.d.ts} +0 -0
  985. /package/{lib/types/data-structures → dist/cjs/types/data-structures/linked-list}/doubly-linked-list.d.ts +0 -0
  986. /package/dist/{types/data-structures → cjs/types/data-structures/linked-list}/doubly-linked-list.js +0 -0
  987. /package/{lib/interfaces → dist/cjs/types/data-structures/linked-list}/singly-linked-list.d.ts +0 -0
  988. /package/dist/{types/data-structures → cjs/types/data-structures/linked-list}/singly-linked-list.js +0 -0
  989. /package/{lib/interfaces/doubly-linked-list.js → dist/cjs/types/data-structures/linked-list/skip-linked-list.d.ts} +0 -0
  990. /package/{lib/interfaces/heap.js → dist/cjs/types/data-structures/matrix/matrix.d.ts} +0 -0
  991. /package/{lib/interfaces/navigator.d.ts → dist/cjs/types/data-structures/matrix/matrix2d.d.ts} +0 -0
  992. /package/dist/{types/data-structures → cjs/types/data-structures/matrix}/navigator.d.ts +0 -0
  993. /package/dist/{types/data-structures → cjs/types/data-structures/matrix}/navigator.js +0 -0
  994. /package/{lib/interfaces/navigator.js → dist/cjs/types/data-structures/matrix/vector2d.d.ts} +0 -0
  995. /package/{lib → dist/cjs/types}/data-structures/priority-queue/index.d.ts +0 -0
  996. /package/{lib/interfaces/priority-queue.d.ts → dist/cjs/types/data-structures/priority-queue/max-priority-queue.d.ts} +0 -0
  997. /package/{lib/interfaces/priority-queue.js → dist/cjs/types/data-structures/priority-queue/min-priority-queue.d.ts} +0 -0
  998. /package/{lib/interfaces/rb-tree.js → dist/cjs/types/data-structures/priority-queue/priority-queue.d.ts} +0 -0
  999. /package/dist/{types/data-structures → cjs/types/data-structures/priority-queue}/priority-queue.js +0 -0
  1000. /package/{lib/interfaces/segment-tree.d.ts → dist/cjs/types/data-structures/queue/deque.d.ts} +0 -0
  1001. /package/{lib → dist/cjs/types}/data-structures/queue/index.d.ts +0 -0
  1002. /package/{lib/interfaces/segment-tree.js → dist/cjs/types/data-structures/queue/queue.d.ts} +0 -0
  1003. /package/{lib → dist/cjs/types}/data-structures/stack/index.d.ts +0 -0
  1004. /package/{lib/interfaces/singly-linked-list.js → dist/cjs/types/data-structures/stack/stack.d.ts} +0 -0
  1005. /package/{lib → dist/cjs/types}/data-structures/tree/index.d.ts +0 -0
  1006. /package/{lib/interfaces/tree-multiset.js → dist/cjs/types/data-structures/tree/tree.d.ts} +0 -0
  1007. /package/{lib → dist/cjs/types}/data-structures/trie/index.d.ts +0 -0
  1008. /package/{lib/interfaces/undirected-graph.js → dist/cjs/types/data-structures/trie/trie.d.ts} +0 -0
  1009. /package/dist/{types → cjs/types}/index.d.ts +0 -0
  1010. /package/dist/{types → cjs/types}/index.js +0 -0
  1011. /package/dist/{types → cjs/types}/utils/index.d.ts +0 -0
  1012. /package/dist/{types → cjs/types}/utils/index.js +0 -0
  1013. /package/dist/{types → cjs/types}/utils/utils.d.ts +0 -0
  1014. /package/dist/{types → cjs/types}/utils/utils.js +0 -0
  1015. /package/dist/{types → cjs/types}/utils/validate-type.d.ts +0 -0
  1016. /package/dist/{types → cjs/types}/utils/validate-type.js +0 -0
  1017. /package/dist/{utils → cjs/utils}/index.d.ts +0 -0
  1018. /package/dist/{utils → cjs/utils}/index.js +0 -0
  1019. /package/{lib → dist/mjs}/data-structures/graph/index.d.ts +0 -0
  1020. /package/{lib → dist/mjs}/data-structures/hash/tree-map.d.ts +0 -0
  1021. /package/{lib → dist/mjs}/data-structures/hash/tree-set.d.ts +0 -0
  1022. /package/{lib → dist/mjs}/data-structures/heap/index.d.ts +0 -0
  1023. /package/{lib → dist/mjs}/data-structures/index.d.ts +0 -0
  1024. /package/{lib → dist/mjs}/data-structures/linked-list/index.d.ts +0 -0
  1025. /package/{lib → dist/mjs}/data-structures/matrix/index.d.ts +0 -0
  1026. /package/{lib/data-structures/priority-queue/index.js → dist/mjs/data-structures/priority-queue/index.d.ts} +0 -0
  1027. /package/{lib/data-structures/queue/index.js → dist/mjs/data-structures/queue/index.d.ts} +0 -0
  1028. /package/{lib/data-structures/stack/index.js → dist/mjs/data-structures/stack/index.d.ts} +0 -0
  1029. /package/{lib/data-structures/tree/index.js → dist/mjs/data-structures/tree/index.d.ts} +0 -0
  1030. /package/{lib/data-structures/trie/index.js → dist/mjs/data-structures/trie/index.d.ts} +0 -0
  1031. /package/{lib → dist/mjs}/index.d.ts +0 -0
  1032. /package/{lib/types/data-structures/abstract-graph.js → dist/mjs/interfaces/doubly-linked-list.d.ts} +0 -0
  1033. /package/{lib/types/data-structures/avl-tree.js → dist/mjs/interfaces/heap.d.ts} +0 -0
  1034. /package/{lib/types/data-structures/binary-tree.js → dist/mjs/interfaces/navigator.d.ts} +0 -0
  1035. /package/{lib/types/data-structures/doubly-linked-list.js → dist/mjs/interfaces/priority-queue.d.ts} +0 -0
  1036. /package/{lib/types/data-structures/hash.js → dist/mjs/interfaces/segment-tree.d.ts} +0 -0
  1037. /package/{lib/types/data-structures → dist/mjs/interfaces}/singly-linked-list.d.ts +0 -0
  1038. /package/{lib/types/data-structures/heap.js → dist/mjs/types/data-structures/binary-tree/binary-indexed-tree.d.ts} +0 -0
  1039. /package/{lib/types/data-structures → dist/mjs/types/data-structures/binary-tree}/segment-tree.d.ts +0 -0
  1040. /package/{lib/types/data-structures → dist/mjs/types/data-structures/graph}/directed-graph.d.ts +0 -0
  1041. /package/{lib/types/data-structures → dist/mjs/types/data-structures/graph}/map-graph.d.ts +0 -0
  1042. /package/{lib/types/data-structures/map-graph.js → dist/mjs/types/data-structures/graph/undirected-graph.d.ts} +0 -0
  1043. /package/{lib/types/data-structures/navigator.js → dist/mjs/types/data-structures/hash/coordinate-map.d.ts} +0 -0
  1044. /package/{lib/types/data-structures/priority-queue.js → dist/mjs/types/data-structures/hash/coordinate-set.d.ts} +0 -0
  1045. /package/{lib/types/data-structures/segment-tree.js → dist/mjs/types/data-structures/hash/hash-map.d.ts} +0 -0
  1046. /package/{lib/types/data-structures/singly-linked-list.js → dist/mjs/types/data-structures/hash/hash-table.d.ts} +0 -0
  1047. /package/{lib/types/data-structures/hash.d.ts → dist/mjs/types/data-structures/hash/index.d.ts} +0 -0
  1048. /package/{lib/types/data-structures/tree-multiset.js → dist/mjs/types/data-structures/hash/tree-map.d.ts} +0 -0
  1049. /package/{lib/types/helpers.d.ts → dist/mjs/types/data-structures/hash/tree-set.d.ts} +0 -0
  1050. /package/{lib/types/helpers.js → dist/mjs/types/data-structures/heap/heap.d.ts} +0 -0
  1051. /package/{lib/types/utils/utils.js → dist/mjs/types/data-structures/heap/max-heap.d.ts} +0 -0
  1052. /package/{lib/types/utils/validate-type.js → dist/mjs/types/data-structures/heap/min-heap.d.ts} +0 -0
  1053. /package/{src/types/data-structures/doubly-linked-list.ts → dist/mjs/types/data-structures/linked-list/doubly-linked-list.d.ts} +0 -0
  1054. /package/{src/types/data-structures/singly-linked-list.ts → dist/mjs/types/data-structures/linked-list/singly-linked-list.d.ts} +0 -0
  1055. /package/{lib/types/data-structures → dist/mjs/types/data-structures/matrix}/navigator.d.ts +0 -0
  1056. /package/{lib → dist/mjs}/types/index.d.ts +0 -0
  1057. /package/{lib → dist/mjs}/types/utils/index.d.ts +0 -0
  1058. /package/{lib → dist/mjs}/types/utils/utils.d.ts +0 -0
  1059. /package/{lib → dist/mjs}/types/utils/validate-type.d.ts +0 -0
  1060. /package/{lib → dist/mjs}/utils/index.d.ts +0 -0
  1061. /package/src/types/data-structures/{segment-tree.ts → binary-tree/segment-tree.ts} +0 -0
  1062. /package/src/types/data-structures/{directed-graph.ts → graph/directed-graph.ts} +0 -0
  1063. /package/src/types/data-structures/{map-graph.ts → graph/map-graph.ts} +0 -0
  1064. /package/src/types/data-structures/{hash.ts → hash/index.ts} +0 -0
  1065. /package/{lib/utils/index.js → test/types/index.ts} +0 -0
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ /**
3
+ * data-structure-typed
4
+ *
5
+ * @author Tyler Zeng
6
+ * @copyright Copyright (c) 2022 Tyler Zeng <zrwusa@gmail.com>
7
+ * @license MIT License
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Trie = exports.TrieNode = void 0;
11
+ /**
12
+ * TrieNode represents a node in the Trie data structure. It holds a character key, a map of children nodes,
13
+ * and a flag indicating whether it's the end of a word.
14
+ */
15
+ class TrieNode {
16
+ key;
17
+ children;
18
+ isEnd;
19
+ constructor(key) {
20
+ this.key = key;
21
+ this.isEnd = false;
22
+ this.children = new Map();
23
+ }
24
+ }
25
+ exports.TrieNode = TrieNode;
26
+ /**
27
+ * Trie represents a Trie data structure. It provides basic Trie operations and additional methods.
28
+ */
29
+ class Trie {
30
+ constructor(words, caseSensitive = true) {
31
+ this._root = new TrieNode('');
32
+ this._caseSensitive = caseSensitive;
33
+ if (words) {
34
+ for (const i of words) {
35
+ this.add(i);
36
+ }
37
+ }
38
+ }
39
+ _caseSensitive;
40
+ get caseSensitive() {
41
+ return this._caseSensitive;
42
+ }
43
+ _root;
44
+ get root() {
45
+ return this._root;
46
+ }
47
+ /**
48
+ * Add a word to the Trie structure.
49
+ * @param {string} word - The word to add.
50
+ * @returns {boolean} True if the word was successfully added.
51
+ */
52
+ add(word) {
53
+ word = this._caseProcess(word);
54
+ let cur = this.root;
55
+ for (const c of word) {
56
+ let nodeC = cur.children.get(c);
57
+ if (!nodeC) {
58
+ nodeC = new TrieNode(c);
59
+ cur.children.set(c, nodeC);
60
+ }
61
+ cur = nodeC;
62
+ }
63
+ cur.isEnd = true;
64
+ return true;
65
+ }
66
+ /**
67
+ * Check if the Trie contains a given word.
68
+ * @param {string} word - The word to check for.
69
+ * @returns {boolean} True if the word is present in the Trie.
70
+ */
71
+ has(word) {
72
+ word = this._caseProcess(word);
73
+ let cur = this.root;
74
+ for (const c of word) {
75
+ const nodeC = cur.children.get(c);
76
+ if (!nodeC)
77
+ return false;
78
+ cur = nodeC;
79
+ }
80
+ return cur.isEnd;
81
+ }
82
+ /**
83
+ * Remove a word from the Trie structure.
84
+ * @param{string} word - The word to delete.
85
+ * @returns {boolean} True if the word was successfully removed.
86
+ */
87
+ delete(word) {
88
+ word = this._caseProcess(word);
89
+ let isDeleted = false;
90
+ const dfs = (cur, i) => {
91
+ const char = word[i];
92
+ const child = cur.children.get(char);
93
+ if (child) {
94
+ if (i === word.length - 1) {
95
+ if (child.isEnd) {
96
+ if (child.children.size > 0) {
97
+ child.isEnd = false;
98
+ }
99
+ else {
100
+ cur.children.delete(char);
101
+ }
102
+ isDeleted = true;
103
+ return true;
104
+ }
105
+ return false;
106
+ }
107
+ const res = dfs(child, i + 1);
108
+ if (res && !cur.isEnd && child.children.size === 0) {
109
+ cur.children.delete(char);
110
+ return true;
111
+ }
112
+ return false;
113
+ }
114
+ return false;
115
+ };
116
+ dfs(this.root, 0);
117
+ return isDeleted;
118
+ }
119
+ getHeight() {
120
+ const beginRoot = this.root;
121
+ let maxDepth = 0;
122
+ if (beginRoot) {
123
+ const bfs = (node, level) => {
124
+ if (level > maxDepth) {
125
+ maxDepth = level;
126
+ }
127
+ const { children } = node;
128
+ if (children) {
129
+ for (const child of children.entries()) {
130
+ bfs(child[1], level + 1);
131
+ }
132
+ }
133
+ };
134
+ bfs(beginRoot, 0);
135
+ }
136
+ return maxDepth;
137
+ }
138
+ // --- start additional methods ---
139
+ /**
140
+ * Check if a given input string has an absolute prefix in the Trie, meaning it's not a complete word.
141
+ * @param {string} input - The input string to check.
142
+ * @returns {boolean} True if it's an absolute prefix in the Trie.
143
+ */
144
+ hasPurePrefix(input) {
145
+ input = this._caseProcess(input);
146
+ let cur = this.root;
147
+ for (const c of input) {
148
+ const nodeC = cur.children.get(c);
149
+ if (!nodeC)
150
+ return false;
151
+ cur = nodeC;
152
+ }
153
+ return !cur.isEnd;
154
+ }
155
+ /**
156
+ * Check if a given input string is a prefix of any existing word in the Trie, whether as an absolute prefix or a complete word.
157
+ * @param {string} input - The input string representing the prefix to check.
158
+ * @returns {boolean} True if it's a prefix in the Trie.
159
+ */
160
+ hasPrefix(input) {
161
+ input = this._caseProcess(input);
162
+ let cur = this.root;
163
+ for (const c of input) {
164
+ const nodeC = cur.children.get(c);
165
+ if (!nodeC)
166
+ return false;
167
+ cur = nodeC;
168
+ }
169
+ return true;
170
+ }
171
+ /**
172
+ * Check if the input string is a common prefix in the Trie, meaning it's a prefix shared by all words in the Trie.
173
+ * @param {string} input - The input string representing the common prefix to check for.
174
+ * @returns {boolean} True if it's a common prefix in the Trie.
175
+ */
176
+ hasCommonPrefix(input) {
177
+ input = this._caseProcess(input);
178
+ let commonPre = '';
179
+ const dfs = (cur) => {
180
+ commonPre += cur.key;
181
+ if (commonPre === input)
182
+ return;
183
+ if (cur.isEnd)
184
+ return;
185
+ if (cur && cur.children && cur.children.size === 1)
186
+ dfs(Array.from(cur.children.values())[0]);
187
+ else
188
+ return;
189
+ };
190
+ dfs(this.root);
191
+ return commonPre === input;
192
+ }
193
+ /**
194
+ * Get the longest common prefix among all the words stored in the Trie.
195
+ * @returns {string} The longest common prefix found in the Trie.
196
+ */
197
+ getLongestCommonPrefix() {
198
+ let commonPre = '';
199
+ const dfs = (cur) => {
200
+ commonPre += cur.key;
201
+ if (cur.isEnd)
202
+ return;
203
+ if (cur && cur.children && cur.children.size === 1)
204
+ dfs(Array.from(cur.children.values())[0]);
205
+ else
206
+ return;
207
+ };
208
+ dfs(this.root);
209
+ return commonPre;
210
+ }
211
+ /**
212
+ * The `getAll` function returns an array of all words in a Trie data structure that start with a given prefix.
213
+ * @param {string} prefix - The `prefix` parameter is a string that represents the prefix that we want to search for in the
214
+ * trie. It is an optional parameter, so if no prefix is provided, it will default to an empty string.
215
+ * @param {number} max - The max count of words will be found
216
+ * @param isAllWhenEmptyPrefix - If true, when the prefix provided as '', returns all the words in the trie.
217
+ * @returns {string[]} an array of strings.
218
+ */
219
+ getWords(prefix = '', max = Number.MAX_SAFE_INTEGER, isAllWhenEmptyPrefix = false) {
220
+ prefix = this._caseProcess(prefix);
221
+ const words = [];
222
+ let found = 0;
223
+ function dfs(node, word) {
224
+ for (const char of node.children.keys()) {
225
+ const charNode = node.children.get(char);
226
+ if (charNode !== undefined) {
227
+ dfs(charNode, word.concat(char));
228
+ }
229
+ }
230
+ if (node.isEnd) {
231
+ if (found > max - 1)
232
+ return;
233
+ words.push(word);
234
+ found++;
235
+ }
236
+ }
237
+ let startNode = this.root;
238
+ if (prefix) {
239
+ for (const c of prefix) {
240
+ const nodeC = startNode.children.get(c);
241
+ if (nodeC)
242
+ startNode = nodeC;
243
+ }
244
+ }
245
+ if (isAllWhenEmptyPrefix || startNode !== this.root)
246
+ dfs(startNode, prefix);
247
+ return words;
248
+ }
249
+ _caseProcess(str) {
250
+ if (!this._caseSensitive) {
251
+ str = str.toLowerCase(); // Convert str to lowercase if case-insensitive
252
+ }
253
+ return str;
254
+ }
255
+ }
256
+ exports.Trie = Trie;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./data-structures"), exports);
18
+ __exportStar(require("./utils"), exports);
19
+ __exportStar(require("./interfaces"), exports);
20
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,7 @@
1
+ import { BinaryTreeNode } from '../data-structures';
2
+ import { BinaryTreeDeletedResult, BinaryTreeNodeNested, BTNCallback, BTNKey } from '../types';
3
+ export interface IBinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNodeNested<V>> {
4
+ createNode(key: BTNKey, value?: N['value']): N;
5
+ add(keyOrNode: BTNKey | N | null, value?: N['value']): N | null | undefined;
6
+ delete<C extends BTNCallback<N>>(identifier: ReturnType<C> | null, callback: C): BinaryTreeDeletedResult<N>[];
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { VertexKey } from '../types';
2
+ export interface IGraph<V, E, VO, EO> {
3
+ createVertex(key: VertexKey, value?: V): VO;
4
+ createEdge(srcOrV1: VertexKey, destOrV2: VertexKey, weight?: number, value?: E): EO;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export * from './graph';
2
+ export * from './binary-tree';
3
+ export * from './doubly-linked-list';
4
+ export * from './heap';
5
+ export * from './navigator';
6
+ export * from './priority-queue';
7
+ export * from './segment-tree';
8
+ export * from './singly-linked-list';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./graph"), exports);
18
+ __exportStar(require("./binary-tree"), exports);
19
+ __exportStar(require("./doubly-linked-list"), exports);
20
+ __exportStar(require("./heap"), exports);
21
+ __exportStar(require("./navigator"), exports);
22
+ __exportStar(require("./priority-queue"), exports);
23
+ __exportStar(require("./segment-tree"), exports);
24
+ __exportStar(require("./singly-linked-list"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { AVLTreeNode } from '../../../data-structures';
2
+ import { BSTOptions } from './bst';
3
+ export type AVLTreeNodeNested<T> = AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, AVLTreeNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
4
+ export type AVLTreeOptions = BSTOptions & {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,29 @@
1
+ import { BinaryTreeNode } from '../../../data-structures';
2
+ /**
3
+ * Enum representing different loop types.
4
+ *
5
+ * - `iterative`: Indicates the iterative loop type (with loops that use iterations).
6
+ * - `recursive`: Indicates the recursive loop type (with loops that call themselves).
7
+ */
8
+ export declare enum IterationType {
9
+ ITERATIVE = "ITERATIVE",
10
+ RECURSIVE = "RECURSIVE"
11
+ }
12
+ export declare enum FamilyPosition {
13
+ ROOT = "ROOT",
14
+ LEFT = "LEFT",
15
+ RIGHT = "RIGHT",
16
+ ROOT_LEFT = "ROOT_LEFT",
17
+ ROOT_RIGHT = "ROOT_RIGHT",
18
+ ISOLATED = "ISOLATED",
19
+ MAL_NODE = "MAL_NODE"
20
+ }
21
+ export type BTNKey = number;
22
+ export type BinaryTreeDeletedResult<N> = {
23
+ deleted: N | null | undefined;
24
+ needBalanced: N | null;
25
+ };
26
+ export type BinaryTreeNodeNested<T> = BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
27
+ export type BinaryTreeOptions = {
28
+ iterationType?: IterationType;
29
+ };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FamilyPosition = exports.IterationType = void 0;
4
+ /**
5
+ * Enum representing different loop types.
6
+ *
7
+ * - `iterative`: Indicates the iterative loop type (with loops that use iterations).
8
+ * - `recursive`: Indicates the recursive loop type (with loops that call themselves).
9
+ */
10
+ var IterationType;
11
+ (function (IterationType) {
12
+ IterationType["ITERATIVE"] = "ITERATIVE";
13
+ IterationType["RECURSIVE"] = "RECURSIVE";
14
+ })(IterationType || (exports.IterationType = IterationType = {}));
15
+ var FamilyPosition;
16
+ (function (FamilyPosition) {
17
+ FamilyPosition["ROOT"] = "ROOT";
18
+ FamilyPosition["LEFT"] = "LEFT";
19
+ FamilyPosition["RIGHT"] = "RIGHT";
20
+ FamilyPosition["ROOT_LEFT"] = "ROOT_LEFT";
21
+ FamilyPosition["ROOT_RIGHT"] = "ROOT_RIGHT";
22
+ FamilyPosition["ISOLATED"] = "ISOLATED";
23
+ FamilyPosition["MAL_NODE"] = "MAL_NODE";
24
+ })(FamilyPosition || (exports.FamilyPosition = FamilyPosition = {}));
@@ -0,0 +1,7 @@
1
+ import { BSTNode } from '../../../data-structures';
2
+ import type { BinaryTreeOptions, BTNKey } from './binary-tree';
3
+ export type BSTComparator = (a: BTNKey, b: BTNKey) => number;
4
+ export type BSTNodeNested<T> = BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
5
+ export type BSTOptions = BinaryTreeOptions & {
6
+ comparator?: BSTComparator;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ export * from './binary-tree';
2
+ export * from './bst';
3
+ export * from './avl-tree';
4
+ export * from './segment-tree';
5
+ export * from './tree-multiset';
6
+ export * from './rb-tree';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./binary-tree"), exports);
18
+ __exportStar(require("./bst"), exports);
19
+ __exportStar(require("./avl-tree"), exports);
20
+ __exportStar(require("./segment-tree"), exports);
21
+ __exportStar(require("./tree-multiset"), exports);
22
+ __exportStar(require("./rb-tree"), exports);
@@ -0,0 +1,8 @@
1
+ import { BinaryTreeOptions } from './binary-tree';
2
+ import { RBTreeNode } from '../../../data-structures';
3
+ export declare enum RBColor {
4
+ RED = "RED",
5
+ BLACK = "BLACK"
6
+ }
7
+ export type RBTreeNodeNested<T> = RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, RBTreeNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
8
+ export type RBTreeOptions = BinaryTreeOptions & {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RBColor = void 0;
4
+ var RBColor;
5
+ (function (RBColor) {
6
+ RBColor["RED"] = "RED";
7
+ RBColor["BLACK"] = "BLACK";
8
+ })(RBColor || (exports.RBColor = RBColor = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { TreeMultisetNode } from '../../../data-structures';
2
+ import { AVLTreeOptions } from './avl-tree';
3
+ export type TreeMultisetNodeNested<T> = TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, TreeMultisetNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
4
+ export type TreeMultisetOptions = Omit<AVLTreeOptions, 'isMergeDuplicatedNodeByKey'> & {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ export type VertexKey = string | number;
2
+ export type DijkstraResult<V> = {
3
+ distMap: Map<V, number>;
4
+ distPaths?: Map<V, V[]>;
5
+ preMap: Map<V, V | null>;
6
+ seen: Set<V>;
7
+ paths: V[][];
8
+ minDist: number;
9
+ minPath: V[];
10
+ } | null;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TopologicalProperty = void 0;
4
+ var TopologicalProperty;
5
+ (function (TopologicalProperty) {
6
+ TopologicalProperty["VAL"] = "VAL";
7
+ TopologicalProperty["NODE"] = "NODE";
8
+ TopologicalProperty["ID"] = "ID";
9
+ })(TopologicalProperty || (exports.TopologicalProperty = TopologicalProperty = {}));
@@ -0,0 +1,3 @@
1
+ export * from './abstract-graph';
2
+ export * from './map-graph';
3
+ export * from './directed-graph';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./abstract-graph"), exports);
18
+ __exportStar(require("./map-graph"), exports);
19
+ __exportStar(require("./directed-graph"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './heap';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./heap"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });