data-structure-typed 2.1.0 → 2.1.1

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 (704) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/COMMANDS.md +13 -3
  3. package/README.md +5 -34
  4. package/benchmark/report.html +1 -1
  5. package/benchmark/report.json +101 -101
  6. package/dist/cjs/index.cjs +13062 -0
  7. package/dist/cjs/index.cjs.map +1 -0
  8. package/dist/esm/index.mjs +12984 -0
  9. package/dist/esm/index.mjs.map +1 -0
  10. package/dist/index.cjs +13091 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.js +13013 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/{cjs → types}/data-structures/binary-tree/avl-tree-counter.d.ts +4 -4
  15. package/dist/{esm → types}/data-structures/binary-tree/avl-tree-multi-map.d.ts +5 -5
  16. package/dist/{esm → types}/data-structures/binary-tree/avl-tree.d.ts +4 -4
  17. package/dist/{esm → types}/data-structures/binary-tree/binary-tree.d.ts +5 -5
  18. package/dist/{esm → types}/data-structures/binary-tree/bst.d.ts +5 -5
  19. package/dist/{esm → types}/data-structures/binary-tree/red-black-tree.d.ts +5 -5
  20. package/dist/{cjs → types}/data-structures/binary-tree/tree-counter.d.ts +4 -4
  21. package/dist/{cjs → types}/data-structures/binary-tree/tree-multi-map.d.ts +5 -5
  22. package/dist/{esm → types}/interfaces/binary-tree.d.ts +2 -2
  23. package/dist/umd/data-structure-typed.js +12 -11
  24. package/dist/umd/data-structure-typed.js.map +1 -0
  25. package/dist/umd/data-structure-typed.min.js +2 -2
  26. package/dist/umd/data-structure-typed.min.js.map +1 -1
  27. package/jest.integration.config.js +3 -0
  28. package/package.json +13 -11
  29. package/src/data-structures/binary-tree/avl-tree-counter.ts +4 -7
  30. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +5 -10
  31. package/src/data-structures/binary-tree/avl-tree.ts +4 -6
  32. package/src/data-structures/binary-tree/binary-tree.ts +14 -16
  33. package/src/data-structures/binary-tree/bst.ts +5 -10
  34. package/src/data-structures/binary-tree/red-black-tree.ts +5 -10
  35. package/src/data-structures/binary-tree/tree-counter.ts +4 -9
  36. package/src/data-structures/binary-tree/tree-multi-map.ts +5 -10
  37. package/src/interfaces/binary-tree.ts +2 -2
  38. package/test/integration/all-in-one.test.ts +1 -1
  39. package/test/performance/data-structures/comparison/comparison.test.ts +27 -57
  40. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +109 -1
  41. package/tsconfig-base.json +20 -20
  42. package/tsconfig-types.json +17 -0
  43. package/tsconfig.test.json +8 -0
  44. package/tsup.config.js +11 -22
  45. package/tsup.node.config.ts +37 -0
  46. package/dist/cjs/common/index.js +0 -29
  47. package/dist/cjs/common/index.js.map +0 -1
  48. package/dist/cjs/data-structures/base/index.js +0 -19
  49. package/dist/cjs/data-structures/base/index.js.map +0 -1
  50. package/dist/cjs/data-structures/base/iterable-element-base.js +0 -244
  51. package/dist/cjs/data-structures/base/iterable-element-base.js.map +0 -1
  52. package/dist/cjs/data-structures/base/iterable-entry-base.js +0 -184
  53. package/dist/cjs/data-structures/base/iterable-entry-base.js.map +0 -1
  54. package/dist/cjs/data-structures/base/linear-base.js +0 -416
  55. package/dist/cjs/data-structures/base/linear-base.js.map +0 -1
  56. package/dist/cjs/data-structures/binary-tree/avl-tree-counter.js +0 -375
  57. package/dist/cjs/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  58. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -135
  59. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +0 -251
  60. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  61. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +0 -291
  62. package/dist/cjs/data-structures/binary-tree/avl-tree.js +0 -612
  63. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +0 -1
  64. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js +0 -295
  65. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  66. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +0 -754
  67. package/dist/cjs/data-structures/binary-tree/binary-tree.js +0 -1926
  68. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +0 -1
  69. package/dist/cjs/data-structures/binary-tree/bst.d.ts +0 -413
  70. package/dist/cjs/data-structures/binary-tree/bst.js +0 -904
  71. package/dist/cjs/data-structures/binary-tree/bst.js.map +0 -1
  72. package/dist/cjs/data-structures/binary-tree/index.js +0 -27
  73. package/dist/cjs/data-structures/binary-tree/index.js.map +0 -1
  74. package/dist/cjs/data-structures/binary-tree/red-black-tree.d.ts +0 -208
  75. package/dist/cjs/data-structures/binary-tree/red-black-tree.js +0 -547
  76. package/dist/cjs/data-structures/binary-tree/red-black-tree.js.map +0 -1
  77. package/dist/cjs/data-structures/binary-tree/segment-tree.js +0 -298
  78. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +0 -1
  79. package/dist/cjs/data-structures/binary-tree/tree-counter.js +0 -414
  80. package/dist/cjs/data-structures/binary-tree/tree-counter.js.map +0 -1
  81. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +0 -385
  82. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  83. package/dist/cjs/data-structures/graph/abstract-graph.js +0 -897
  84. package/dist/cjs/data-structures/graph/abstract-graph.js.map +0 -1
  85. package/dist/cjs/data-structures/graph/directed-graph.js +0 -526
  86. package/dist/cjs/data-structures/graph/directed-graph.js.map +0 -1
  87. package/dist/cjs/data-structures/graph/index.js +0 -21
  88. package/dist/cjs/data-structures/graph/index.js.map +0 -1
  89. package/dist/cjs/data-structures/graph/map-graph.js +0 -108
  90. package/dist/cjs/data-structures/graph/map-graph.js.map +0 -1
  91. package/dist/cjs/data-structures/graph/undirected-graph.js +0 -425
  92. package/dist/cjs/data-structures/graph/undirected-graph.js.map +0 -1
  93. package/dist/cjs/data-structures/hash/hash-map.js +0 -693
  94. package/dist/cjs/data-structures/hash/hash-map.js.map +0 -1
  95. package/dist/cjs/data-structures/hash/index.js +0 -18
  96. package/dist/cjs/data-structures/hash/index.js.map +0 -1
  97. package/dist/cjs/data-structures/heap/heap.js +0 -902
  98. package/dist/cjs/data-structures/heap/heap.js.map +0 -1
  99. package/dist/cjs/data-structures/heap/index.js +0 -20
  100. package/dist/cjs/data-structures/heap/index.js.map +0 -1
  101. package/dist/cjs/data-structures/heap/max-heap.js +0 -41
  102. package/dist/cjs/data-structures/heap/max-heap.js.map +0 -1
  103. package/dist/cjs/data-structures/heap/min-heap.js +0 -32
  104. package/dist/cjs/data-structures/heap/min-heap.js.map +0 -1
  105. package/dist/cjs/data-structures/index.js +0 -29
  106. package/dist/cjs/data-structures/index.js.map +0 -1
  107. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +0 -1112
  108. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  109. package/dist/cjs/data-structures/linked-list/index.js +0 -20
  110. package/dist/cjs/data-structures/linked-list/index.js.map +0 -1
  111. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +0 -851
  112. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +0 -1
  113. package/dist/cjs/data-structures/linked-list/skip-linked-list.js +0 -145
  114. package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +0 -1
  115. package/dist/cjs/data-structures/matrix/index.js +0 -19
  116. package/dist/cjs/data-structures/matrix/index.js.map +0 -1
  117. package/dist/cjs/data-structures/matrix/matrix.js +0 -449
  118. package/dist/cjs/data-structures/matrix/matrix.js.map +0 -1
  119. package/dist/cjs/data-structures/matrix/navigator.js +0 -112
  120. package/dist/cjs/data-structures/matrix/navigator.js.map +0 -1
  121. package/dist/cjs/data-structures/priority-queue/index.js +0 -20
  122. package/dist/cjs/data-structures/priority-queue/index.js.map +0 -1
  123. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js +0 -35
  124. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  125. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js +0 -25
  126. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  127. package/dist/cjs/data-structures/priority-queue/priority-queue.js +0 -21
  128. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +0 -1
  129. package/dist/cjs/data-structures/queue/deque.js +0 -880
  130. package/dist/cjs/data-structures/queue/deque.js.map +0 -1
  131. package/dist/cjs/data-structures/queue/index.js +0 -19
  132. package/dist/cjs/data-structures/queue/index.js.map +0 -1
  133. package/dist/cjs/data-structures/queue/queue.js +0 -474
  134. package/dist/cjs/data-structures/queue/queue.js.map +0 -1
  135. package/dist/cjs/data-structures/stack/index.js +0 -18
  136. package/dist/cjs/data-structures/stack/index.js.map +0 -1
  137. package/dist/cjs/data-structures/stack/stack.js +0 -402
  138. package/dist/cjs/data-structures/stack/stack.js.map +0 -1
  139. package/dist/cjs/data-structures/tree/index.js +0 -18
  140. package/dist/cjs/data-structures/tree/index.js.map +0 -1
  141. package/dist/cjs/data-structures/tree/tree.js +0 -108
  142. package/dist/cjs/data-structures/tree/tree.js.map +0 -1
  143. package/dist/cjs/data-structures/trie/index.js +0 -18
  144. package/dist/cjs/data-structures/trie/index.js.map +0 -1
  145. package/dist/cjs/data-structures/trie/trie.js +0 -611
  146. package/dist/cjs/data-structures/trie/trie.js.map +0 -1
  147. package/dist/cjs/index.js +0 -22
  148. package/dist/cjs/index.js.map +0 -1
  149. package/dist/cjs/interfaces/binary-tree.d.ts +0 -59
  150. package/dist/cjs/interfaces/binary-tree.js +0 -3
  151. package/dist/cjs/interfaces/binary-tree.js.map +0 -1
  152. package/dist/cjs/interfaces/doubly-linked-list.js +0 -3
  153. package/dist/cjs/interfaces/doubly-linked-list.js.map +0 -1
  154. package/dist/cjs/interfaces/graph.js +0 -3
  155. package/dist/cjs/interfaces/graph.js.map +0 -1
  156. package/dist/cjs/interfaces/heap.js +0 -3
  157. package/dist/cjs/interfaces/heap.js.map +0 -1
  158. package/dist/cjs/interfaces/index.js +0 -25
  159. package/dist/cjs/interfaces/index.js.map +0 -1
  160. package/dist/cjs/interfaces/navigator.js +0 -3
  161. package/dist/cjs/interfaces/navigator.js.map +0 -1
  162. package/dist/cjs/interfaces/priority-queue.js +0 -3
  163. package/dist/cjs/interfaces/priority-queue.js.map +0 -1
  164. package/dist/cjs/interfaces/segment-tree.js +0 -3
  165. package/dist/cjs/interfaces/segment-tree.js.map +0 -1
  166. package/dist/cjs/interfaces/singly-linked-list.js +0 -3
  167. package/dist/cjs/interfaces/singly-linked-list.js.map +0 -1
  168. package/dist/cjs/types/common.js +0 -3
  169. package/dist/cjs/types/common.js.map +0 -1
  170. package/dist/cjs/types/data-structures/base/base.js +0 -3
  171. package/dist/cjs/types/data-structures/base/base.js.map +0 -1
  172. package/dist/cjs/types/data-structures/base/index.js +0 -18
  173. package/dist/cjs/types/data-structures/base/index.js.map +0 -1
  174. package/dist/cjs/types/data-structures/binary-tree/avl-tree-counter.js +0 -3
  175. package/dist/cjs/types/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  176. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js +0 -3
  177. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  178. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js +0 -3
  179. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js.map +0 -1
  180. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js +0 -3
  181. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  182. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js +0 -3
  183. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +0 -1
  184. package/dist/cjs/types/data-structures/binary-tree/bst.js +0 -3
  185. package/dist/cjs/types/data-structures/binary-tree/bst.js.map +0 -1
  186. package/dist/cjs/types/data-structures/binary-tree/index.js +0 -26
  187. package/dist/cjs/types/data-structures/binary-tree/index.js.map +0 -1
  188. package/dist/cjs/types/data-structures/binary-tree/red-black-tree.js +0 -3
  189. package/dist/cjs/types/data-structures/binary-tree/red-black-tree.js.map +0 -1
  190. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js +0 -3
  191. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +0 -1
  192. package/dist/cjs/types/data-structures/binary-tree/tree-counter.js +0 -3
  193. package/dist/cjs/types/data-structures/binary-tree/tree-counter.js.map +0 -1
  194. package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js +0 -3
  195. package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  196. package/dist/cjs/types/data-structures/graph/abstract-graph.js +0 -3
  197. package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +0 -1
  198. package/dist/cjs/types/data-structures/graph/directed-graph.js +0 -3
  199. package/dist/cjs/types/data-structures/graph/directed-graph.js.map +0 -1
  200. package/dist/cjs/types/data-structures/graph/index.js +0 -20
  201. package/dist/cjs/types/data-structures/graph/index.js.map +0 -1
  202. package/dist/cjs/types/data-structures/graph/map-graph.js +0 -3
  203. package/dist/cjs/types/data-structures/graph/map-graph.js.map +0 -1
  204. package/dist/cjs/types/data-structures/graph/undirected-graph.js +0 -3
  205. package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +0 -1
  206. package/dist/cjs/types/data-structures/hash/hash-map.js +0 -3
  207. package/dist/cjs/types/data-structures/hash/hash-map.js.map +0 -1
  208. package/dist/cjs/types/data-structures/hash/index.js +0 -18
  209. package/dist/cjs/types/data-structures/hash/index.js.map +0 -1
  210. package/dist/cjs/types/data-structures/heap/heap.js +0 -3
  211. package/dist/cjs/types/data-structures/heap/heap.js.map +0 -1
  212. package/dist/cjs/types/data-structures/heap/index.js +0 -18
  213. package/dist/cjs/types/data-structures/heap/index.js.map +0 -1
  214. package/dist/cjs/types/data-structures/heap/max-heap.js +0 -3
  215. package/dist/cjs/types/data-structures/heap/max-heap.js.map +0 -1
  216. package/dist/cjs/types/data-structures/heap/min-heap.js +0 -3
  217. package/dist/cjs/types/data-structures/heap/min-heap.js.map +0 -1
  218. package/dist/cjs/types/data-structures/index.js +0 -29
  219. package/dist/cjs/types/data-structures/index.js.map +0 -1
  220. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js +0 -3
  221. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  222. package/dist/cjs/types/data-structures/linked-list/index.js +0 -20
  223. package/dist/cjs/types/data-structures/linked-list/index.js.map +0 -1
  224. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js +0 -3
  225. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
  226. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js +0 -3
  227. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
  228. package/dist/cjs/types/data-structures/matrix/index.js +0 -19
  229. package/dist/cjs/types/data-structures/matrix/index.js.map +0 -1
  230. package/dist/cjs/types/data-structures/matrix/matrix.js +0 -3
  231. package/dist/cjs/types/data-structures/matrix/matrix.js.map +0 -1
  232. package/dist/cjs/types/data-structures/matrix/navigator.js +0 -3
  233. package/dist/cjs/types/data-structures/matrix/navigator.js.map +0 -1
  234. package/dist/cjs/types/data-structures/priority-queue/index.js +0 -20
  235. package/dist/cjs/types/data-structures/priority-queue/index.js.map +0 -1
  236. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js +0 -3
  237. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  238. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js +0 -3
  239. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  240. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js +0 -3
  241. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js.map +0 -1
  242. package/dist/cjs/types/data-structures/queue/deque.js +0 -3
  243. package/dist/cjs/types/data-structures/queue/deque.js.map +0 -1
  244. package/dist/cjs/types/data-structures/queue/index.js +0 -19
  245. package/dist/cjs/types/data-structures/queue/index.js.map +0 -1
  246. package/dist/cjs/types/data-structures/queue/queue.js +0 -3
  247. package/dist/cjs/types/data-structures/queue/queue.js.map +0 -1
  248. package/dist/cjs/types/data-structures/stack/index.js +0 -18
  249. package/dist/cjs/types/data-structures/stack/index.js.map +0 -1
  250. package/dist/cjs/types/data-structures/stack/stack.js +0 -3
  251. package/dist/cjs/types/data-structures/stack/stack.js.map +0 -1
  252. package/dist/cjs/types/data-structures/tree/index.js +0 -18
  253. package/dist/cjs/types/data-structures/tree/index.js.map +0 -1
  254. package/dist/cjs/types/data-structures/tree/tree.js +0 -3
  255. package/dist/cjs/types/data-structures/tree/tree.js.map +0 -1
  256. package/dist/cjs/types/data-structures/trie/index.js +0 -18
  257. package/dist/cjs/types/data-structures/trie/index.js.map +0 -1
  258. package/dist/cjs/types/data-structures/trie/trie.js +0 -3
  259. package/dist/cjs/types/data-structures/trie/trie.js.map +0 -1
  260. package/dist/cjs/types/index.js +0 -20
  261. package/dist/cjs/types/index.js.map +0 -1
  262. package/dist/cjs/types/utils/index.js +0 -19
  263. package/dist/cjs/types/utils/index.js.map +0 -1
  264. package/dist/cjs/types/utils/utils.js +0 -3
  265. package/dist/cjs/types/utils/utils.js.map +0 -1
  266. package/dist/cjs/types/utils/validate-type.js +0 -3
  267. package/dist/cjs/types/utils/validate-type.js.map +0 -1
  268. package/dist/cjs/utils/index.js +0 -19
  269. package/dist/cjs/utils/index.js.map +0 -1
  270. package/dist/cjs/utils/number.js +0 -24
  271. package/dist/cjs/utils/number.js.map +0 -1
  272. package/dist/cjs/utils/utils.js +0 -354
  273. package/dist/cjs/utils/utils.js.map +0 -1
  274. package/dist/esm/common/index.d.ts +0 -12
  275. package/dist/esm/common/index.js +0 -29
  276. package/dist/esm/common/index.js.map +0 -1
  277. package/dist/esm/data-structures/base/index.d.ts +0 -2
  278. package/dist/esm/data-structures/base/index.js +0 -3
  279. package/dist/esm/data-structures/base/index.js.map +0 -1
  280. package/dist/esm/data-structures/base/iterable-element-base.d.ts +0 -219
  281. package/dist/esm/data-structures/base/iterable-element-base.js +0 -247
  282. package/dist/esm/data-structures/base/iterable-element-base.js.map +0 -1
  283. package/dist/esm/data-structures/base/iterable-entry-base.d.ts +0 -144
  284. package/dist/esm/data-structures/base/iterable-entry-base.js +0 -180
  285. package/dist/esm/data-structures/base/iterable-entry-base.js.map +0 -1
  286. package/dist/esm/data-structures/base/linear-base.d.ts +0 -335
  287. package/dist/esm/data-structures/base/linear-base.js +0 -412
  288. package/dist/esm/data-structures/base/linear-base.js.map +0 -1
  289. package/dist/esm/data-structures/binary-tree/avl-tree-counter.d.ts +0 -182
  290. package/dist/esm/data-structures/binary-tree/avl-tree-counter.js +0 -369
  291. package/dist/esm/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  292. package/dist/esm/data-structures/binary-tree/avl-tree-multi-map.js +0 -244
  293. package/dist/esm/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  294. package/dist/esm/data-structures/binary-tree/avl-tree.js +0 -607
  295. package/dist/esm/data-structures/binary-tree/avl-tree.js.map +0 -1
  296. package/dist/esm/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -174
  297. package/dist/esm/data-structures/binary-tree/binary-indexed-tree.js +0 -296
  298. package/dist/esm/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  299. package/dist/esm/data-structures/binary-tree/binary-tree.js +0 -1922
  300. package/dist/esm/data-structures/binary-tree/binary-tree.js.map +0 -1
  301. package/dist/esm/data-structures/binary-tree/bst.js +0 -901
  302. package/dist/esm/data-structures/binary-tree/bst.js.map +0 -1
  303. package/dist/esm/data-structures/binary-tree/index.d.ts +0 -10
  304. package/dist/esm/data-structures/binary-tree/index.js +0 -11
  305. package/dist/esm/data-structures/binary-tree/index.js.map +0 -1
  306. package/dist/esm/data-structures/binary-tree/red-black-tree.js +0 -540
  307. package/dist/esm/data-structures/binary-tree/red-black-tree.js.map +0 -1
  308. package/dist/esm/data-structures/binary-tree/segment-tree.d.ts +0 -160
  309. package/dist/esm/data-structures/binary-tree/segment-tree.js +0 -295
  310. package/dist/esm/data-structures/binary-tree/segment-tree.js.map +0 -1
  311. package/dist/esm/data-structures/binary-tree/tree-counter.d.ts +0 -190
  312. package/dist/esm/data-structures/binary-tree/tree-counter.js +0 -412
  313. package/dist/esm/data-structures/binary-tree/tree-counter.js.map +0 -1
  314. package/dist/esm/data-structures/binary-tree/tree-multi-map.d.ts +0 -270
  315. package/dist/esm/data-structures/binary-tree/tree-multi-map.js +0 -378
  316. package/dist/esm/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  317. package/dist/esm/data-structures/graph/abstract-graph.d.ts +0 -340
  318. package/dist/esm/data-structures/graph/abstract-graph.js +0 -892
  319. package/dist/esm/data-structures/graph/abstract-graph.js.map +0 -1
  320. package/dist/esm/data-structures/graph/directed-graph.d.ts +0 -207
  321. package/dist/esm/data-structures/graph/directed-graph.js +0 -521
  322. package/dist/esm/data-structures/graph/directed-graph.js.map +0 -1
  323. package/dist/esm/data-structures/graph/index.d.ts +0 -4
  324. package/dist/esm/data-structures/graph/index.js +0 -5
  325. package/dist/esm/data-structures/graph/index.js.map +0 -1
  326. package/dist/esm/data-structures/graph/map-graph.d.ts +0 -78
  327. package/dist/esm/data-structures/graph/map-graph.js +0 -105
  328. package/dist/esm/data-structures/graph/map-graph.js.map +0 -1
  329. package/dist/esm/data-structures/graph/undirected-graph.d.ts +0 -188
  330. package/dist/esm/data-structures/graph/undirected-graph.js +0 -418
  331. package/dist/esm/data-structures/graph/undirected-graph.js.map +0 -1
  332. package/dist/esm/data-structures/hash/hash-map.d.ts +0 -345
  333. package/dist/esm/data-structures/hash/hash-map.js +0 -691
  334. package/dist/esm/data-structures/hash/hash-map.js.map +0 -1
  335. package/dist/esm/data-structures/hash/index.d.ts +0 -1
  336. package/dist/esm/data-structures/hash/index.js +0 -2
  337. package/dist/esm/data-structures/hash/index.js.map +0 -1
  338. package/dist/esm/data-structures/heap/heap.d.ts +0 -503
  339. package/dist/esm/data-structures/heap/heap.js +0 -894
  340. package/dist/esm/data-structures/heap/heap.js.map +0 -1
  341. package/dist/esm/data-structures/heap/index.d.ts +0 -3
  342. package/dist/esm/data-structures/heap/index.js +0 -4
  343. package/dist/esm/data-structures/heap/index.js.map +0 -1
  344. package/dist/esm/data-structures/heap/max-heap.d.ts +0 -32
  345. package/dist/esm/data-structures/heap/max-heap.js +0 -40
  346. package/dist/esm/data-structures/heap/max-heap.js.map +0 -1
  347. package/dist/esm/data-structures/heap/min-heap.d.ts +0 -33
  348. package/dist/esm/data-structures/heap/min-heap.js +0 -28
  349. package/dist/esm/data-structures/heap/min-heap.js.map +0 -1
  350. package/dist/esm/data-structures/index.d.ts +0 -12
  351. package/dist/esm/data-structures/index.js +0 -13
  352. package/dist/esm/data-structures/index.js.map +0 -1
  353. package/dist/esm/data-structures/linked-list/doubly-linked-list.d.ts +0 -769
  354. package/dist/esm/data-structures/linked-list/doubly-linked-list.js +0 -1109
  355. package/dist/esm/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  356. package/dist/esm/data-structures/linked-list/index.d.ts +0 -3
  357. package/dist/esm/data-structures/linked-list/index.js +0 -4
  358. package/dist/esm/data-structures/linked-list/index.js.map +0 -1
  359. package/dist/esm/data-structures/linked-list/singly-linked-list.d.ts +0 -451
  360. package/dist/esm/data-structures/linked-list/singly-linked-list.js +0 -847
  361. package/dist/esm/data-structures/linked-list/singly-linked-list.js.map +0 -1
  362. package/dist/esm/data-structures/linked-list/skip-linked-list.d.ts +0 -27
  363. package/dist/esm/data-structures/linked-list/skip-linked-list.js +0 -143
  364. package/dist/esm/data-structures/linked-list/skip-linked-list.js.map +0 -1
  365. package/dist/esm/data-structures/matrix/index.d.ts +0 -2
  366. package/dist/esm/data-structures/matrix/index.js +0 -3
  367. package/dist/esm/data-structures/matrix/index.js.map +0 -1
  368. package/dist/esm/data-structures/matrix/matrix.d.ts +0 -168
  369. package/dist/esm/data-structures/matrix/matrix.js +0 -444
  370. package/dist/esm/data-structures/matrix/matrix.js.map +0 -1
  371. package/dist/esm/data-structures/matrix/navigator.d.ts +0 -55
  372. package/dist/esm/data-structures/matrix/navigator.js +0 -114
  373. package/dist/esm/data-structures/matrix/navigator.js.map +0 -1
  374. package/dist/esm/data-structures/priority-queue/index.d.ts +0 -3
  375. package/dist/esm/data-structures/priority-queue/index.js +0 -4
  376. package/dist/esm/data-structures/priority-queue/index.js.map +0 -1
  377. package/dist/esm/data-structures/priority-queue/max-priority-queue.d.ts +0 -27
  378. package/dist/esm/data-structures/priority-queue/max-priority-queue.js +0 -34
  379. package/dist/esm/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  380. package/dist/esm/data-structures/priority-queue/min-priority-queue.d.ts +0 -26
  381. package/dist/esm/data-structures/priority-queue/min-priority-queue.js +0 -21
  382. package/dist/esm/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  383. package/dist/esm/data-structures/priority-queue/priority-queue.d.ts +0 -15
  384. package/dist/esm/data-structures/priority-queue/priority-queue.js +0 -17
  385. package/dist/esm/data-structures/priority-queue/priority-queue.js.map +0 -1
  386. package/dist/esm/data-structures/queue/deque.d.ts +0 -431
  387. package/dist/esm/data-structures/queue/deque.js +0 -880
  388. package/dist/esm/data-structures/queue/deque.js.map +0 -1
  389. package/dist/esm/data-structures/queue/index.d.ts +0 -2
  390. package/dist/esm/data-structures/queue/index.js +0 -3
  391. package/dist/esm/data-structures/queue/index.js.map +0 -1
  392. package/dist/esm/data-structures/queue/queue.d.ts +0 -308
  393. package/dist/esm/data-structures/queue/queue.js +0 -467
  394. package/dist/esm/data-structures/queue/queue.js.map +0 -1
  395. package/dist/esm/data-structures/stack/index.d.ts +0 -1
  396. package/dist/esm/data-structures/stack/index.js +0 -2
  397. package/dist/esm/data-structures/stack/index.js.map +0 -1
  398. package/dist/esm/data-structures/stack/stack.d.ts +0 -306
  399. package/dist/esm/data-structures/stack/stack.js +0 -398
  400. package/dist/esm/data-structures/stack/stack.js.map +0 -1
  401. package/dist/esm/data-structures/tree/index.d.ts +0 -1
  402. package/dist/esm/data-structures/tree/index.js +0 -2
  403. package/dist/esm/data-structures/tree/index.js.map +0 -1
  404. package/dist/esm/data-structures/tree/tree.d.ts +0 -62
  405. package/dist/esm/data-structures/tree/tree.js +0 -107
  406. package/dist/esm/data-structures/tree/tree.js.map +0 -1
  407. package/dist/esm/data-structures/trie/index.d.ts +0 -1
  408. package/dist/esm/data-structures/trie/index.js +0 -2
  409. package/dist/esm/data-structures/trie/index.js.map +0 -1
  410. package/dist/esm/data-structures/trie/trie.d.ts +0 -350
  411. package/dist/esm/data-structures/trie/trie.js +0 -613
  412. package/dist/esm/data-structures/trie/trie.js.map +0 -1
  413. package/dist/esm/index.d.ts +0 -5
  414. package/dist/esm/index.js +0 -6
  415. package/dist/esm/index.js.map +0 -1
  416. package/dist/esm/interfaces/binary-tree.js +0 -2
  417. package/dist/esm/interfaces/binary-tree.js.map +0 -1
  418. package/dist/esm/interfaces/doubly-linked-list.d.ts +0 -1
  419. package/dist/esm/interfaces/doubly-linked-list.js +0 -2
  420. package/dist/esm/interfaces/doubly-linked-list.js.map +0 -1
  421. package/dist/esm/interfaces/graph.d.ts +0 -21
  422. package/dist/esm/interfaces/graph.js +0 -2
  423. package/dist/esm/interfaces/graph.js.map +0 -1
  424. package/dist/esm/interfaces/heap.d.ts +0 -1
  425. package/dist/esm/interfaces/heap.js +0 -2
  426. package/dist/esm/interfaces/heap.js.map +0 -1
  427. package/dist/esm/interfaces/index.d.ts +0 -8
  428. package/dist/esm/interfaces/index.js +0 -9
  429. package/dist/esm/interfaces/index.js.map +0 -1
  430. package/dist/esm/interfaces/navigator.d.ts +0 -1
  431. package/dist/esm/interfaces/navigator.js +0 -2
  432. package/dist/esm/interfaces/navigator.js.map +0 -1
  433. package/dist/esm/interfaces/priority-queue.d.ts +0 -1
  434. package/dist/esm/interfaces/priority-queue.js +0 -2
  435. package/dist/esm/interfaces/priority-queue.js.map +0 -1
  436. package/dist/esm/interfaces/segment-tree.d.ts +0 -1
  437. package/dist/esm/interfaces/segment-tree.js +0 -2
  438. package/dist/esm/interfaces/segment-tree.js.map +0 -1
  439. package/dist/esm/interfaces/singly-linked-list.d.ts +0 -1
  440. package/dist/esm/interfaces/singly-linked-list.js +0 -2
  441. package/dist/esm/interfaces/singly-linked-list.js.map +0 -1
  442. package/dist/esm/types/common.d.ts +0 -15
  443. package/dist/esm/types/common.js +0 -2
  444. package/dist/esm/types/common.js.map +0 -1
  445. package/dist/esm/types/data-structures/base/base.d.ts +0 -13
  446. package/dist/esm/types/data-structures/base/base.js +0 -2
  447. package/dist/esm/types/data-structures/base/base.js.map +0 -1
  448. package/dist/esm/types/data-structures/base/index.d.ts +0 -1
  449. package/dist/esm/types/data-structures/base/index.js +0 -2
  450. package/dist/esm/types/data-structures/base/index.js.map +0 -1
  451. package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -2
  452. package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.js +0 -2
  453. package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  454. package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -2
  455. package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.js +0 -2
  456. package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  457. package/dist/esm/types/data-structures/binary-tree/avl-tree.d.ts +0 -2
  458. package/dist/esm/types/data-structures/binary-tree/avl-tree.js +0 -2
  459. package/dist/esm/types/data-structures/binary-tree/avl-tree.js.map +0 -1
  460. package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -1
  461. package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.js +0 -2
  462. package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  463. package/dist/esm/types/data-structures/binary-tree/binary-tree.d.ts +0 -29
  464. package/dist/esm/types/data-structures/binary-tree/binary-tree.js +0 -2
  465. package/dist/esm/types/data-structures/binary-tree/binary-tree.js.map +0 -1
  466. package/dist/esm/types/data-structures/binary-tree/bst.d.ts +0 -12
  467. package/dist/esm/types/data-structures/binary-tree/bst.js +0 -2
  468. package/dist/esm/types/data-structures/binary-tree/bst.js.map +0 -1
  469. package/dist/esm/types/data-structures/binary-tree/index.d.ts +0 -9
  470. package/dist/esm/types/data-structures/binary-tree/index.js +0 -10
  471. package/dist/esm/types/data-structures/binary-tree/index.js.map +0 -1
  472. package/dist/esm/types/data-structures/binary-tree/red-black-tree.d.ts +0 -3
  473. package/dist/esm/types/data-structures/binary-tree/red-black-tree.js +0 -2
  474. package/dist/esm/types/data-structures/binary-tree/red-black-tree.js.map +0 -1
  475. package/dist/esm/types/data-structures/binary-tree/segment-tree.d.ts +0 -1
  476. package/dist/esm/types/data-structures/binary-tree/segment-tree.js +0 -2
  477. package/dist/esm/types/data-structures/binary-tree/segment-tree.js.map +0 -1
  478. package/dist/esm/types/data-structures/binary-tree/tree-counter.d.ts +0 -2
  479. package/dist/esm/types/data-structures/binary-tree/tree-counter.js +0 -2
  480. package/dist/esm/types/data-structures/binary-tree/tree-counter.js.map +0 -1
  481. package/dist/esm/types/data-structures/binary-tree/tree-multi-map.d.ts +0 -2
  482. package/dist/esm/types/data-structures/binary-tree/tree-multi-map.js +0 -2
  483. package/dist/esm/types/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  484. package/dist/esm/types/data-structures/graph/abstract-graph.d.ts +0 -14
  485. package/dist/esm/types/data-structures/graph/abstract-graph.js +0 -2
  486. package/dist/esm/types/data-structures/graph/abstract-graph.js.map +0 -1
  487. package/dist/esm/types/data-structures/graph/directed-graph.d.ts +0 -1
  488. package/dist/esm/types/data-structures/graph/directed-graph.js +0 -2
  489. package/dist/esm/types/data-structures/graph/directed-graph.js.map +0 -1
  490. package/dist/esm/types/data-structures/graph/index.d.ts +0 -3
  491. package/dist/esm/types/data-structures/graph/index.js +0 -4
  492. package/dist/esm/types/data-structures/graph/index.js.map +0 -1
  493. package/dist/esm/types/data-structures/graph/map-graph.d.ts +0 -1
  494. package/dist/esm/types/data-structures/graph/map-graph.js +0 -2
  495. package/dist/esm/types/data-structures/graph/map-graph.js.map +0 -1
  496. package/dist/esm/types/data-structures/graph/undirected-graph.d.ts +0 -1
  497. package/dist/esm/types/data-structures/graph/undirected-graph.js +0 -2
  498. package/dist/esm/types/data-structures/graph/undirected-graph.js.map +0 -1
  499. package/dist/esm/types/data-structures/hash/hash-map.d.ts +0 -19
  500. package/dist/esm/types/data-structures/hash/hash-map.js +0 -2
  501. package/dist/esm/types/data-structures/hash/hash-map.js.map +0 -1
  502. package/dist/esm/types/data-structures/hash/index.d.ts +0 -2
  503. package/dist/esm/types/data-structures/hash/index.js +0 -2
  504. package/dist/esm/types/data-structures/hash/index.js.map +0 -1
  505. package/dist/esm/types/data-structures/heap/heap.d.ts +0 -5
  506. package/dist/esm/types/data-structures/heap/heap.js +0 -2
  507. package/dist/esm/types/data-structures/heap/heap.js.map +0 -1
  508. package/dist/esm/types/data-structures/heap/index.d.ts +0 -1
  509. package/dist/esm/types/data-structures/heap/index.js +0 -2
  510. package/dist/esm/types/data-structures/heap/index.js.map +0 -1
  511. package/dist/esm/types/data-structures/heap/max-heap.d.ts +0 -1
  512. package/dist/esm/types/data-structures/heap/max-heap.js +0 -2
  513. package/dist/esm/types/data-structures/heap/max-heap.js.map +0 -1
  514. package/dist/esm/types/data-structures/heap/min-heap.d.ts +0 -1
  515. package/dist/esm/types/data-structures/heap/min-heap.js +0 -2
  516. package/dist/esm/types/data-structures/heap/min-heap.js.map +0 -1
  517. package/dist/esm/types/data-structures/index.d.ts +0 -12
  518. package/dist/esm/types/data-structures/index.js +0 -13
  519. package/dist/esm/types/data-structures/index.js.map +0 -1
  520. package/dist/esm/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -2
  521. package/dist/esm/types/data-structures/linked-list/doubly-linked-list.js +0 -2
  522. package/dist/esm/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  523. package/dist/esm/types/data-structures/linked-list/index.d.ts +0 -3
  524. package/dist/esm/types/data-structures/linked-list/index.js +0 -4
  525. package/dist/esm/types/data-structures/linked-list/index.js.map +0 -1
  526. package/dist/esm/types/data-structures/linked-list/singly-linked-list.d.ts +0 -2
  527. package/dist/esm/types/data-structures/linked-list/singly-linked-list.js +0 -2
  528. package/dist/esm/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
  529. package/dist/esm/types/data-structures/linked-list/skip-linked-list.d.ts +0 -4
  530. package/dist/esm/types/data-structures/linked-list/skip-linked-list.js +0 -2
  531. package/dist/esm/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
  532. package/dist/esm/types/data-structures/matrix/index.d.ts +0 -2
  533. package/dist/esm/types/data-structures/matrix/index.js +0 -3
  534. package/dist/esm/types/data-structures/matrix/index.js.map +0 -1
  535. package/dist/esm/types/data-structures/matrix/matrix.d.ts +0 -7
  536. package/dist/esm/types/data-structures/matrix/matrix.js +0 -2
  537. package/dist/esm/types/data-structures/matrix/matrix.js.map +0 -1
  538. package/dist/esm/types/data-structures/matrix/navigator.d.ts +0 -14
  539. package/dist/esm/types/data-structures/matrix/navigator.js +0 -2
  540. package/dist/esm/types/data-structures/matrix/navigator.js.map +0 -1
  541. package/dist/esm/types/data-structures/priority-queue/index.d.ts +0 -3
  542. package/dist/esm/types/data-structures/priority-queue/index.js +0 -4
  543. package/dist/esm/types/data-structures/priority-queue/index.js.map +0 -1
  544. package/dist/esm/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -1
  545. package/dist/esm/types/data-structures/priority-queue/max-priority-queue.js +0 -2
  546. package/dist/esm/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  547. package/dist/esm/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -1
  548. package/dist/esm/types/data-structures/priority-queue/min-priority-queue.js +0 -2
  549. package/dist/esm/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  550. package/dist/esm/types/data-structures/priority-queue/priority-queue.d.ts +0 -2
  551. package/dist/esm/types/data-structures/priority-queue/priority-queue.js +0 -2
  552. package/dist/esm/types/data-structures/priority-queue/priority-queue.js.map +0 -1
  553. package/dist/esm/types/data-structures/queue/deque.d.ts +0 -4
  554. package/dist/esm/types/data-structures/queue/deque.js +0 -2
  555. package/dist/esm/types/data-structures/queue/deque.js.map +0 -1
  556. package/dist/esm/types/data-structures/queue/index.d.ts +0 -2
  557. package/dist/esm/types/data-structures/queue/index.js +0 -3
  558. package/dist/esm/types/data-structures/queue/index.js.map +0 -1
  559. package/dist/esm/types/data-structures/queue/queue.d.ts +0 -4
  560. package/dist/esm/types/data-structures/queue/queue.js +0 -2
  561. package/dist/esm/types/data-structures/queue/queue.js.map +0 -1
  562. package/dist/esm/types/data-structures/stack/index.d.ts +0 -1
  563. package/dist/esm/types/data-structures/stack/index.js +0 -2
  564. package/dist/esm/types/data-structures/stack/index.js.map +0 -1
  565. package/dist/esm/types/data-structures/stack/stack.d.ts +0 -2
  566. package/dist/esm/types/data-structures/stack/stack.js +0 -2
  567. package/dist/esm/types/data-structures/stack/stack.js.map +0 -1
  568. package/dist/esm/types/data-structures/tree/index.d.ts +0 -1
  569. package/dist/esm/types/data-structures/tree/index.js +0 -2
  570. package/dist/esm/types/data-structures/tree/index.js.map +0 -1
  571. package/dist/esm/types/data-structures/tree/tree.d.ts +0 -1
  572. package/dist/esm/types/data-structures/tree/tree.js +0 -2
  573. package/dist/esm/types/data-structures/tree/tree.js.map +0 -1
  574. package/dist/esm/types/data-structures/trie/index.d.ts +0 -1
  575. package/dist/esm/types/data-structures/trie/index.js +0 -2
  576. package/dist/esm/types/data-structures/trie/index.js.map +0 -1
  577. package/dist/esm/types/data-structures/trie/trie.d.ts +0 -4
  578. package/dist/esm/types/data-structures/trie/trie.js +0 -2
  579. package/dist/esm/types/data-structures/trie/trie.js.map +0 -1
  580. package/dist/esm/types/index.d.ts +0 -3
  581. package/dist/esm/types/index.js +0 -4
  582. package/dist/esm/types/index.js.map +0 -1
  583. package/dist/esm/types/utils/index.d.ts +0 -2
  584. package/dist/esm/types/utils/index.js +0 -3
  585. package/dist/esm/types/utils/index.js.map +0 -1
  586. package/dist/esm/types/utils/utils.d.ts +0 -22
  587. package/dist/esm/types/utils/utils.js +0 -2
  588. package/dist/esm/types/utils/utils.js.map +0 -1
  589. package/dist/esm/types/utils/validate-type.d.ts +0 -19
  590. package/dist/esm/types/utils/validate-type.js +0 -2
  591. package/dist/esm/types/utils/validate-type.js.map +0 -1
  592. package/dist/esm/utils/index.d.ts +0 -2
  593. package/dist/esm/utils/index.js +0 -3
  594. package/dist/esm/utils/index.js.map +0 -1
  595. package/dist/esm/utils/number.d.ts +0 -14
  596. package/dist/esm/utils/number.js +0 -21
  597. package/dist/esm/utils/number.js.map +0 -1
  598. package/dist/esm/utils/utils.d.ts +0 -209
  599. package/dist/esm/utils/utils.js +0 -325
  600. package/dist/esm/utils/utils.js.map +0 -1
  601. package/tsconfig-cjs.json +0 -14
  602. package/tsconfig-esm.json +0 -14
  603. /package/dist/{cjs → types}/common/index.d.ts +0 -0
  604. /package/dist/{cjs → types}/data-structures/base/index.d.ts +0 -0
  605. /package/dist/{cjs → types}/data-structures/base/iterable-element-base.d.ts +0 -0
  606. /package/dist/{cjs → types}/data-structures/base/iterable-entry-base.d.ts +0 -0
  607. /package/dist/{cjs → types}/data-structures/base/linear-base.d.ts +0 -0
  608. /package/dist/{cjs → types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  609. /package/dist/{cjs → types}/data-structures/binary-tree/index.d.ts +0 -0
  610. /package/dist/{cjs → types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  611. /package/dist/{cjs → types}/data-structures/graph/abstract-graph.d.ts +0 -0
  612. /package/dist/{cjs → types}/data-structures/graph/directed-graph.d.ts +0 -0
  613. /package/dist/{cjs → types}/data-structures/graph/index.d.ts +0 -0
  614. /package/dist/{cjs → types}/data-structures/graph/map-graph.d.ts +0 -0
  615. /package/dist/{cjs → types}/data-structures/graph/undirected-graph.d.ts +0 -0
  616. /package/dist/{cjs → types}/data-structures/hash/hash-map.d.ts +0 -0
  617. /package/dist/{cjs → types}/data-structures/hash/index.d.ts +0 -0
  618. /package/dist/{cjs → types}/data-structures/heap/heap.d.ts +0 -0
  619. /package/dist/{cjs → types}/data-structures/heap/index.d.ts +0 -0
  620. /package/dist/{cjs → types}/data-structures/heap/max-heap.d.ts +0 -0
  621. /package/dist/{cjs → types}/data-structures/heap/min-heap.d.ts +0 -0
  622. /package/dist/{cjs → types}/data-structures/index.d.ts +0 -0
  623. /package/dist/{cjs → types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  624. /package/dist/{cjs → types}/data-structures/linked-list/index.d.ts +0 -0
  625. /package/dist/{cjs → types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  626. /package/dist/{cjs → types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  627. /package/dist/{cjs → types}/data-structures/matrix/index.d.ts +0 -0
  628. /package/dist/{cjs → types}/data-structures/matrix/matrix.d.ts +0 -0
  629. /package/dist/{cjs → types}/data-structures/matrix/navigator.d.ts +0 -0
  630. /package/dist/{cjs → types}/data-structures/priority-queue/index.d.ts +0 -0
  631. /package/dist/{cjs → types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  632. /package/dist/{cjs → types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  633. /package/dist/{cjs → types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  634. /package/dist/{cjs → types}/data-structures/queue/deque.d.ts +0 -0
  635. /package/dist/{cjs → types}/data-structures/queue/index.d.ts +0 -0
  636. /package/dist/{cjs → types}/data-structures/queue/queue.d.ts +0 -0
  637. /package/dist/{cjs → types}/data-structures/stack/index.d.ts +0 -0
  638. /package/dist/{cjs → types}/data-structures/stack/stack.d.ts +0 -0
  639. /package/dist/{cjs → types}/data-structures/tree/index.d.ts +0 -0
  640. /package/dist/{cjs → types}/data-structures/tree/tree.d.ts +0 -0
  641. /package/dist/{cjs → types}/data-structures/trie/index.d.ts +0 -0
  642. /package/dist/{cjs → types}/data-structures/trie/trie.d.ts +0 -0
  643. /package/dist/{cjs → types}/index.d.ts +0 -0
  644. /package/dist/{cjs → types}/interfaces/doubly-linked-list.d.ts +0 -0
  645. /package/dist/{cjs → types}/interfaces/graph.d.ts +0 -0
  646. /package/dist/{cjs → types}/interfaces/heap.d.ts +0 -0
  647. /package/dist/{cjs → types}/interfaces/index.d.ts +0 -0
  648. /package/dist/{cjs → types}/interfaces/navigator.d.ts +0 -0
  649. /package/dist/{cjs → types}/interfaces/priority-queue.d.ts +0 -0
  650. /package/dist/{cjs → types}/interfaces/segment-tree.d.ts +0 -0
  651. /package/dist/{cjs → types}/interfaces/singly-linked-list.d.ts +0 -0
  652. /package/dist/{cjs → types}/types/common.d.ts +0 -0
  653. /package/dist/{cjs → types}/types/data-structures/base/base.d.ts +0 -0
  654. /package/dist/{cjs → types}/types/data-structures/base/index.d.ts +0 -0
  655. /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -0
  656. /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -0
  657. /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree.d.ts +0 -0
  658. /package/dist/{cjs → types}/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  659. /package/dist/{cjs → types}/types/data-structures/binary-tree/binary-tree.d.ts +0 -0
  660. /package/dist/{cjs → types}/types/data-structures/binary-tree/bst.d.ts +0 -0
  661. /package/dist/{cjs → types}/types/data-structures/binary-tree/index.d.ts +0 -0
  662. /package/dist/{cjs → types}/types/data-structures/binary-tree/red-black-tree.d.ts +0 -0
  663. /package/dist/{cjs → types}/types/data-structures/binary-tree/segment-tree.d.ts +0 -0
  664. /package/dist/{cjs → types}/types/data-structures/binary-tree/tree-counter.d.ts +0 -0
  665. /package/dist/{cjs → types}/types/data-structures/binary-tree/tree-multi-map.d.ts +0 -0
  666. /package/dist/{cjs → types}/types/data-structures/graph/abstract-graph.d.ts +0 -0
  667. /package/dist/{cjs → types}/types/data-structures/graph/directed-graph.d.ts +0 -0
  668. /package/dist/{cjs → types}/types/data-structures/graph/index.d.ts +0 -0
  669. /package/dist/{cjs → types}/types/data-structures/graph/map-graph.d.ts +0 -0
  670. /package/dist/{cjs → types}/types/data-structures/graph/undirected-graph.d.ts +0 -0
  671. /package/dist/{cjs → types}/types/data-structures/hash/hash-map.d.ts +0 -0
  672. /package/dist/{cjs → types}/types/data-structures/hash/index.d.ts +0 -0
  673. /package/dist/{cjs → types}/types/data-structures/heap/heap.d.ts +0 -0
  674. /package/dist/{cjs → types}/types/data-structures/heap/index.d.ts +0 -0
  675. /package/dist/{cjs → types}/types/data-structures/heap/max-heap.d.ts +0 -0
  676. /package/dist/{cjs → types}/types/data-structures/heap/min-heap.d.ts +0 -0
  677. /package/dist/{cjs → types}/types/data-structures/index.d.ts +0 -0
  678. /package/dist/{cjs → types}/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  679. /package/dist/{cjs → types}/types/data-structures/linked-list/index.d.ts +0 -0
  680. /package/dist/{cjs → types}/types/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  681. /package/dist/{cjs → types}/types/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  682. /package/dist/{cjs → types}/types/data-structures/matrix/index.d.ts +0 -0
  683. /package/dist/{cjs → types}/types/data-structures/matrix/matrix.d.ts +0 -0
  684. /package/dist/{cjs → types}/types/data-structures/matrix/navigator.d.ts +0 -0
  685. /package/dist/{cjs → types}/types/data-structures/priority-queue/index.d.ts +0 -0
  686. /package/dist/{cjs → types}/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  687. /package/dist/{cjs → types}/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  688. /package/dist/{cjs → types}/types/data-structures/priority-queue/priority-queue.d.ts +0 -0
  689. /package/dist/{cjs → types}/types/data-structures/queue/deque.d.ts +0 -0
  690. /package/dist/{cjs → types}/types/data-structures/queue/index.d.ts +0 -0
  691. /package/dist/{cjs → types}/types/data-structures/queue/queue.d.ts +0 -0
  692. /package/dist/{cjs → types}/types/data-structures/stack/index.d.ts +0 -0
  693. /package/dist/{cjs → types}/types/data-structures/stack/stack.d.ts +0 -0
  694. /package/dist/{cjs → types}/types/data-structures/tree/index.d.ts +0 -0
  695. /package/dist/{cjs → types}/types/data-structures/tree/tree.d.ts +0 -0
  696. /package/dist/{cjs → types}/types/data-structures/trie/index.d.ts +0 -0
  697. /package/dist/{cjs → types}/types/data-structures/trie/trie.d.ts +0 -0
  698. /package/dist/{cjs → types}/types/index.d.ts +0 -0
  699. /package/dist/{cjs → types}/types/utils/index.d.ts +0 -0
  700. /package/dist/{cjs → types}/types/utils/utils.d.ts +0 -0
  701. /package/dist/{cjs → types}/types/utils/validate-type.d.ts +0 -0
  702. /package/dist/{cjs → types}/utils/index.d.ts +0 -0
  703. /package/dist/{cjs → types}/utils/number.d.ts +0 -0
  704. /package/dist/{cjs → types}/utils/utils.d.ts +0 -0
@@ -1,298 +0,0 @@
1
- "use strict";
2
- /**
3
- * data-structure-typed
4
- *
5
- * @author Pablo Zeng
6
- * @copyright Copyright (c) 2022 Pablo Zeng <zrwusa@gmail.com>
7
- * @license MIT License
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.SegmentTree = exports.SegmentTreeNode = void 0;
11
- class SegmentTreeNode {
12
- /**
13
- * The constructor initializes the properties of a SegmentTreeNode object.
14
- * @param {number} start - The `start` parameter represents the starting index of the segment covered
15
- * by this node in a segment tree.
16
- * @param {number} end - The `end` parameter represents the end index of the segment covered by this
17
- * node in a segment tree.
18
- * @param {number} sum - The `sum` parameter represents the sum of the values in the range covered by
19
- * the segment tree node.
20
- * @param {SegmentTreeNodeVal | undefined} [value] - The `value` parameter is an optional parameter
21
- * of type `SegmentTreeNodeVal`. It represents the value associated with the segment tree node.
22
- */
23
- constructor(start, end, sum, value) {
24
- this._start = 0;
25
- this._end = 0;
26
- this._value = undefined;
27
- this._sum = 0;
28
- this._left = undefined;
29
- this._right = undefined;
30
- this._start = start;
31
- this._end = end;
32
- this._sum = sum;
33
- this._value = value || undefined;
34
- }
35
- /**
36
- * The function returns the value of the protected variable _start.
37
- * @returns The start value, which is of type number.
38
- */
39
- get start() {
40
- return this._start;
41
- }
42
- /**
43
- * The above function sets the value of the "start" property.
44
- * @param {number} value - The value parameter is of type number.
45
- */
46
- set start(value) {
47
- this._start = value;
48
- }
49
- /**
50
- * The function returns the value of the protected variable `_end`.
51
- * @returns The value of the protected property `_end`.
52
- */
53
- get end() {
54
- return this._end;
55
- }
56
- /**
57
- * The above function sets the value of the "end" property.
58
- * @param {number} value - The value parameter is a number that represents the new value for the end
59
- * property.
60
- */
61
- set end(value) {
62
- this._end = value;
63
- }
64
- /**
65
- * The function returns the value of a segment tree node.
66
- * @returns The value being returned is either a `SegmentTreeNodeVal` object or `undefined`.
67
- */
68
- get value() {
69
- return this._value;
70
- }
71
- /**
72
- * The function sets the value of a segment tree node.
73
- * @param {SegmentTreeNodeVal | undefined} value - The `value` parameter is of type
74
- * `SegmentTreeNodeVal` or `undefined`.
75
- */
76
- set value(value) {
77
- this._value = value;
78
- }
79
- /**
80
- * The function returns the value of the sum property.
81
- * @returns The method is returning the value of the variable `_sum`.
82
- */
83
- get sum() {
84
- return this._sum;
85
- }
86
- /**
87
- * The above function sets the value of the sum property.
88
- * @param {number} value - The parameter "value" is of type "number".
89
- */
90
- set sum(value) {
91
- this._sum = value;
92
- }
93
- /**
94
- * The function returns the left child of a segment tree node.
95
- * @returns The `left` property of the `SegmentTreeNode` object is being returned. It is of type
96
- * `SegmentTreeNode` or `undefined`.
97
- */
98
- get left() {
99
- return this._left;
100
- }
101
- /**
102
- * The function sets the value of the left property of a SegmentTreeNode object.
103
- * @param {SegmentTreeNode | undefined} value - The value parameter is of type SegmentTreeNode or
104
- * undefined.
105
- */
106
- set left(value) {
107
- this._left = value;
108
- }
109
- /**
110
- * The function returns the right child of a segment tree node.
111
- * @returns The `getRight()` method is returning a value of type `SegmentTreeNode` or `undefined`.
112
- */
113
- get right() {
114
- return this._right;
115
- }
116
- /**
117
- * The function sets the right child of a segment tree node.
118
- * @param {SegmentTreeNode | undefined} value - The `value` parameter is of type `SegmentTreeNode |
119
- * undefined`. This means that it can accept either a `SegmentTreeNode` object or `undefined` as its
120
- * value.
121
- */
122
- set right(value) {
123
- this._right = value;
124
- }
125
- }
126
- exports.SegmentTreeNode = SegmentTreeNode;
127
- class SegmentTree {
128
- /**
129
- * The constructor initializes the values, start, end, and root properties of an object.
130
- * @param {number[]} values - An array of numbers that will be used to build a binary search tree.
131
- * @param {number} [start] - The `start` parameter is the index of the first element in the `values` array that should
132
- * be included in the range. If no value is provided for `start`, it defaults to 0, which means the range starts from
133
- * the beginning of the array.
134
- * @param {number} [end] - The "end" parameter is the index of the last element in the "values" array that should be
135
- * included in the range. If not provided, it defaults to the index of the last element in the "values" array.
136
- */
137
- constructor(values, start, end) {
138
- this._values = [];
139
- this._start = 0;
140
- start = start || 0;
141
- end = end || values.length - 1;
142
- this._values = values;
143
- this._start = start;
144
- this._end = end;
145
- if (values.length > 0) {
146
- this._root = this.build(start, end);
147
- }
148
- else {
149
- this._root = undefined;
150
- this._values = [];
151
- }
152
- }
153
- /**
154
- * The function returns an array of numbers.
155
- * @returns An array of numbers is being returned.
156
- */
157
- get values() {
158
- return this._values;
159
- }
160
- /**
161
- * The function returns the value of the protected variable _start.
162
- * @returns The start value, which is of type number.
163
- */
164
- get start() {
165
- return this._start;
166
- }
167
- /**
168
- * The function returns the value of the protected variable `_end`.
169
- * @returns The value of the protected property `_end`.
170
- */
171
- get end() {
172
- return this._end;
173
- }
174
- /**
175
- * The function returns the root node of a segment tree.
176
- * @returns The `root` property of the class `SegmentTreeNode` or `undefined` if it is not defined.
177
- */
178
- get root() {
179
- return this._root;
180
- }
181
- /**
182
- * The build function creates a segment tree by recursively dividing the given range into smaller segments and assigning
183
- * the sum of values to each segment.
184
- * @param {number} start - The `start` parameter represents the starting index of the segment or range for which we are
185
- * building the segment tree.
186
- * @param {number} end - The "end" parameter represents the ending index of the segment or range for which we want to
187
- * build a segment tree.
188
- * @returns a SegmentTreeNode object.
189
- */
190
- build(start, end) {
191
- if (start > end) {
192
- return new SegmentTreeNode(start, end, 0);
193
- }
194
- if (start === end)
195
- return new SegmentTreeNode(start, end, this._values[start]);
196
- const mid = start + Math.floor((end - start) / 2);
197
- const left = this.build(start, mid);
198
- const right = this.build(mid + 1, end);
199
- const cur = new SegmentTreeNode(start, end, left.sum + right.sum);
200
- cur.left = left;
201
- cur.right = right;
202
- return cur;
203
- }
204
- /**
205
- * The function updates the value of a node in a segment tree and recalculates the sum of its children if they exist.
206
- * @param {number} index - The index parameter represents the index of the node in the segment tree that needs to be
207
- * updated.
208
- * @param {number} sum - The `sum` parameter represents the new value that should be assigned to the `sum` property of
209
- * the `SegmentTreeNode` at the specified `index`.
210
- * @param {SegmentTreeNodeVal} [value] - The `value` parameter is an optional value that can be assigned to the `value`
211
- * property of the `SegmentTreeNode` object. It is not currently used in the code, but you can uncomment the line `//
212
- * cur.value = value;` and pass a value for `value` in the
213
- * @returns The function does not return anything.
214
- */
215
- updateNode(index, sum, value) {
216
- const root = this.root || undefined;
217
- if (!root) {
218
- return;
219
- }
220
- const dfs = (cur, index, sum, value) => {
221
- if (cur.start === cur.end && cur.start === index) {
222
- cur.sum = sum;
223
- if (value !== undefined)
224
- cur.value = value;
225
- return;
226
- }
227
- const mid = cur.start + Math.floor((cur.end - cur.start) / 2);
228
- if (index <= mid) {
229
- if (cur.left) {
230
- dfs(cur.left, index, sum, value);
231
- }
232
- }
233
- else {
234
- if (cur.right) {
235
- dfs(cur.right, index, sum, value);
236
- }
237
- }
238
- if (cur.left && cur.right) {
239
- cur.sum = cur.left.sum + cur.right.sum;
240
- }
241
- };
242
- dfs(root, index, sum, value);
243
- }
244
- /**
245
- * The function `querySumByRange` calculates the sum of values within a given range in a segment tree.
246
- * @param {number} indexA - The starting index of the range for which you want to calculate the sum.
247
- * @param {number} indexB - The parameter `indexB` represents the ending index of the range for which you want to
248
- * calculate the sum.
249
- * @returns The function `querySumByRange` returns a number.
250
- */
251
- querySumByRange(indexA, indexB) {
252
- const root = this.root || undefined;
253
- if (!root) {
254
- return 0;
255
- }
256
- if (indexA < 0 || indexB >= this.values.length || indexA > indexB) {
257
- return NaN;
258
- }
259
- const dfs = (cur, i, j) => {
260
- if (i <= cur.start && j >= cur.end) {
261
- // The range [i, j] completely covers the current node's range [cur.start, cur.end]
262
- return cur.sum;
263
- }
264
- const mid = cur.start + Math.floor((cur.end - cur.start) / 2);
265
- if (j <= mid) {
266
- if (cur.left) {
267
- return dfs(cur.left, i, j);
268
- }
269
- else {
270
- return NaN;
271
- }
272
- }
273
- else if (i > mid) {
274
- if (cur.right) {
275
- return dfs(cur.right, i, j);
276
- }
277
- else {
278
- return NaN;
279
- }
280
- }
281
- else {
282
- // Query both left and right subtrees
283
- let leftSum = 0;
284
- let rightSum = 0;
285
- if (cur.left) {
286
- leftSum = dfs(cur.left, i, mid);
287
- }
288
- if (cur.right) {
289
- rightSum = dfs(cur.right, mid + 1, j);
290
- }
291
- return leftSum + rightSum;
292
- }
293
- };
294
- return dfs(root, indexA, indexB);
295
- }
296
- }
297
- exports.SegmentTree = SegmentTree;
298
- //# sourceMappingURL=segment-tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"segment-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/segment-tree.ts"],"names":[],"mappings":"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"}