data-structure-typed 2.1.0 → 2.1.2

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 (711) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/COMMANDS.md +13 -3
  3. package/README.md +21 -38
  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/{cjs → types}/data-structures/binary-tree/avl-tree-counter.d.ts +5 -5
  11. package/dist/{esm → types}/data-structures/binary-tree/avl-tree-multi-map.d.ts +6 -6
  12. package/dist/{esm → types}/data-structures/binary-tree/avl-tree.d.ts +5 -5
  13. package/dist/{esm → types}/data-structures/binary-tree/binary-tree.d.ts +6 -6
  14. package/dist/{esm → types}/data-structures/binary-tree/bst.d.ts +6 -6
  15. package/dist/{esm → types}/data-structures/binary-tree/red-black-tree.d.ts +6 -6
  16. package/dist/{cjs → types}/data-structures/binary-tree/tree-counter.d.ts +5 -5
  17. package/dist/{cjs → types}/data-structures/binary-tree/tree-multi-map.d.ts +6 -6
  18. package/dist/{esm → types}/data-structures/heap/heap.d.ts +4 -4
  19. package/dist/{esm → types}/data-structures/linked-list/singly-linked-list.d.ts +1 -1
  20. package/dist/{esm → types}/interfaces/binary-tree.d.ts +3 -3
  21. package/dist/umd/data-structure-typed.js +97 -174
  22. package/dist/umd/data-structure-typed.js.map +1 -0
  23. package/dist/umd/data-structure-typed.min.js +2 -2
  24. package/dist/umd/data-structure-typed.min.js.map +1 -1
  25. package/jest.integration.config.js +8 -1
  26. package/package.json +20 -14
  27. package/src/data-structures/binary-tree/avl-tree-counter.ts +8 -11
  28. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +6 -11
  29. package/src/data-structures/binary-tree/avl-tree.ts +6 -8
  30. package/src/data-structures/binary-tree/binary-tree.ts +18 -20
  31. package/src/data-structures/binary-tree/bst.ts +6 -11
  32. package/src/data-structures/binary-tree/red-black-tree.ts +6 -11
  33. package/src/data-structures/binary-tree/tree-counter.ts +8 -13
  34. package/src/data-structures/binary-tree/tree-multi-map.ts +6 -11
  35. package/src/data-structures/heap/heap.ts +5 -5
  36. package/src/data-structures/linked-list/singly-linked-list.ts +2 -2
  37. package/src/interfaces/binary-tree.ts +3 -3
  38. package/test/integration/all-in-one.test.ts +1 -1
  39. package/test/integration/compile.test.mjs +159 -0
  40. package/test/integration/compile.test.ts +176 -0
  41. package/test/integration/heap.test.js +1 -1
  42. package/test/integration/index.html +1 -1
  43. package/test/performance/data-structures/comparison/comparison.test.ts +27 -57
  44. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +3 -3
  45. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +109 -1
  46. package/tsconfig.base.json +23 -0
  47. package/tsconfig.test.json +9 -0
  48. package/tsconfig.types.json +15 -0
  49. package/tsup.config.js +12 -24
  50. package/tsup.node.config.js +37 -0
  51. package/dist/cjs/common/index.js +0 -29
  52. package/dist/cjs/common/index.js.map +0 -1
  53. package/dist/cjs/data-structures/base/index.js +0 -19
  54. package/dist/cjs/data-structures/base/index.js.map +0 -1
  55. package/dist/cjs/data-structures/base/iterable-element-base.js +0 -244
  56. package/dist/cjs/data-structures/base/iterable-element-base.js.map +0 -1
  57. package/dist/cjs/data-structures/base/iterable-entry-base.js +0 -184
  58. package/dist/cjs/data-structures/base/iterable-entry-base.js.map +0 -1
  59. package/dist/cjs/data-structures/base/linear-base.js +0 -416
  60. package/dist/cjs/data-structures/base/linear-base.js.map +0 -1
  61. package/dist/cjs/data-structures/binary-tree/avl-tree-counter.js +0 -375
  62. package/dist/cjs/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  63. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -135
  64. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +0 -251
  65. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  66. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +0 -291
  67. package/dist/cjs/data-structures/binary-tree/avl-tree.js +0 -612
  68. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +0 -1
  69. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js +0 -295
  70. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  71. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +0 -754
  72. package/dist/cjs/data-structures/binary-tree/binary-tree.js +0 -1926
  73. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +0 -1
  74. package/dist/cjs/data-structures/binary-tree/bst.d.ts +0 -413
  75. package/dist/cjs/data-structures/binary-tree/bst.js +0 -904
  76. package/dist/cjs/data-structures/binary-tree/bst.js.map +0 -1
  77. package/dist/cjs/data-structures/binary-tree/index.js +0 -27
  78. package/dist/cjs/data-structures/binary-tree/index.js.map +0 -1
  79. package/dist/cjs/data-structures/binary-tree/red-black-tree.d.ts +0 -208
  80. package/dist/cjs/data-structures/binary-tree/red-black-tree.js +0 -547
  81. package/dist/cjs/data-structures/binary-tree/red-black-tree.js.map +0 -1
  82. package/dist/cjs/data-structures/binary-tree/segment-tree.js +0 -298
  83. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +0 -1
  84. package/dist/cjs/data-structures/binary-tree/tree-counter.js +0 -414
  85. package/dist/cjs/data-structures/binary-tree/tree-counter.js.map +0 -1
  86. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +0 -385
  87. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  88. package/dist/cjs/data-structures/graph/abstract-graph.js +0 -897
  89. package/dist/cjs/data-structures/graph/abstract-graph.js.map +0 -1
  90. package/dist/cjs/data-structures/graph/directed-graph.js +0 -526
  91. package/dist/cjs/data-structures/graph/directed-graph.js.map +0 -1
  92. package/dist/cjs/data-structures/graph/index.js +0 -21
  93. package/dist/cjs/data-structures/graph/index.js.map +0 -1
  94. package/dist/cjs/data-structures/graph/map-graph.js +0 -108
  95. package/dist/cjs/data-structures/graph/map-graph.js.map +0 -1
  96. package/dist/cjs/data-structures/graph/undirected-graph.js +0 -425
  97. package/dist/cjs/data-structures/graph/undirected-graph.js.map +0 -1
  98. package/dist/cjs/data-structures/hash/hash-map.js +0 -693
  99. package/dist/cjs/data-structures/hash/hash-map.js.map +0 -1
  100. package/dist/cjs/data-structures/hash/index.js +0 -18
  101. package/dist/cjs/data-structures/hash/index.js.map +0 -1
  102. package/dist/cjs/data-structures/heap/heap.d.ts +0 -503
  103. package/dist/cjs/data-structures/heap/heap.js +0 -902
  104. package/dist/cjs/data-structures/heap/heap.js.map +0 -1
  105. package/dist/cjs/data-structures/heap/index.js +0 -20
  106. package/dist/cjs/data-structures/heap/index.js.map +0 -1
  107. package/dist/cjs/data-structures/heap/max-heap.js +0 -41
  108. package/dist/cjs/data-structures/heap/max-heap.js.map +0 -1
  109. package/dist/cjs/data-structures/heap/min-heap.js +0 -32
  110. package/dist/cjs/data-structures/heap/min-heap.js.map +0 -1
  111. package/dist/cjs/data-structures/index.js +0 -29
  112. package/dist/cjs/data-structures/index.js.map +0 -1
  113. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +0 -1112
  114. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  115. package/dist/cjs/data-structures/linked-list/index.js +0 -20
  116. package/dist/cjs/data-structures/linked-list/index.js.map +0 -1
  117. package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +0 -451
  118. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +0 -851
  119. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +0 -1
  120. package/dist/cjs/data-structures/linked-list/skip-linked-list.js +0 -145
  121. package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +0 -1
  122. package/dist/cjs/data-structures/matrix/index.js +0 -19
  123. package/dist/cjs/data-structures/matrix/index.js.map +0 -1
  124. package/dist/cjs/data-structures/matrix/matrix.js +0 -449
  125. package/dist/cjs/data-structures/matrix/matrix.js.map +0 -1
  126. package/dist/cjs/data-structures/matrix/navigator.js +0 -112
  127. package/dist/cjs/data-structures/matrix/navigator.js.map +0 -1
  128. package/dist/cjs/data-structures/priority-queue/index.js +0 -20
  129. package/dist/cjs/data-structures/priority-queue/index.js.map +0 -1
  130. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js +0 -35
  131. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  132. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js +0 -25
  133. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  134. package/dist/cjs/data-structures/priority-queue/priority-queue.js +0 -21
  135. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +0 -1
  136. package/dist/cjs/data-structures/queue/deque.js +0 -880
  137. package/dist/cjs/data-structures/queue/deque.js.map +0 -1
  138. package/dist/cjs/data-structures/queue/index.js +0 -19
  139. package/dist/cjs/data-structures/queue/index.js.map +0 -1
  140. package/dist/cjs/data-structures/queue/queue.js +0 -474
  141. package/dist/cjs/data-structures/queue/queue.js.map +0 -1
  142. package/dist/cjs/data-structures/stack/index.js +0 -18
  143. package/dist/cjs/data-structures/stack/index.js.map +0 -1
  144. package/dist/cjs/data-structures/stack/stack.js +0 -402
  145. package/dist/cjs/data-structures/stack/stack.js.map +0 -1
  146. package/dist/cjs/data-structures/tree/index.js +0 -18
  147. package/dist/cjs/data-structures/tree/index.js.map +0 -1
  148. package/dist/cjs/data-structures/tree/tree.js +0 -108
  149. package/dist/cjs/data-structures/tree/tree.js.map +0 -1
  150. package/dist/cjs/data-structures/trie/index.js +0 -18
  151. package/dist/cjs/data-structures/trie/index.js.map +0 -1
  152. package/dist/cjs/data-structures/trie/trie.js +0 -611
  153. package/dist/cjs/data-structures/trie/trie.js.map +0 -1
  154. package/dist/cjs/index.js +0 -22
  155. package/dist/cjs/index.js.map +0 -1
  156. package/dist/cjs/interfaces/binary-tree.d.ts +0 -59
  157. package/dist/cjs/interfaces/binary-tree.js +0 -3
  158. package/dist/cjs/interfaces/binary-tree.js.map +0 -1
  159. package/dist/cjs/interfaces/doubly-linked-list.js +0 -3
  160. package/dist/cjs/interfaces/doubly-linked-list.js.map +0 -1
  161. package/dist/cjs/interfaces/graph.js +0 -3
  162. package/dist/cjs/interfaces/graph.js.map +0 -1
  163. package/dist/cjs/interfaces/heap.js +0 -3
  164. package/dist/cjs/interfaces/heap.js.map +0 -1
  165. package/dist/cjs/interfaces/index.js +0 -25
  166. package/dist/cjs/interfaces/index.js.map +0 -1
  167. package/dist/cjs/interfaces/navigator.js +0 -3
  168. package/dist/cjs/interfaces/navigator.js.map +0 -1
  169. package/dist/cjs/interfaces/priority-queue.js +0 -3
  170. package/dist/cjs/interfaces/priority-queue.js.map +0 -1
  171. package/dist/cjs/interfaces/segment-tree.js +0 -3
  172. package/dist/cjs/interfaces/segment-tree.js.map +0 -1
  173. package/dist/cjs/interfaces/singly-linked-list.js +0 -3
  174. package/dist/cjs/interfaces/singly-linked-list.js.map +0 -1
  175. package/dist/cjs/types/common.js +0 -3
  176. package/dist/cjs/types/common.js.map +0 -1
  177. package/dist/cjs/types/data-structures/base/base.js +0 -3
  178. package/dist/cjs/types/data-structures/base/base.js.map +0 -1
  179. package/dist/cjs/types/data-structures/base/index.js +0 -18
  180. package/dist/cjs/types/data-structures/base/index.js.map +0 -1
  181. package/dist/cjs/types/data-structures/binary-tree/avl-tree-counter.js +0 -3
  182. package/dist/cjs/types/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  183. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js +0 -3
  184. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  185. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js +0 -3
  186. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js.map +0 -1
  187. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js +0 -3
  188. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  189. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js +0 -3
  190. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +0 -1
  191. package/dist/cjs/types/data-structures/binary-tree/bst.js +0 -3
  192. package/dist/cjs/types/data-structures/binary-tree/bst.js.map +0 -1
  193. package/dist/cjs/types/data-structures/binary-tree/index.js +0 -26
  194. package/dist/cjs/types/data-structures/binary-tree/index.js.map +0 -1
  195. package/dist/cjs/types/data-structures/binary-tree/red-black-tree.js +0 -3
  196. package/dist/cjs/types/data-structures/binary-tree/red-black-tree.js.map +0 -1
  197. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js +0 -3
  198. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +0 -1
  199. package/dist/cjs/types/data-structures/binary-tree/tree-counter.js +0 -3
  200. package/dist/cjs/types/data-structures/binary-tree/tree-counter.js.map +0 -1
  201. package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js +0 -3
  202. package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  203. package/dist/cjs/types/data-structures/graph/abstract-graph.js +0 -3
  204. package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +0 -1
  205. package/dist/cjs/types/data-structures/graph/directed-graph.js +0 -3
  206. package/dist/cjs/types/data-structures/graph/directed-graph.js.map +0 -1
  207. package/dist/cjs/types/data-structures/graph/index.js +0 -20
  208. package/dist/cjs/types/data-structures/graph/index.js.map +0 -1
  209. package/dist/cjs/types/data-structures/graph/map-graph.js +0 -3
  210. package/dist/cjs/types/data-structures/graph/map-graph.js.map +0 -1
  211. package/dist/cjs/types/data-structures/graph/undirected-graph.js +0 -3
  212. package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +0 -1
  213. package/dist/cjs/types/data-structures/hash/hash-map.js +0 -3
  214. package/dist/cjs/types/data-structures/hash/hash-map.js.map +0 -1
  215. package/dist/cjs/types/data-structures/hash/index.js +0 -18
  216. package/dist/cjs/types/data-structures/hash/index.js.map +0 -1
  217. package/dist/cjs/types/data-structures/heap/heap.js +0 -3
  218. package/dist/cjs/types/data-structures/heap/heap.js.map +0 -1
  219. package/dist/cjs/types/data-structures/heap/index.js +0 -18
  220. package/dist/cjs/types/data-structures/heap/index.js.map +0 -1
  221. package/dist/cjs/types/data-structures/heap/max-heap.js +0 -3
  222. package/dist/cjs/types/data-structures/heap/max-heap.js.map +0 -1
  223. package/dist/cjs/types/data-structures/heap/min-heap.js +0 -3
  224. package/dist/cjs/types/data-structures/heap/min-heap.js.map +0 -1
  225. package/dist/cjs/types/data-structures/index.js +0 -29
  226. package/dist/cjs/types/data-structures/index.js.map +0 -1
  227. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js +0 -3
  228. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  229. package/dist/cjs/types/data-structures/linked-list/index.js +0 -20
  230. package/dist/cjs/types/data-structures/linked-list/index.js.map +0 -1
  231. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js +0 -3
  232. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
  233. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js +0 -3
  234. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
  235. package/dist/cjs/types/data-structures/matrix/index.js +0 -19
  236. package/dist/cjs/types/data-structures/matrix/index.js.map +0 -1
  237. package/dist/cjs/types/data-structures/matrix/matrix.js +0 -3
  238. package/dist/cjs/types/data-structures/matrix/matrix.js.map +0 -1
  239. package/dist/cjs/types/data-structures/matrix/navigator.js +0 -3
  240. package/dist/cjs/types/data-structures/matrix/navigator.js.map +0 -1
  241. package/dist/cjs/types/data-structures/priority-queue/index.js +0 -20
  242. package/dist/cjs/types/data-structures/priority-queue/index.js.map +0 -1
  243. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js +0 -3
  244. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  245. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js +0 -3
  246. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  247. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js +0 -3
  248. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js.map +0 -1
  249. package/dist/cjs/types/data-structures/queue/deque.js +0 -3
  250. package/dist/cjs/types/data-structures/queue/deque.js.map +0 -1
  251. package/dist/cjs/types/data-structures/queue/index.js +0 -19
  252. package/dist/cjs/types/data-structures/queue/index.js.map +0 -1
  253. package/dist/cjs/types/data-structures/queue/queue.js +0 -3
  254. package/dist/cjs/types/data-structures/queue/queue.js.map +0 -1
  255. package/dist/cjs/types/data-structures/stack/index.js +0 -18
  256. package/dist/cjs/types/data-structures/stack/index.js.map +0 -1
  257. package/dist/cjs/types/data-structures/stack/stack.js +0 -3
  258. package/dist/cjs/types/data-structures/stack/stack.js.map +0 -1
  259. package/dist/cjs/types/data-structures/tree/index.js +0 -18
  260. package/dist/cjs/types/data-structures/tree/index.js.map +0 -1
  261. package/dist/cjs/types/data-structures/tree/tree.js +0 -3
  262. package/dist/cjs/types/data-structures/tree/tree.js.map +0 -1
  263. package/dist/cjs/types/data-structures/trie/index.js +0 -18
  264. package/dist/cjs/types/data-structures/trie/index.js.map +0 -1
  265. package/dist/cjs/types/data-structures/trie/trie.js +0 -3
  266. package/dist/cjs/types/data-structures/trie/trie.js.map +0 -1
  267. package/dist/cjs/types/index.js +0 -20
  268. package/dist/cjs/types/index.js.map +0 -1
  269. package/dist/cjs/types/utils/index.js +0 -19
  270. package/dist/cjs/types/utils/index.js.map +0 -1
  271. package/dist/cjs/types/utils/utils.js +0 -3
  272. package/dist/cjs/types/utils/utils.js.map +0 -1
  273. package/dist/cjs/types/utils/validate-type.js +0 -3
  274. package/dist/cjs/types/utils/validate-type.js.map +0 -1
  275. package/dist/cjs/utils/index.js +0 -19
  276. package/dist/cjs/utils/index.js.map +0 -1
  277. package/dist/cjs/utils/number.js +0 -24
  278. package/dist/cjs/utils/number.js.map +0 -1
  279. package/dist/cjs/utils/utils.js +0 -354
  280. package/dist/cjs/utils/utils.js.map +0 -1
  281. package/dist/esm/common/index.d.ts +0 -12
  282. package/dist/esm/common/index.js +0 -29
  283. package/dist/esm/common/index.js.map +0 -1
  284. package/dist/esm/data-structures/base/index.d.ts +0 -2
  285. package/dist/esm/data-structures/base/index.js +0 -3
  286. package/dist/esm/data-structures/base/index.js.map +0 -1
  287. package/dist/esm/data-structures/base/iterable-element-base.d.ts +0 -219
  288. package/dist/esm/data-structures/base/iterable-element-base.js +0 -247
  289. package/dist/esm/data-structures/base/iterable-element-base.js.map +0 -1
  290. package/dist/esm/data-structures/base/iterable-entry-base.d.ts +0 -144
  291. package/dist/esm/data-structures/base/iterable-entry-base.js +0 -180
  292. package/dist/esm/data-structures/base/iterable-entry-base.js.map +0 -1
  293. package/dist/esm/data-structures/base/linear-base.d.ts +0 -335
  294. package/dist/esm/data-structures/base/linear-base.js +0 -412
  295. package/dist/esm/data-structures/base/linear-base.js.map +0 -1
  296. package/dist/esm/data-structures/binary-tree/avl-tree-counter.d.ts +0 -182
  297. package/dist/esm/data-structures/binary-tree/avl-tree-counter.js +0 -369
  298. package/dist/esm/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  299. package/dist/esm/data-structures/binary-tree/avl-tree-multi-map.js +0 -244
  300. package/dist/esm/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  301. package/dist/esm/data-structures/binary-tree/avl-tree.js +0 -607
  302. package/dist/esm/data-structures/binary-tree/avl-tree.js.map +0 -1
  303. package/dist/esm/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -174
  304. package/dist/esm/data-structures/binary-tree/binary-indexed-tree.js +0 -296
  305. package/dist/esm/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  306. package/dist/esm/data-structures/binary-tree/binary-tree.js +0 -1922
  307. package/dist/esm/data-structures/binary-tree/binary-tree.js.map +0 -1
  308. package/dist/esm/data-structures/binary-tree/bst.js +0 -901
  309. package/dist/esm/data-structures/binary-tree/bst.js.map +0 -1
  310. package/dist/esm/data-structures/binary-tree/index.d.ts +0 -10
  311. package/dist/esm/data-structures/binary-tree/index.js +0 -11
  312. package/dist/esm/data-structures/binary-tree/index.js.map +0 -1
  313. package/dist/esm/data-structures/binary-tree/red-black-tree.js +0 -540
  314. package/dist/esm/data-structures/binary-tree/red-black-tree.js.map +0 -1
  315. package/dist/esm/data-structures/binary-tree/segment-tree.d.ts +0 -160
  316. package/dist/esm/data-structures/binary-tree/segment-tree.js +0 -295
  317. package/dist/esm/data-structures/binary-tree/segment-tree.js.map +0 -1
  318. package/dist/esm/data-structures/binary-tree/tree-counter.d.ts +0 -190
  319. package/dist/esm/data-structures/binary-tree/tree-counter.js +0 -412
  320. package/dist/esm/data-structures/binary-tree/tree-counter.js.map +0 -1
  321. package/dist/esm/data-structures/binary-tree/tree-multi-map.d.ts +0 -270
  322. package/dist/esm/data-structures/binary-tree/tree-multi-map.js +0 -378
  323. package/dist/esm/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  324. package/dist/esm/data-structures/graph/abstract-graph.d.ts +0 -340
  325. package/dist/esm/data-structures/graph/abstract-graph.js +0 -892
  326. package/dist/esm/data-structures/graph/abstract-graph.js.map +0 -1
  327. package/dist/esm/data-structures/graph/directed-graph.d.ts +0 -207
  328. package/dist/esm/data-structures/graph/directed-graph.js +0 -521
  329. package/dist/esm/data-structures/graph/directed-graph.js.map +0 -1
  330. package/dist/esm/data-structures/graph/index.d.ts +0 -4
  331. package/dist/esm/data-structures/graph/index.js +0 -5
  332. package/dist/esm/data-structures/graph/index.js.map +0 -1
  333. package/dist/esm/data-structures/graph/map-graph.d.ts +0 -78
  334. package/dist/esm/data-structures/graph/map-graph.js +0 -105
  335. package/dist/esm/data-structures/graph/map-graph.js.map +0 -1
  336. package/dist/esm/data-structures/graph/undirected-graph.d.ts +0 -188
  337. package/dist/esm/data-structures/graph/undirected-graph.js +0 -418
  338. package/dist/esm/data-structures/graph/undirected-graph.js.map +0 -1
  339. package/dist/esm/data-structures/hash/hash-map.d.ts +0 -345
  340. package/dist/esm/data-structures/hash/hash-map.js +0 -691
  341. package/dist/esm/data-structures/hash/hash-map.js.map +0 -1
  342. package/dist/esm/data-structures/hash/index.d.ts +0 -1
  343. package/dist/esm/data-structures/hash/index.js +0 -2
  344. package/dist/esm/data-structures/hash/index.js.map +0 -1
  345. package/dist/esm/data-structures/heap/heap.js +0 -894
  346. package/dist/esm/data-structures/heap/heap.js.map +0 -1
  347. package/dist/esm/data-structures/heap/index.d.ts +0 -3
  348. package/dist/esm/data-structures/heap/index.js +0 -4
  349. package/dist/esm/data-structures/heap/index.js.map +0 -1
  350. package/dist/esm/data-structures/heap/max-heap.d.ts +0 -32
  351. package/dist/esm/data-structures/heap/max-heap.js +0 -40
  352. package/dist/esm/data-structures/heap/max-heap.js.map +0 -1
  353. package/dist/esm/data-structures/heap/min-heap.d.ts +0 -33
  354. package/dist/esm/data-structures/heap/min-heap.js +0 -28
  355. package/dist/esm/data-structures/heap/min-heap.js.map +0 -1
  356. package/dist/esm/data-structures/index.d.ts +0 -12
  357. package/dist/esm/data-structures/index.js +0 -13
  358. package/dist/esm/data-structures/index.js.map +0 -1
  359. package/dist/esm/data-structures/linked-list/doubly-linked-list.d.ts +0 -769
  360. package/dist/esm/data-structures/linked-list/doubly-linked-list.js +0 -1109
  361. package/dist/esm/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  362. package/dist/esm/data-structures/linked-list/index.d.ts +0 -3
  363. package/dist/esm/data-structures/linked-list/index.js +0 -4
  364. package/dist/esm/data-structures/linked-list/index.js.map +0 -1
  365. package/dist/esm/data-structures/linked-list/singly-linked-list.js +0 -847
  366. package/dist/esm/data-structures/linked-list/singly-linked-list.js.map +0 -1
  367. package/dist/esm/data-structures/linked-list/skip-linked-list.d.ts +0 -27
  368. package/dist/esm/data-structures/linked-list/skip-linked-list.js +0 -143
  369. package/dist/esm/data-structures/linked-list/skip-linked-list.js.map +0 -1
  370. package/dist/esm/data-structures/matrix/index.d.ts +0 -2
  371. package/dist/esm/data-structures/matrix/index.js +0 -3
  372. package/dist/esm/data-structures/matrix/index.js.map +0 -1
  373. package/dist/esm/data-structures/matrix/matrix.d.ts +0 -168
  374. package/dist/esm/data-structures/matrix/matrix.js +0 -444
  375. package/dist/esm/data-structures/matrix/matrix.js.map +0 -1
  376. package/dist/esm/data-structures/matrix/navigator.d.ts +0 -55
  377. package/dist/esm/data-structures/matrix/navigator.js +0 -114
  378. package/dist/esm/data-structures/matrix/navigator.js.map +0 -1
  379. package/dist/esm/data-structures/priority-queue/index.d.ts +0 -3
  380. package/dist/esm/data-structures/priority-queue/index.js +0 -4
  381. package/dist/esm/data-structures/priority-queue/index.js.map +0 -1
  382. package/dist/esm/data-structures/priority-queue/max-priority-queue.d.ts +0 -27
  383. package/dist/esm/data-structures/priority-queue/max-priority-queue.js +0 -34
  384. package/dist/esm/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  385. package/dist/esm/data-structures/priority-queue/min-priority-queue.d.ts +0 -26
  386. package/dist/esm/data-structures/priority-queue/min-priority-queue.js +0 -21
  387. package/dist/esm/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  388. package/dist/esm/data-structures/priority-queue/priority-queue.d.ts +0 -15
  389. package/dist/esm/data-structures/priority-queue/priority-queue.js +0 -17
  390. package/dist/esm/data-structures/priority-queue/priority-queue.js.map +0 -1
  391. package/dist/esm/data-structures/queue/deque.d.ts +0 -431
  392. package/dist/esm/data-structures/queue/deque.js +0 -880
  393. package/dist/esm/data-structures/queue/deque.js.map +0 -1
  394. package/dist/esm/data-structures/queue/index.d.ts +0 -2
  395. package/dist/esm/data-structures/queue/index.js +0 -3
  396. package/dist/esm/data-structures/queue/index.js.map +0 -1
  397. package/dist/esm/data-structures/queue/queue.d.ts +0 -308
  398. package/dist/esm/data-structures/queue/queue.js +0 -467
  399. package/dist/esm/data-structures/queue/queue.js.map +0 -1
  400. package/dist/esm/data-structures/stack/index.d.ts +0 -1
  401. package/dist/esm/data-structures/stack/index.js +0 -2
  402. package/dist/esm/data-structures/stack/index.js.map +0 -1
  403. package/dist/esm/data-structures/stack/stack.d.ts +0 -306
  404. package/dist/esm/data-structures/stack/stack.js +0 -398
  405. package/dist/esm/data-structures/stack/stack.js.map +0 -1
  406. package/dist/esm/data-structures/tree/index.d.ts +0 -1
  407. package/dist/esm/data-structures/tree/index.js +0 -2
  408. package/dist/esm/data-structures/tree/index.js.map +0 -1
  409. package/dist/esm/data-structures/tree/tree.d.ts +0 -62
  410. package/dist/esm/data-structures/tree/tree.js +0 -107
  411. package/dist/esm/data-structures/tree/tree.js.map +0 -1
  412. package/dist/esm/data-structures/trie/index.d.ts +0 -1
  413. package/dist/esm/data-structures/trie/index.js +0 -2
  414. package/dist/esm/data-structures/trie/index.js.map +0 -1
  415. package/dist/esm/data-structures/trie/trie.d.ts +0 -350
  416. package/dist/esm/data-structures/trie/trie.js +0 -613
  417. package/dist/esm/data-structures/trie/trie.js.map +0 -1
  418. package/dist/esm/index.d.ts +0 -5
  419. package/dist/esm/index.js +0 -6
  420. package/dist/esm/index.js.map +0 -1
  421. package/dist/esm/interfaces/binary-tree.js +0 -2
  422. package/dist/esm/interfaces/binary-tree.js.map +0 -1
  423. package/dist/esm/interfaces/doubly-linked-list.d.ts +0 -1
  424. package/dist/esm/interfaces/doubly-linked-list.js +0 -2
  425. package/dist/esm/interfaces/doubly-linked-list.js.map +0 -1
  426. package/dist/esm/interfaces/graph.d.ts +0 -21
  427. package/dist/esm/interfaces/graph.js +0 -2
  428. package/dist/esm/interfaces/graph.js.map +0 -1
  429. package/dist/esm/interfaces/heap.d.ts +0 -1
  430. package/dist/esm/interfaces/heap.js +0 -2
  431. package/dist/esm/interfaces/heap.js.map +0 -1
  432. package/dist/esm/interfaces/index.d.ts +0 -8
  433. package/dist/esm/interfaces/index.js +0 -9
  434. package/dist/esm/interfaces/index.js.map +0 -1
  435. package/dist/esm/interfaces/navigator.d.ts +0 -1
  436. package/dist/esm/interfaces/navigator.js +0 -2
  437. package/dist/esm/interfaces/navigator.js.map +0 -1
  438. package/dist/esm/interfaces/priority-queue.d.ts +0 -1
  439. package/dist/esm/interfaces/priority-queue.js +0 -2
  440. package/dist/esm/interfaces/priority-queue.js.map +0 -1
  441. package/dist/esm/interfaces/segment-tree.d.ts +0 -1
  442. package/dist/esm/interfaces/segment-tree.js +0 -2
  443. package/dist/esm/interfaces/segment-tree.js.map +0 -1
  444. package/dist/esm/interfaces/singly-linked-list.d.ts +0 -1
  445. package/dist/esm/interfaces/singly-linked-list.js +0 -2
  446. package/dist/esm/interfaces/singly-linked-list.js.map +0 -1
  447. package/dist/esm/types/common.d.ts +0 -15
  448. package/dist/esm/types/common.js +0 -2
  449. package/dist/esm/types/common.js.map +0 -1
  450. package/dist/esm/types/data-structures/base/base.d.ts +0 -13
  451. package/dist/esm/types/data-structures/base/base.js +0 -2
  452. package/dist/esm/types/data-structures/base/base.js.map +0 -1
  453. package/dist/esm/types/data-structures/base/index.d.ts +0 -1
  454. package/dist/esm/types/data-structures/base/index.js +0 -2
  455. package/dist/esm/types/data-structures/base/index.js.map +0 -1
  456. package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -2
  457. package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.js +0 -2
  458. package/dist/esm/types/data-structures/binary-tree/avl-tree-counter.js.map +0 -1
  459. package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -2
  460. package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.js +0 -2
  461. package/dist/esm/types/data-structures/binary-tree/avl-tree-multi-map.js.map +0 -1
  462. package/dist/esm/types/data-structures/binary-tree/avl-tree.d.ts +0 -2
  463. package/dist/esm/types/data-structures/binary-tree/avl-tree.js +0 -2
  464. package/dist/esm/types/data-structures/binary-tree/avl-tree.js.map +0 -1
  465. package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -1
  466. package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.js +0 -2
  467. package/dist/esm/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  468. package/dist/esm/types/data-structures/binary-tree/binary-tree.d.ts +0 -29
  469. package/dist/esm/types/data-structures/binary-tree/binary-tree.js +0 -2
  470. package/dist/esm/types/data-structures/binary-tree/binary-tree.js.map +0 -1
  471. package/dist/esm/types/data-structures/binary-tree/bst.d.ts +0 -12
  472. package/dist/esm/types/data-structures/binary-tree/bst.js +0 -2
  473. package/dist/esm/types/data-structures/binary-tree/bst.js.map +0 -1
  474. package/dist/esm/types/data-structures/binary-tree/index.d.ts +0 -9
  475. package/dist/esm/types/data-structures/binary-tree/index.js +0 -10
  476. package/dist/esm/types/data-structures/binary-tree/index.js.map +0 -1
  477. package/dist/esm/types/data-structures/binary-tree/red-black-tree.d.ts +0 -3
  478. package/dist/esm/types/data-structures/binary-tree/red-black-tree.js +0 -2
  479. package/dist/esm/types/data-structures/binary-tree/red-black-tree.js.map +0 -1
  480. package/dist/esm/types/data-structures/binary-tree/segment-tree.d.ts +0 -1
  481. package/dist/esm/types/data-structures/binary-tree/segment-tree.js +0 -2
  482. package/dist/esm/types/data-structures/binary-tree/segment-tree.js.map +0 -1
  483. package/dist/esm/types/data-structures/binary-tree/tree-counter.d.ts +0 -2
  484. package/dist/esm/types/data-structures/binary-tree/tree-counter.js +0 -2
  485. package/dist/esm/types/data-structures/binary-tree/tree-counter.js.map +0 -1
  486. package/dist/esm/types/data-structures/binary-tree/tree-multi-map.d.ts +0 -2
  487. package/dist/esm/types/data-structures/binary-tree/tree-multi-map.js +0 -2
  488. package/dist/esm/types/data-structures/binary-tree/tree-multi-map.js.map +0 -1
  489. package/dist/esm/types/data-structures/graph/abstract-graph.d.ts +0 -14
  490. package/dist/esm/types/data-structures/graph/abstract-graph.js +0 -2
  491. package/dist/esm/types/data-structures/graph/abstract-graph.js.map +0 -1
  492. package/dist/esm/types/data-structures/graph/directed-graph.d.ts +0 -1
  493. package/dist/esm/types/data-structures/graph/directed-graph.js +0 -2
  494. package/dist/esm/types/data-structures/graph/directed-graph.js.map +0 -1
  495. package/dist/esm/types/data-structures/graph/index.d.ts +0 -3
  496. package/dist/esm/types/data-structures/graph/index.js +0 -4
  497. package/dist/esm/types/data-structures/graph/index.js.map +0 -1
  498. package/dist/esm/types/data-structures/graph/map-graph.d.ts +0 -1
  499. package/dist/esm/types/data-structures/graph/map-graph.js +0 -2
  500. package/dist/esm/types/data-structures/graph/map-graph.js.map +0 -1
  501. package/dist/esm/types/data-structures/graph/undirected-graph.d.ts +0 -1
  502. package/dist/esm/types/data-structures/graph/undirected-graph.js +0 -2
  503. package/dist/esm/types/data-structures/graph/undirected-graph.js.map +0 -1
  504. package/dist/esm/types/data-structures/hash/hash-map.d.ts +0 -19
  505. package/dist/esm/types/data-structures/hash/hash-map.js +0 -2
  506. package/dist/esm/types/data-structures/hash/hash-map.js.map +0 -1
  507. package/dist/esm/types/data-structures/hash/index.d.ts +0 -2
  508. package/dist/esm/types/data-structures/hash/index.js +0 -2
  509. package/dist/esm/types/data-structures/hash/index.js.map +0 -1
  510. package/dist/esm/types/data-structures/heap/heap.d.ts +0 -5
  511. package/dist/esm/types/data-structures/heap/heap.js +0 -2
  512. package/dist/esm/types/data-structures/heap/heap.js.map +0 -1
  513. package/dist/esm/types/data-structures/heap/index.d.ts +0 -1
  514. package/dist/esm/types/data-structures/heap/index.js +0 -2
  515. package/dist/esm/types/data-structures/heap/index.js.map +0 -1
  516. package/dist/esm/types/data-structures/heap/max-heap.d.ts +0 -1
  517. package/dist/esm/types/data-structures/heap/max-heap.js +0 -2
  518. package/dist/esm/types/data-structures/heap/max-heap.js.map +0 -1
  519. package/dist/esm/types/data-structures/heap/min-heap.d.ts +0 -1
  520. package/dist/esm/types/data-structures/heap/min-heap.js +0 -2
  521. package/dist/esm/types/data-structures/heap/min-heap.js.map +0 -1
  522. package/dist/esm/types/data-structures/index.d.ts +0 -12
  523. package/dist/esm/types/data-structures/index.js +0 -13
  524. package/dist/esm/types/data-structures/index.js.map +0 -1
  525. package/dist/esm/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -2
  526. package/dist/esm/types/data-structures/linked-list/doubly-linked-list.js +0 -2
  527. package/dist/esm/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  528. package/dist/esm/types/data-structures/linked-list/index.d.ts +0 -3
  529. package/dist/esm/types/data-structures/linked-list/index.js +0 -4
  530. package/dist/esm/types/data-structures/linked-list/index.js.map +0 -1
  531. package/dist/esm/types/data-structures/linked-list/singly-linked-list.d.ts +0 -2
  532. package/dist/esm/types/data-structures/linked-list/singly-linked-list.js +0 -2
  533. package/dist/esm/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
  534. package/dist/esm/types/data-structures/linked-list/skip-linked-list.d.ts +0 -4
  535. package/dist/esm/types/data-structures/linked-list/skip-linked-list.js +0 -2
  536. package/dist/esm/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
  537. package/dist/esm/types/data-structures/matrix/index.d.ts +0 -2
  538. package/dist/esm/types/data-structures/matrix/index.js +0 -3
  539. package/dist/esm/types/data-structures/matrix/index.js.map +0 -1
  540. package/dist/esm/types/data-structures/matrix/matrix.d.ts +0 -7
  541. package/dist/esm/types/data-structures/matrix/matrix.js +0 -2
  542. package/dist/esm/types/data-structures/matrix/matrix.js.map +0 -1
  543. package/dist/esm/types/data-structures/matrix/navigator.d.ts +0 -14
  544. package/dist/esm/types/data-structures/matrix/navigator.js +0 -2
  545. package/dist/esm/types/data-structures/matrix/navigator.js.map +0 -1
  546. package/dist/esm/types/data-structures/priority-queue/index.d.ts +0 -3
  547. package/dist/esm/types/data-structures/priority-queue/index.js +0 -4
  548. package/dist/esm/types/data-structures/priority-queue/index.js.map +0 -1
  549. package/dist/esm/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -1
  550. package/dist/esm/types/data-structures/priority-queue/max-priority-queue.js +0 -2
  551. package/dist/esm/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  552. package/dist/esm/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -1
  553. package/dist/esm/types/data-structures/priority-queue/min-priority-queue.js +0 -2
  554. package/dist/esm/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  555. package/dist/esm/types/data-structures/priority-queue/priority-queue.d.ts +0 -2
  556. package/dist/esm/types/data-structures/priority-queue/priority-queue.js +0 -2
  557. package/dist/esm/types/data-structures/priority-queue/priority-queue.js.map +0 -1
  558. package/dist/esm/types/data-structures/queue/deque.d.ts +0 -4
  559. package/dist/esm/types/data-structures/queue/deque.js +0 -2
  560. package/dist/esm/types/data-structures/queue/deque.js.map +0 -1
  561. package/dist/esm/types/data-structures/queue/index.d.ts +0 -2
  562. package/dist/esm/types/data-structures/queue/index.js +0 -3
  563. package/dist/esm/types/data-structures/queue/index.js.map +0 -1
  564. package/dist/esm/types/data-structures/queue/queue.d.ts +0 -4
  565. package/dist/esm/types/data-structures/queue/queue.js +0 -2
  566. package/dist/esm/types/data-structures/queue/queue.js.map +0 -1
  567. package/dist/esm/types/data-structures/stack/index.d.ts +0 -1
  568. package/dist/esm/types/data-structures/stack/index.js +0 -2
  569. package/dist/esm/types/data-structures/stack/index.js.map +0 -1
  570. package/dist/esm/types/data-structures/stack/stack.d.ts +0 -2
  571. package/dist/esm/types/data-structures/stack/stack.js +0 -2
  572. package/dist/esm/types/data-structures/stack/stack.js.map +0 -1
  573. package/dist/esm/types/data-structures/tree/index.d.ts +0 -1
  574. package/dist/esm/types/data-structures/tree/index.js +0 -2
  575. package/dist/esm/types/data-structures/tree/index.js.map +0 -1
  576. package/dist/esm/types/data-structures/tree/tree.d.ts +0 -1
  577. package/dist/esm/types/data-structures/tree/tree.js +0 -2
  578. package/dist/esm/types/data-structures/tree/tree.js.map +0 -1
  579. package/dist/esm/types/data-structures/trie/index.d.ts +0 -1
  580. package/dist/esm/types/data-structures/trie/index.js +0 -2
  581. package/dist/esm/types/data-structures/trie/index.js.map +0 -1
  582. package/dist/esm/types/data-structures/trie/trie.d.ts +0 -4
  583. package/dist/esm/types/data-structures/trie/trie.js +0 -2
  584. package/dist/esm/types/data-structures/trie/trie.js.map +0 -1
  585. package/dist/esm/types/index.d.ts +0 -3
  586. package/dist/esm/types/index.js +0 -4
  587. package/dist/esm/types/index.js.map +0 -1
  588. package/dist/esm/types/utils/index.d.ts +0 -2
  589. package/dist/esm/types/utils/index.js +0 -3
  590. package/dist/esm/types/utils/index.js.map +0 -1
  591. package/dist/esm/types/utils/utils.d.ts +0 -22
  592. package/dist/esm/types/utils/utils.js +0 -2
  593. package/dist/esm/types/utils/utils.js.map +0 -1
  594. package/dist/esm/types/utils/validate-type.d.ts +0 -19
  595. package/dist/esm/types/utils/validate-type.js +0 -2
  596. package/dist/esm/types/utils/validate-type.js.map +0 -1
  597. package/dist/esm/utils/index.d.ts +0 -2
  598. package/dist/esm/utils/index.js +0 -3
  599. package/dist/esm/utils/index.js.map +0 -1
  600. package/dist/esm/utils/number.d.ts +0 -14
  601. package/dist/esm/utils/number.js +0 -21
  602. package/dist/esm/utils/number.js.map +0 -1
  603. package/dist/esm/utils/utils.d.ts +0 -209
  604. package/dist/esm/utils/utils.js +0 -325
  605. package/dist/esm/utils/utils.js.map +0 -1
  606. package/test/integration/compile.js +0 -144
  607. package/test/integration/compile.mjs +0 -135
  608. package/test/integration/compile.ts +0 -171
  609. package/tsconfig-base.json +0 -24
  610. package/tsconfig-cjs.json +0 -14
  611. package/tsconfig-esm.json +0 -14
  612. /package/dist/{cjs → types}/common/index.d.ts +0 -0
  613. /package/dist/{cjs → types}/data-structures/base/index.d.ts +0 -0
  614. /package/dist/{cjs → types}/data-structures/base/iterable-element-base.d.ts +0 -0
  615. /package/dist/{cjs → types}/data-structures/base/iterable-entry-base.d.ts +0 -0
  616. /package/dist/{cjs → types}/data-structures/base/linear-base.d.ts +0 -0
  617. /package/dist/{cjs → types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  618. /package/dist/{cjs → types}/data-structures/binary-tree/index.d.ts +0 -0
  619. /package/dist/{cjs → types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  620. /package/dist/{cjs → types}/data-structures/graph/abstract-graph.d.ts +0 -0
  621. /package/dist/{cjs → types}/data-structures/graph/directed-graph.d.ts +0 -0
  622. /package/dist/{cjs → types}/data-structures/graph/index.d.ts +0 -0
  623. /package/dist/{cjs → types}/data-structures/graph/map-graph.d.ts +0 -0
  624. /package/dist/{cjs → types}/data-structures/graph/undirected-graph.d.ts +0 -0
  625. /package/dist/{cjs → types}/data-structures/hash/hash-map.d.ts +0 -0
  626. /package/dist/{cjs → types}/data-structures/hash/index.d.ts +0 -0
  627. /package/dist/{cjs → types}/data-structures/heap/index.d.ts +0 -0
  628. /package/dist/{cjs → types}/data-structures/heap/max-heap.d.ts +0 -0
  629. /package/dist/{cjs → types}/data-structures/heap/min-heap.d.ts +0 -0
  630. /package/dist/{cjs → types}/data-structures/index.d.ts +0 -0
  631. /package/dist/{cjs → types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  632. /package/dist/{cjs → types}/data-structures/linked-list/index.d.ts +0 -0
  633. /package/dist/{cjs → types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  634. /package/dist/{cjs → types}/data-structures/matrix/index.d.ts +0 -0
  635. /package/dist/{cjs → types}/data-structures/matrix/matrix.d.ts +0 -0
  636. /package/dist/{cjs → types}/data-structures/matrix/navigator.d.ts +0 -0
  637. /package/dist/{cjs → types}/data-structures/priority-queue/index.d.ts +0 -0
  638. /package/dist/{cjs → types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  639. /package/dist/{cjs → types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  640. /package/dist/{cjs → types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  641. /package/dist/{cjs → types}/data-structures/queue/deque.d.ts +0 -0
  642. /package/dist/{cjs → types}/data-structures/queue/index.d.ts +0 -0
  643. /package/dist/{cjs → types}/data-structures/queue/queue.d.ts +0 -0
  644. /package/dist/{cjs → types}/data-structures/stack/index.d.ts +0 -0
  645. /package/dist/{cjs → types}/data-structures/stack/stack.d.ts +0 -0
  646. /package/dist/{cjs → types}/data-structures/tree/index.d.ts +0 -0
  647. /package/dist/{cjs → types}/data-structures/tree/tree.d.ts +0 -0
  648. /package/dist/{cjs → types}/data-structures/trie/index.d.ts +0 -0
  649. /package/dist/{cjs → types}/data-structures/trie/trie.d.ts +0 -0
  650. /package/dist/{cjs → types}/index.d.ts +0 -0
  651. /package/dist/{cjs → types}/interfaces/doubly-linked-list.d.ts +0 -0
  652. /package/dist/{cjs → types}/interfaces/graph.d.ts +0 -0
  653. /package/dist/{cjs → types}/interfaces/heap.d.ts +0 -0
  654. /package/dist/{cjs → types}/interfaces/index.d.ts +0 -0
  655. /package/dist/{cjs → types}/interfaces/navigator.d.ts +0 -0
  656. /package/dist/{cjs → types}/interfaces/priority-queue.d.ts +0 -0
  657. /package/dist/{cjs → types}/interfaces/segment-tree.d.ts +0 -0
  658. /package/dist/{cjs → types}/interfaces/singly-linked-list.d.ts +0 -0
  659. /package/dist/{cjs → types}/types/common.d.ts +0 -0
  660. /package/dist/{cjs → types}/types/data-structures/base/base.d.ts +0 -0
  661. /package/dist/{cjs → types}/types/data-structures/base/index.d.ts +0 -0
  662. /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -0
  663. /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -0
  664. /package/dist/{cjs → types}/types/data-structures/binary-tree/avl-tree.d.ts +0 -0
  665. /package/dist/{cjs → types}/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  666. /package/dist/{cjs → types}/types/data-structures/binary-tree/binary-tree.d.ts +0 -0
  667. /package/dist/{cjs → types}/types/data-structures/binary-tree/bst.d.ts +0 -0
  668. /package/dist/{cjs → types}/types/data-structures/binary-tree/index.d.ts +0 -0
  669. /package/dist/{cjs → types}/types/data-structures/binary-tree/red-black-tree.d.ts +0 -0
  670. /package/dist/{cjs → types}/types/data-structures/binary-tree/segment-tree.d.ts +0 -0
  671. /package/dist/{cjs → types}/types/data-structures/binary-tree/tree-counter.d.ts +0 -0
  672. /package/dist/{cjs → types}/types/data-structures/binary-tree/tree-multi-map.d.ts +0 -0
  673. /package/dist/{cjs → types}/types/data-structures/graph/abstract-graph.d.ts +0 -0
  674. /package/dist/{cjs → types}/types/data-structures/graph/directed-graph.d.ts +0 -0
  675. /package/dist/{cjs → types}/types/data-structures/graph/index.d.ts +0 -0
  676. /package/dist/{cjs → types}/types/data-structures/graph/map-graph.d.ts +0 -0
  677. /package/dist/{cjs → types}/types/data-structures/graph/undirected-graph.d.ts +0 -0
  678. /package/dist/{cjs → types}/types/data-structures/hash/hash-map.d.ts +0 -0
  679. /package/dist/{cjs → types}/types/data-structures/hash/index.d.ts +0 -0
  680. /package/dist/{cjs → types}/types/data-structures/heap/heap.d.ts +0 -0
  681. /package/dist/{cjs → types}/types/data-structures/heap/index.d.ts +0 -0
  682. /package/dist/{cjs → types}/types/data-structures/heap/max-heap.d.ts +0 -0
  683. /package/dist/{cjs → types}/types/data-structures/heap/min-heap.d.ts +0 -0
  684. /package/dist/{cjs → types}/types/data-structures/index.d.ts +0 -0
  685. /package/dist/{cjs → types}/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  686. /package/dist/{cjs → types}/types/data-structures/linked-list/index.d.ts +0 -0
  687. /package/dist/{cjs → types}/types/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  688. /package/dist/{cjs → types}/types/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  689. /package/dist/{cjs → types}/types/data-structures/matrix/index.d.ts +0 -0
  690. /package/dist/{cjs → types}/types/data-structures/matrix/matrix.d.ts +0 -0
  691. /package/dist/{cjs → types}/types/data-structures/matrix/navigator.d.ts +0 -0
  692. /package/dist/{cjs → types}/types/data-structures/priority-queue/index.d.ts +0 -0
  693. /package/dist/{cjs → types}/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  694. /package/dist/{cjs → types}/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  695. /package/dist/{cjs → types}/types/data-structures/priority-queue/priority-queue.d.ts +0 -0
  696. /package/dist/{cjs → types}/types/data-structures/queue/deque.d.ts +0 -0
  697. /package/dist/{cjs → types}/types/data-structures/queue/index.d.ts +0 -0
  698. /package/dist/{cjs → types}/types/data-structures/queue/queue.d.ts +0 -0
  699. /package/dist/{cjs → types}/types/data-structures/stack/index.d.ts +0 -0
  700. /package/dist/{cjs → types}/types/data-structures/stack/stack.d.ts +0 -0
  701. /package/dist/{cjs → types}/types/data-structures/tree/index.d.ts +0 -0
  702. /package/dist/{cjs → types}/types/data-structures/tree/tree.d.ts +0 -0
  703. /package/dist/{cjs → types}/types/data-structures/trie/index.d.ts +0 -0
  704. /package/dist/{cjs → types}/types/data-structures/trie/trie.d.ts +0 -0
  705. /package/dist/{cjs → types}/types/index.d.ts +0 -0
  706. /package/dist/{cjs → types}/types/utils/index.d.ts +0 -0
  707. /package/dist/{cjs → types}/types/utils/utils.d.ts +0 -0
  708. /package/dist/{cjs → types}/types/utils/validate-type.d.ts +0 -0
  709. /package/dist/{cjs → types}/utils/index.d.ts +0 -0
  710. /package/dist/{cjs → types}/utils/number.d.ts +0 -0
  711. /package/dist/{cjs → types}/utils/utils.d.ts +0 -0
@@ -190,7 +190,7 @@ import { IterableElementBase } from '../base';
190
190
  * ]);
191
191
  * console.log(scheduleTasks(tasks, 2)); // expectedMap
192
192
  */
193
- export class Heap<E = unknown, R = never> extends IterableElementBase<E, R> {
193
+ export class Heap<E = any, R = any> extends IterableElementBase<E, R> {
194
194
  protected _equals: (a: E, b: E) => boolean = Object.is;
195
195
 
196
196
  /**
@@ -255,7 +255,7 @@ export class Heap<E = unknown, R = never> extends IterableElementBase<E, R> {
255
255
  * @returns A new heap instance of this class.
256
256
  */
257
257
 
258
- static from<T, R = never, S extends Heap<T, R> = Heap<T, R>>(
258
+ static from<T, R = any, S extends Heap<T, R> = Heap<T, R>>(
259
259
  this: new (elements?: Iterable<T | R>, options?: HeapOptions<T, R>) => S,
260
260
  elements?: Iterable<T | R>,
261
261
  options?: HeapOptions<T, R>
@@ -273,7 +273,7 @@ export class Heap<E = unknown, R = never> extends IterableElementBase<E, R> {
273
273
  * @returns A new Heap built from elements.
274
274
  */
275
275
 
276
- static heapify<EE = unknown, RR = never>(elements: Iterable<EE>, options: HeapOptions<EE, RR>): Heap<EE, RR> {
276
+ static heapify<EE = any, RR = any>(elements: Iterable<EE>, options: HeapOptions<EE, RR>): Heap<EE, RR> {
277
277
  return new Heap<EE, RR>(elements, options);
278
278
  }
279
279
 
@@ -788,7 +788,7 @@ export class FibonacciHeap<E> {
788
788
  */
789
789
 
790
790
  push(element: E): this {
791
- const node = this._createNode(element);
791
+ const node = this.createNode(element);
792
792
  node.left = node;
793
793
  node.right = node;
794
794
  this.mergeWithRoot(node);
@@ -900,7 +900,7 @@ export class FibonacciHeap<E> {
900
900
  heapToMerge.clear();
901
901
  }
902
902
 
903
- _createNode(element: E): FibonacciHeapNode<E> {
903
+ createNode(element: E): FibonacciHeapNode<E> {
904
904
  return new FibonacciHeapNode<E>(element);
905
905
  }
906
906
 
@@ -781,7 +781,7 @@ export class SinglyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, S
781
781
  * @returns A new SinglyLinkedListNode instance.
782
782
  */
783
783
 
784
- protected _createNode(value: E): SinglyLinkedListNode<E> {
784
+ protected createNode(value: E): SinglyLinkedListNode<E> {
785
785
  return new SinglyLinkedListNode<E>(value);
786
786
  }
787
787
 
@@ -807,7 +807,7 @@ export class SinglyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, S
807
807
 
808
808
  protected _ensureNode(elementOrNode: E | SinglyLinkedListNode<E>) {
809
809
  if (this.isNode(elementOrNode)) return elementOrNode;
810
- return this._createNode(elementOrNode);
810
+ return this.createNode(elementOrNode);
811
811
  }
812
812
 
813
813
  /**
@@ -18,7 +18,7 @@ import type {
18
18
  * K = key, V = value, R = raw/record used with toEntryFn (optional).
19
19
  * Transforming methods like `map` use method-level generics MK/MV/MR.
20
20
  */
21
- export interface IBinaryTree<K = any, V = any, R extends object = object> {
21
+ export interface IBinaryTree<K = any, V = any, R = any> {
22
22
  // ---- state ----
23
23
  readonly size: number;
24
24
  readonly root: BinaryTreeNode<K, V> | null | undefined;
@@ -32,7 +32,7 @@ export interface IBinaryTree<K = any, V = any, R extends object = object> {
32
32
  readonly isDuplicate: boolean;
33
33
 
34
34
  // ---- construction / mutation ----
35
- _createNode(key: K, value?: BinaryTreeNode<K, V>['value']): BinaryTreeNode<K, V>;
35
+ createNode(key: K, value?: BinaryTreeNode<K, V>['value']): BinaryTreeNode<K, V>;
36
36
 
37
37
  createTree(options?: Partial<BinaryTreeOptions<K, V, R>>): IBinaryTree<K, V, R>;
38
38
 
@@ -232,7 +232,7 @@ export interface IBinaryTree<K = any, V = any, R extends object = object> {
232
232
 
233
233
  filter(predicate: EntryCallback<K, V | undefined, boolean>, thisArg?: unknown): this;
234
234
 
235
- map<MK = K, MV = V, MR extends object = object>(
235
+ map<MK = K, MV = V, MR = any>(
236
236
  callback: EntryCallback<K, V | undefined, [MK, MV]>,
237
237
  options?: Partial<BinaryTreeOptions<MK, MV, MR>>,
238
238
  thisArg?: unknown
@@ -45,7 +45,7 @@ describe('AVL Tree Test from data-structure-typed', () => {
45
45
 
46
46
  expect(tree.delete(11)[0].deleted?.key).toBe(11);
47
47
  expect(tree.isAVLBalanced()).toBe(true);
48
- expect(node15 && tree.getHeight(node15)).toBe(2);
48
+ expect(node15 && tree.getHeight(node15)).toBe(1);
49
49
 
50
50
  expect(tree.delete(1)[0].deleted?.key).toBe(1);
51
51
  expect(tree.isAVLBalanced()).toBe(true);
@@ -0,0 +1,159 @@
1
+ import {
2
+ AVLTree,
3
+ BinaryTree,
4
+ BST,
5
+ Deque,
6
+ DoublyLinkedList,
7
+ HashMap,
8
+ Heap,
9
+ MaxPriorityQueue,
10
+ MinHeap,
11
+ MinPriorityQueue,
12
+ Queue,
13
+ RedBlackTree,
14
+ SinglyLinkedList,
15
+ Stack,
16
+ TreeMultiMap,
17
+ Trie
18
+ } from 'data-structure-typed';
19
+
20
+ describe('', () => {
21
+ it('', () => {
22
+ const orgArr = [6, 1, 2, 7, 5, 3, 4, 9, 8];
23
+ const orgStrArr = ['trie', 'trial', 'trick', 'trip', 'tree', 'trend', 'triangle', 'track', 'trace', 'transmit'];
24
+ const entries = [
25
+ [6, '6'],
26
+ [1, '1'],
27
+ [2, '2'],
28
+ [7, '7'],
29
+ [5, '5'],
30
+ [3, '3'],
31
+ [4, '4'],
32
+ [9, '9'],
33
+ [8, '8']
34
+ ];
35
+ const queue = new Queue(orgArr);
36
+
37
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
38
+ const deque = new Deque(orgArr);
39
+
40
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
41
+ const sList = new SinglyLinkedList(orgArr);
42
+
43
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
44
+ const dList = new DoublyLinkedList(orgArr);
45
+
46
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
47
+ const stack = new Stack(orgArr);
48
+
49
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
50
+ const minHeap = new MinHeap(orgArr);
51
+
52
+ // [1, 5, 2, 7, 6, 3, 4, 9, 8]
53
+ const maxPQ = new MaxPriorityQueue(orgArr);
54
+
55
+ // [9, 8, 4, 7, 5, 2, 3, 1, 6]
56
+ const biTree = new BinaryTree(entries);
57
+
58
+ // ___6___
59
+ // / \
60
+ // ___1_ _2_
61
+ // / \ / \
62
+ // _7_ 5 3 4
63
+ // / \
64
+ // 9 8
65
+ const bst = new BST(entries);
66
+
67
+ // _____5___
68
+ // / \
69
+ // _2_ _7_
70
+ // / \ / \
71
+ // 1 3_ 6 8_
72
+ // \ \
73
+ // 4 9
74
+ const rbTree = new RedBlackTree(entries);
75
+
76
+ // ___4___
77
+ // / \
78
+ // _2_ _6___
79
+ // / \ / \
80
+ // 1 3 5 _8_
81
+ // / \
82
+ // 7 9
83
+ const avl = new AVLTree(entries);
84
+
85
+ // ___4___
86
+ // / \
87
+ // _2_ _6___
88
+ // / \ / \
89
+ // 1 3 5 _8_
90
+ // / \
91
+ // 7 9
92
+ const treeMulti = new TreeMultiMap(entries);
93
+
94
+ // ___4___
95
+ // / \
96
+ // _2_ _6___
97
+ // / \ / \
98
+ // 1 3 5 _8_
99
+ // / \
100
+ // 7 9
101
+ const hm = new HashMap(entries);
102
+
103
+ // [[6, "6"], [1, "1"], [2, "2"], [7, "7"], [5, "5"], [3, "3"], [4, "4"], [9, "9"], [8, "8"]]
104
+ const rbTreeH = new RedBlackTree(hm);
105
+
106
+ // ___4___
107
+ // / \
108
+ // _2_ _6___
109
+ // / \ / \
110
+ // 1 3 5 _8_
111
+ // / \
112
+ // 7 9
113
+ const pq = new MinPriorityQueue(orgArr);
114
+
115
+ // [1, 5, 2, 7, 6, 3, 4, 9, 8]
116
+ const bst1 = new BST(pq);
117
+
118
+ // _____5___
119
+ // / \
120
+ // _2_ _7_
121
+ // / \ / \
122
+ // 1 3_ 6 8_
123
+ // \ \
124
+ // 4 9
125
+ const dq1 = new Deque(orgArr);
126
+
127
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
128
+ const rbTree1 = new RedBlackTree(dq1);
129
+
130
+ // _____5___
131
+ // / \
132
+ // _2___ _7___
133
+ // / \ / \
134
+ // 1 _4 6 _9
135
+ // / /
136
+ // 3 8
137
+ const trie2 = new Trie(orgStrArr);
138
+
139
+ // ['trie', 'trial', 'triangle', 'trick', 'trip', 'tree', 'trend', 'track', 'trace', 'transmit']
140
+ const heap2 = new Heap(trie2, { comparator: (a, b) => Number(a) - Number(b) });
141
+
142
+ // ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
143
+ const dq2 = new Deque(heap2);
144
+
145
+ // ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
146
+ const entries2 = dq2.map((el, i) => [i, el]);
147
+ const avl2 = new AVLTree(entries2);
148
+ avl2.print();
149
+ // ___3_______
150
+ // / \
151
+ // _1_ ___7_
152
+ // / \ / \
153
+ // 0 2 _5_ 8_
154
+ // / \ \
155
+ // 4 6 9
156
+
157
+ expect(avl2.size).toBe(10);
158
+ });
159
+ });
@@ -0,0 +1,176 @@
1
+ import {
2
+ AVLTree,
3
+ BinaryTree,
4
+ BST,
5
+ Deque,
6
+ DoublyLinkedList,
7
+ HashMap,
8
+ Heap,
9
+ MaxPriorityQueue,
10
+ MinHeap,
11
+ MinPriorityQueue,
12
+ Queue,
13
+ RedBlackTree,
14
+ SinglyLinkedList,
15
+ Stack,
16
+ TreeMultiMap,
17
+ Trie
18
+ } from 'data-structure-typed';
19
+
20
+ describe('compile', () => {
21
+ it('compiles an empty array', () => {
22
+ const orgArr = [6, 1, 2, 7, 5, 3, 4, 9, 8];
23
+ const orgStrArr = ['trie', 'trial', 'trick', 'trip', 'tree', 'trend', 'triangle', 'track', 'trace', 'transmit'];
24
+ const entries: [number, string][] = [
25
+ [6, '6'],
26
+ [1, '1'],
27
+ [2, '2'],
28
+ [7, '7'],
29
+ [5, '5'],
30
+ [3, '3'],
31
+ [4, '4'],
32
+ [9, '9'],
33
+ [8, '8']
34
+ ];
35
+
36
+ const queue = new Queue(orgArr);
37
+ queue.print();
38
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
39
+
40
+ const deque = new Deque(orgArr);
41
+ deque.print();
42
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
43
+
44
+ const sList = new SinglyLinkedList(orgArr);
45
+ sList.print();
46
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
47
+
48
+ const dList = new DoublyLinkedList(orgArr);
49
+ dList.print();
50
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
51
+
52
+ const stack = new Stack(orgArr);
53
+ stack.print();
54
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
55
+
56
+ const minHeap = new MinHeap(orgArr);
57
+ minHeap.print();
58
+ // [1, 5, 2, 7, 6, 3, 4, 9, 8]
59
+
60
+ const maxPQ = new MaxPriorityQueue(orgArr);
61
+ maxPQ.print();
62
+ // [9, 8, 4, 7, 5, 2, 3, 1, 6]
63
+
64
+ const biTree = new BinaryTree(entries);
65
+ biTree.print();
66
+ // ___6___
67
+ // / \
68
+ // ___1_ _2_
69
+ // / \ / \
70
+ // _7_ 5 3 4
71
+ // / \
72
+ // 9 8
73
+
74
+ const bst = new BST(entries);
75
+ bst.print();
76
+ // _____5___
77
+ // / \
78
+ // _2_ _7_
79
+ // / \ / \
80
+ // 1 3_ 6 8_
81
+ // \ \
82
+ // 4 9
83
+
84
+ const rbTree = new RedBlackTree(entries);
85
+ rbTree.print();
86
+ // ___4___
87
+ // / \
88
+ // _2_ _6___
89
+ // / \ / \
90
+ // 1 3 5 _8_
91
+ // / \
92
+ // 7 9
93
+
94
+ const avl = new AVLTree(entries);
95
+ avl.print();
96
+ // ___4___
97
+ // / \
98
+ // _2_ _6___
99
+ // / \ / \
100
+ // 1 3 5 _8_
101
+ // / \
102
+ // 7 9
103
+
104
+ const treeMulti = new TreeMultiMap(entries);
105
+ treeMulti.print();
106
+ // ___4___
107
+ // / \
108
+ // _2_ _6___
109
+ // / \ / \
110
+ // 1 3 5 _8_
111
+ // / \
112
+ // 7 9
113
+
114
+ const hm = new HashMap(entries);
115
+ hm.print();
116
+ // [[6, "6"], [1, "1"], [2, "2"], [7, "7"], [5, "5"], [3, "3"], [4, "4"], [9, "9"], [8, "8"]]
117
+
118
+ const rbTreeH = new RedBlackTree(hm);
119
+ rbTreeH.print();
120
+ // ___4___
121
+ // / \
122
+ // _2_ _6___
123
+ // / \ / \
124
+ // 1 3 5 _8_
125
+ // / \
126
+ // 7 9
127
+
128
+ const pq = new MinPriorityQueue(orgArr);
129
+ pq.print();
130
+ // [1, 5, 2, 7, 6, 3, 4, 9, 8]
131
+
132
+ const bst1 = new BST(pq);
133
+ bst1.print();
134
+ // _____5___
135
+ // / \
136
+ // _2_ _7_
137
+ // / \ / \
138
+ // 1 3_ 6 8_
139
+ // \ \
140
+ // 4 9
141
+
142
+ const dq1 = new Deque(orgArr);
143
+ dq1.print();
144
+ // [6, 1, 2, 7, 5, 3, 4, 9, 8]
145
+ const rbTree1 = new RedBlackTree(dq1);
146
+ rbTree1.print();
147
+ // _____5___
148
+ // / \
149
+ // _2___ _7___
150
+ // / \ / \
151
+ // 1 _4 6 _9
152
+ // / /
153
+ // 3 8
154
+
155
+ const trie2 = new Trie(orgStrArr);
156
+ trie2.print();
157
+ // ['trie', 'trial', 'triangle', 'trick', 'trip', 'tree', 'trend', 'track', 'trace', 'transmit']
158
+ const heap2 = new Heap(trie2, { comparator: (a, b) => Number(a) - Number(b) });
159
+ heap2.print();
160
+ // ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
161
+ const dq2 = new Deque(heap2);
162
+ dq2.print();
163
+ // ['transmit', 'trace', 'tree', 'trend', 'track', 'trial', 'trip', 'trie', 'trick', 'triangle']
164
+ const entries2 = dq2.map((el, i) => [i, el]);
165
+ const avl2 = new AVLTree(entries2);
166
+ avl2.print();
167
+ // ___3_______
168
+ // / \
169
+ // _1_ ___7_
170
+ // / \ / \
171
+ // 0 2 _5_ 8_
172
+ // / \ \
173
+ // 4 6 9
174
+ expect(avl2.size).toBe(10);
175
+ });
176
+ });
@@ -1,4 +1,4 @@
1
- const { MinHeap } = require('heap-typed');
1
+ const { MinHeap } = require('data-structure-typed');
2
2
 
3
3
  describe('JS Heap Operation Test', () => {
4
4
  it('should numeric heap work well', function () {
@@ -86,7 +86,7 @@
86
86
  tree.print(undefined, { isShowUndefined: true });
87
87
 
88
88
  const node3 = tree.getNode(3);
89
- if (node3) node3.right = tree._createNode(1);
89
+ if (node3) node3.right = tree.createNode(1);
90
90
  console.log(tree.isPerfectlyBalanced(), `tree.isPerfectlyBalanced()`);
91
91
  tree.print();
92
92
 
@@ -1,6 +1,4 @@
1
- import { PriorityQueue as MJSPriorityQueue } from '../../../../dist/esm';
2
- import { PriorityQueue as SRCPriorityQueue } from '../../../../src';
3
- import { PriorityQueue as CJSPriorityQueue } from '../../../../dist/cjs';
1
+ import { Heap as SRCPriorityQueue } from '../../../../src';
4
2
  import {
5
3
  Deque as CDeque,
6
4
  HashMap as CHashMap,
@@ -16,93 +14,65 @@ import { getRandomIntArray, magnitude } from '../../../utils';
16
14
  import { isCompetitor } from '../../../config';
17
15
 
18
16
  const suite = new Benchmark.Suite();
19
- const { TEN_THOUSAND, HUNDRED_THOUSAND, MILLION } = magnitude;
17
+ const { HUNDRED_THOUSAND, MILLION } = magnitude;
20
18
  const cOrderedMap = new OrderedMap<number, number>();
21
19
  const arrHundredThousand = getRandomIntArray(HUNDRED_THOUSAND, 0, HUNDRED_THOUSAND, true);
22
20
 
23
- suite
24
- .add(`SRC PQ ${TEN_THOUSAND.toLocaleString()} add`, () => {
25
- const pq = new SRCPriorityQueue<number>();
26
- for (let i = 0; i < TEN_THOUSAND; i++) pq.add(i);
27
- })
28
- .add(`CJS PQ ${TEN_THOUSAND.toLocaleString()} add`, () => {
29
- const pq = new CJSPriorityQueue<number>();
30
- for (let i = 0; i < TEN_THOUSAND; i++) pq.add(i);
31
- })
32
- .add(`MJS PQ ${TEN_THOUSAND.toLocaleString()} add`, () => {
33
- const pq = new MJSPriorityQueue<number>([], {
34
- comparator: (a, b) => b - a
35
- });
36
- for (let i = 0; i < TEN_THOUSAND; i++) pq.add(i);
37
- });
21
+ suite.add(`SRC PQ ${MILLION.toLocaleString()} add`, () => {
22
+ const pq = new SRCPriorityQueue<number>();
23
+ for (let i = 0; i < MILLION; i++) pq.add(i);
24
+ });
38
25
 
39
26
  if (isCompetitor) {
40
- suite.add(`CPT PQ ${TEN_THOUSAND.toLocaleString()} add`, () => {
27
+ suite.add(`CPT PQ ${HUNDRED_THOUSAND.toLocaleString()} add`, () => {
41
28
  const pq = new CPriorityQueue<number>();
42
- for (let i = 0; i < TEN_THOUSAND; i++) pq.push(i);
29
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) pq.push(i);
43
30
  });
44
31
  }
45
32
 
46
- suite
47
- .add(`SRC PQ ${TEN_THOUSAND.toLocaleString()} add & poll`, () => {
48
- const pq = new SRCPriorityQueue<number>([], {
49
- comparator: (a, b) => b - a
50
- });
51
-
52
- for (let i = 0; i < TEN_THOUSAND; i++) pq.add(i);
53
- for (let i = 0; i < TEN_THOUSAND; i++) pq.poll();
54
- })
55
- .add(`CJS PQ ${TEN_THOUSAND.toLocaleString()} add & poll`, () => {
56
- const pq = new CJSPriorityQueue<number>([], {
57
- comparator: (a, b) => b - a
58
- });
59
-
60
- for (let i = 0; i < TEN_THOUSAND; i++) pq.add(i);
61
- for (let i = 0; i < TEN_THOUSAND; i++) pq.poll();
62
- })
63
- .add(`MJS PQ ${TEN_THOUSAND.toLocaleString()} add & poll`, () => {
64
- const pq = new MJSPriorityQueue<number>([], {
65
- comparator: (a, b) => b - a
66
- });
67
-
68
- for (let i = 0; i < TEN_THOUSAND; i++) pq.add(i);
69
- for (let i = 0; i < TEN_THOUSAND; i++) pq.poll();
33
+ suite.add(`SRC PQ ${HUNDRED_THOUSAND.toLocaleString()} add & poll`, () => {
34
+ const pq = new SRCPriorityQueue<number>([], {
35
+ comparator: (a, b) => b - a
70
36
  });
71
37
 
38
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) pq.add(i);
39
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) pq.poll();
40
+ });
41
+
72
42
  if (isCompetitor) {
73
43
  suite
74
- .add(`CPT PQ ${TEN_THOUSAND.toLocaleString()} add & pop`, () => {
44
+ .add(`CPT PQ ${MILLION.toLocaleString()} add & pop`, () => {
75
45
  const pq = new CPriorityQueue<number>();
76
46
 
77
- for (let i = 0; i < TEN_THOUSAND; i++) pq.push(i);
78
- for (let i = 0; i < TEN_THOUSAND; i++) pq.pop();
47
+ for (let i = 0; i < MILLION; i++) pq.push(i);
48
+ for (let i = 0; i < MILLION; i++) pq.pop();
79
49
  })
80
50
  .add(`CPT OM ${HUNDRED_THOUSAND.toLocaleString()} add`, () => {
81
51
  for (let i = 0; i < arrHundredThousand.length; i++)
82
52
  cOrderedMap.setElement(arrHundredThousand[i], arrHundredThousand[i]);
83
53
  })
84
- .add(`CPT HM ${TEN_THOUSAND.toLocaleString()} set`, () => {
54
+ .add(`CPT HM ${HUNDRED_THOUSAND.toLocaleString()} set`, () => {
85
55
  const hm = new CHashMap<number, number>();
86
56
 
87
- for (let i = 0; i < TEN_THOUSAND; i++) hm.setElement(i, i);
57
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) hm.setElement(i, i);
88
58
  })
89
- .add(`CPT HM ${TEN_THOUSAND.toLocaleString()} set & get`, () => {
59
+ .add(`CPT HM ${HUNDRED_THOUSAND.toLocaleString()} set & get`, () => {
90
60
  const hm = new CHashMap<number, number>();
91
61
 
92
- for (let i = 0; i < TEN_THOUSAND; i++) hm.setElement(i, i);
93
- for (let i = 0; i < TEN_THOUSAND; i++) hm.getElementByKey(i);
62
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) hm.setElement(i, i);
63
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) hm.getElementByKey(i);
94
64
  })
95
65
  .add(`CPT LL ${MILLION.toLocaleString()} unshift`, () => {
96
66
  const list = new CLinkedList<number>();
97
67
 
98
68
  for (let i = 0; i < MILLION; i++) list.pushFront(i);
99
69
  })
100
- .add(`CPT PQ ${TEN_THOUSAND.toLocaleString()} add & pop`, () => {
70
+ .add(`CPT PQ ${HUNDRED_THOUSAND.toLocaleString()} add & pop`, () => {
101
71
  const pq = new CPriorityQueue<number>();
102
72
 
103
- for (let i = 0; i < TEN_THOUSAND; i++) pq.push(i);
73
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) pq.push(i);
104
74
 
105
- for (let i = 0; i < TEN_THOUSAND; i++) pq.pop();
75
+ for (let i = 0; i < HUNDRED_THOUSAND; i++) pq.pop();
106
76
  })
107
77
  .add(`CPT DQ ${MILLION.toLocaleString()} push`, () => {
108
78
  const deque = new CDeque<number>();
@@ -126,4 +96,4 @@ if (isCompetitor) {
126
96
  });
127
97
  }
128
98
 
129
- // export { suite };
99
+ export { suite };
@@ -152,7 +152,7 @@ describe('BinaryTree', () => {
152
152
  it('delete(): leaf/one-child/two-children/missing; updates size and minHeight', () => {
153
153
  expect(binTree.getHeight(binTree.root, 'ITERATIVE')).toBe(-1);
154
154
  expect(binTree.getMinHeight()).toBe(-1);
155
- const node1 = binTree._createNode(1);
155
+ const node1 = binTree.createNode(1);
156
156
  binTree.add(node1);
157
157
  expect(binTree.size).toBe(1);
158
158
 
@@ -261,7 +261,7 @@ describe('BinaryTree', () => {
261
261
  expect(binTree.isPerfectlyBalanced()).toBe(true);
262
262
  const node3 = binTree.getNode(3);
263
263
 
264
- if (node3) node3.right = binTree._createNode(1);
264
+ if (node3) node3.right = binTree.createNode(1);
265
265
  expect(binTree.isPerfectlyBalanced()).toBe(false);
266
266
 
267
267
  binTree.clear();
@@ -1587,7 +1587,7 @@ describe('Coverage boosters - close remaining uncovered branches', () => {
1587
1587
 
1588
1588
  it('add(): build tree with no undefined child slot -> return false path', () => {
1589
1589
  const t = new BinaryTree<number>();
1590
- const r = t._createNode(1)!;
1590
+ const r = t.createNode(1)!;
1591
1591
  // explicitly set left/right child pointers to null (not undefined) so BFS finds no insertion slot
1592
1592
  (r as any).left = null;
1593
1593
  (r as any).right = null;