data-structure-typed 1.38.0 → 1.38.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 (792) hide show
  1. package/dist/{data-structures → cjs/data-structures}/binary-tree/avl-tree.js +22 -22
  2. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -0
  3. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  4. package/dist/{data-structures → cjs/data-structures}/binary-tree/binary-tree.js +32 -32
  5. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -0
  6. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -0
  7. package/dist/cjs/data-structures/binary-tree/index.js.map +1 -0
  8. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -0
  9. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +1 -0
  10. package/dist/{data-structures → cjs/data-structures}/binary-tree/tree-multiset.js +23 -23
  11. package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +1 -0
  12. package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -0
  13. package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -0
  14. package/dist/cjs/data-structures/graph/index.js.map +1 -0
  15. package/dist/cjs/data-structures/graph/map-graph.js.map +1 -0
  16. package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -0
  17. package/dist/cjs/data-structures/hash/coordinate-map.js.map +1 -0
  18. package/dist/cjs/data-structures/hash/coordinate-set.js.map +1 -0
  19. package/dist/{data-structures → cjs/data-structures}/hash/hash-map.js +59 -59
  20. package/dist/cjs/data-structures/hash/hash-map.js.map +1 -0
  21. package/dist/{data-structures → cjs/data-structures}/hash/hash-table.js +99 -99
  22. package/dist/cjs/data-structures/hash/hash-table.js.map +1 -0
  23. package/dist/cjs/data-structures/hash/index.js.map +1 -0
  24. package/dist/cjs/data-structures/hash/tree-map.js.map +1 -0
  25. package/dist/cjs/data-structures/hash/tree-set.js.map +1 -0
  26. package/dist/{data-structures → cjs/data-structures}/heap/heap.js +167 -167
  27. package/dist/cjs/data-structures/heap/heap.js.map +1 -0
  28. package/dist/cjs/data-structures/heap/index.js.map +1 -0
  29. package/dist/cjs/data-structures/heap/max-heap.js.map +1 -0
  30. package/dist/cjs/data-structures/heap/min-heap.js.map +1 -0
  31. package/dist/cjs/data-structures/index.js.map +1 -0
  32. package/dist/{data-structures → cjs/data-structures}/linked-list/doubly-linked-list.js +3 -3
  33. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  34. package/dist/cjs/data-structures/linked-list/index.js.map +1 -0
  35. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -0
  36. package/dist/{data-structures → cjs/data-structures}/linked-list/skip-linked-list.js +34 -34
  37. package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +1 -0
  38. package/dist/cjs/data-structures/matrix/index.js.map +1 -0
  39. package/dist/cjs/data-structures/matrix/matrix.js.map +1 -0
  40. package/{lib → dist/cjs}/data-structures/matrix/matrix2d.js +21 -13
  41. package/dist/cjs/data-structures/matrix/matrix2d.js.map +1 -0
  42. package/dist/cjs/data-structures/matrix/navigator.js.map +1 -0
  43. package/dist/cjs/data-structures/matrix/vector2d.js.map +1 -0
  44. package/dist/cjs/data-structures/priority-queue/index.js.map +1 -0
  45. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  46. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  47. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +1 -0
  48. package/dist/cjs/data-structures/queue/deque.js.map +1 -0
  49. package/dist/cjs/data-structures/queue/index.js.map +1 -0
  50. package/dist/cjs/data-structures/queue/queue.js.map +1 -0
  51. package/dist/cjs/data-structures/stack/index.js.map +1 -0
  52. package/dist/cjs/data-structures/stack/stack.js.map +1 -0
  53. package/dist/cjs/data-structures/tree/index.js.map +1 -0
  54. package/dist/cjs/data-structures/tree/tree.js.map +1 -0
  55. package/dist/cjs/data-structures/trie/index.js.map +1 -0
  56. package/dist/{data-structures → cjs/data-structures}/trie/trie.js +6 -6
  57. package/dist/cjs/data-structures/trie/trie.js.map +1 -0
  58. package/dist/cjs/index.js.map +1 -0
  59. package/dist/cjs/interfaces/binary-tree.js.map +1 -0
  60. package/dist/cjs/interfaces/doubly-linked-list.js.map +1 -0
  61. package/dist/{interfaces → cjs/interfaces}/graph.js.map +1 -1
  62. package/dist/{interfaces → cjs/interfaces}/heap.js.map +1 -1
  63. package/dist/cjs/interfaces/index.js.map +1 -0
  64. package/dist/{interfaces → cjs/interfaces}/navigator.js.map +1 -1
  65. package/dist/cjs/interfaces/priority-queue.js.map +1 -0
  66. package/dist/cjs/interfaces/segment-tree.js.map +1 -0
  67. package/dist/cjs/interfaces/singly-linked-list.js.map +1 -0
  68. package/dist/cjs/types/data-structures/binary-tree/avl-tree.js.map +1 -0
  69. package/dist/cjs/types/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  70. package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +1 -0
  71. package/dist/cjs/types/data-structures/binary-tree/bst.js.map +1 -0
  72. package/dist/cjs/types/data-structures/binary-tree/index.js.map +1 -0
  73. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js.map +1 -0
  74. package/dist/cjs/types/data-structures/binary-tree/segment-tree.js.map +1 -0
  75. package/dist/cjs/types/data-structures/binary-tree/tree-multiset.js.map +1 -0
  76. package/dist/cjs/types/data-structures/graph/abstract-graph.js.map +1 -0
  77. package/dist/cjs/types/data-structures/graph/directed-graph.js.map +1 -0
  78. package/dist/cjs/types/data-structures/graph/index.js.map +1 -0
  79. package/dist/cjs/types/data-structures/graph/map-graph.js.map +1 -0
  80. package/dist/cjs/types/data-structures/graph/undirected-graph.js.map +1 -0
  81. package/dist/cjs/types/data-structures/hash/coordinate-map.js.map +1 -0
  82. package/dist/cjs/types/data-structures/hash/coordinate-set.js.map +1 -0
  83. package/dist/cjs/types/data-structures/hash/hash-map.js.map +1 -0
  84. package/dist/cjs/types/data-structures/hash/hash-table.js.map +1 -0
  85. package/dist/cjs/types/data-structures/hash/index.js.map +1 -0
  86. package/dist/cjs/types/data-structures/hash/tree-map.js.map +1 -0
  87. package/dist/cjs/types/data-structures/hash/tree-set.js.map +1 -0
  88. package/dist/cjs/types/data-structures/heap/heap.js.map +1 -0
  89. package/dist/cjs/types/data-structures/heap/index.js.map +1 -0
  90. package/dist/cjs/types/data-structures/heap/max-heap.js.map +1 -0
  91. package/dist/cjs/types/data-structures/heap/min-heap.js.map +1 -0
  92. package/dist/cjs/types/data-structures/index.js.map +1 -0
  93. package/dist/cjs/types/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  94. package/dist/cjs/types/data-structures/linked-list/index.js.map +1 -0
  95. package/dist/cjs/types/data-structures/linked-list/singly-linked-list.js.map +1 -0
  96. package/dist/cjs/types/data-structures/linked-list/skip-linked-list.js.map +1 -0
  97. package/dist/cjs/types/data-structures/matrix/index.js.map +1 -0
  98. package/dist/cjs/types/data-structures/matrix/matrix.js.map +1 -0
  99. package/dist/cjs/types/data-structures/matrix/matrix2d.js.map +1 -0
  100. package/dist/cjs/types/data-structures/matrix/navigator.js.map +1 -0
  101. package/dist/cjs/types/data-structures/matrix/vector2d.js.map +1 -0
  102. package/dist/cjs/types/data-structures/priority-queue/index.js.map +1 -0
  103. package/dist/cjs/types/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  104. package/dist/cjs/types/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  105. package/dist/cjs/types/data-structures/priority-queue/priority-queue.js.map +1 -0
  106. package/dist/cjs/types/data-structures/queue/deque.js.map +1 -0
  107. package/dist/cjs/types/data-structures/queue/index.js.map +1 -0
  108. package/dist/cjs/types/data-structures/queue/queue.js.map +1 -0
  109. package/dist/cjs/types/data-structures/stack/index.js.map +1 -0
  110. package/dist/cjs/types/data-structures/stack/stack.js.map +1 -0
  111. package/dist/cjs/types/data-structures/tree/index.js.map +1 -0
  112. package/dist/cjs/types/data-structures/tree/tree.js.map +1 -0
  113. package/dist/cjs/types/data-structures/trie/index.js.map +1 -0
  114. package/dist/cjs/types/data-structures/trie/trie.js.map +1 -0
  115. package/dist/cjs/types/helpers.js.map +1 -0
  116. package/dist/cjs/types/index.js.map +1 -0
  117. package/dist/cjs/types/utils/index.js.map +1 -0
  118. package/dist/{types → cjs/types}/utils/utils.js.map +1 -1
  119. package/dist/cjs/types/utils/validate-type.js.map +1 -0
  120. package/dist/cjs/utils/index.js.map +1 -0
  121. package/dist/cjs/utils/utils.js.map +1 -0
  122. package/{lib → dist/mjs}/data-structures/binary-tree/avl-tree.js +32 -26
  123. package/{lib → dist/mjs}/data-structures/binary-tree/binary-indexed-tree.js +12 -3
  124. package/{lib → dist/mjs}/data-structures/binary-tree/binary-tree.js +90 -73
  125. package/{lib → dist/mjs}/data-structures/binary-tree/bst.js +42 -40
  126. package/dist/mjs/data-structures/binary-tree/index.js +23 -0
  127. package/dist/mjs/data-structures/binary-tree/rb-tree.js +28 -0
  128. package/{lib → dist/mjs}/data-structures/binary-tree/segment-tree.js +17 -10
  129. package/{lib → dist/mjs}/data-structures/binary-tree/tree-multiset.js +42 -36
  130. package/{lib → dist/mjs}/data-structures/graph/abstract-graph.js +29 -24
  131. package/{lib → dist/mjs}/data-structures/graph/directed-graph.js +22 -14
  132. package/dist/mjs/data-structures/graph/index.js +20 -0
  133. package/{lib → dist/mjs}/data-structures/graph/map-graph.js +14 -5
  134. package/{lib → dist/mjs}/data-structures/graph/undirected-graph.js +19 -13
  135. package/{lib → dist/mjs}/data-structures/hash/coordinate-map.js +6 -2
  136. package/{lib → dist/mjs}/data-structures/hash/coordinate-set.js +6 -2
  137. package/{lib → dist/mjs}/data-structures/hash/hash-map.js +70 -60
  138. package/{lib → dist/mjs}/data-structures/hash/hash-table.js +115 -103
  139. package/dist/mjs/data-structures/hash/index.js +22 -0
  140. package/dist/mjs/data-structures/hash/tree-map.js +6 -0
  141. package/dist/mjs/data-structures/hash/tree-set.js +6 -0
  142. package/{lib → dist/mjs}/data-structures/heap/heap.js +188 -172
  143. package/dist/mjs/data-structures/heap/index.js +19 -0
  144. package/{lib → dist/mjs}/data-structures/heap/max-heap.js +6 -2
  145. package/{lib → dist/mjs}/data-structures/heap/min-heap.js +6 -2
  146. package/dist/mjs/data-structures/index.js +27 -0
  147. package/{lib → dist/mjs}/data-structures/linked-list/doubly-linked-list.js +18 -9
  148. package/dist/mjs/data-structures/linked-list/index.js +19 -0
  149. package/{lib → dist/mjs}/data-structures/linked-list/singly-linked-list.js +12 -2
  150. package/{lib → dist/mjs}/data-structures/linked-list/skip-linked-list.js +48 -36
  151. package/dist/mjs/data-structures/matrix/index.js +20 -0
  152. package/{lib → dist/mjs}/data-structures/matrix/matrix.js +6 -1
  153. package/dist/{data-structures → mjs/data-structures}/matrix/matrix2d.js +14 -11
  154. package/{lib → dist/mjs}/data-structures/matrix/navigator.js +14 -2
  155. package/{lib → dist/mjs}/data-structures/matrix/vector2d.js +9 -2
  156. package/dist/mjs/data-structures/priority-queue/index.js +19 -0
  157. package/{lib → dist/mjs}/data-structures/priority-queue/max-priority-queue.js +6 -2
  158. package/{lib → dist/mjs}/data-structures/priority-queue/min-priority-queue.js +6 -2
  159. package/dist/mjs/data-structures/priority-queue/priority-queue.js +17 -0
  160. package/{lib → dist/mjs}/data-structures/queue/deque.js +21 -22
  161. package/dist/mjs/data-structures/queue/index.js +18 -0
  162. package/{lib → dist/mjs}/data-structures/queue/queue.js +11 -5
  163. package/dist/mjs/data-structures/stack/index.js +17 -0
  164. package/{lib → dist/mjs}/data-structures/stack/stack.js +6 -1
  165. package/dist/mjs/data-structures/tree/index.js +17 -0
  166. package/{lib → dist/mjs}/data-structures/tree/tree.js +8 -1
  167. package/dist/mjs/data-structures/trie/index.js +17 -0
  168. package/{lib → dist/mjs}/data-structures/trie/trie.js +18 -8
  169. package/dist/mjs/index.js +20 -0
  170. package/dist/mjs/interfaces/binary-tree.js +2 -0
  171. package/dist/mjs/interfaces/doubly-linked-list.js +2 -0
  172. package/dist/mjs/interfaces/graph.js +2 -0
  173. package/dist/mjs/interfaces/heap.js +2 -0
  174. package/dist/mjs/interfaces/index.js +24 -0
  175. package/dist/mjs/interfaces/navigator.js +2 -0
  176. package/dist/mjs/interfaces/priority-queue.js +2 -0
  177. package/dist/mjs/interfaces/segment-tree.js +2 -0
  178. package/dist/mjs/interfaces/singly-linked-list.js +2 -0
  179. package/dist/mjs/types/data-structures/binary-tree/avl-tree.js +2 -0
  180. package/dist/mjs/types/data-structures/binary-tree/binary-indexed-tree.js +2 -0
  181. package/{lib → dist/mjs}/types/data-structures/binary-tree/binary-tree.js +7 -4
  182. package/dist/mjs/types/data-structures/binary-tree/bst.js +2 -0
  183. package/dist/mjs/types/data-structures/binary-tree/index.js +22 -0
  184. package/dist/mjs/types/data-structures/binary-tree/rb-tree.js +8 -0
  185. package/dist/mjs/types/data-structures/binary-tree/segment-tree.js +2 -0
  186. package/dist/mjs/types/data-structures/binary-tree/tree-multiset.js +2 -0
  187. package/dist/mjs/types/data-structures/graph/abstract-graph.js +2 -0
  188. package/dist/mjs/types/data-structures/graph/directed-graph.js +9 -0
  189. package/dist/mjs/types/data-structures/graph/index.js +19 -0
  190. package/dist/mjs/types/data-structures/graph/map-graph.js +2 -0
  191. package/dist/mjs/types/data-structures/graph/undirected-graph.js +2 -0
  192. package/dist/mjs/types/data-structures/hash/coordinate-map.js +2 -0
  193. package/dist/mjs/types/data-structures/hash/coordinate-set.js +2 -0
  194. package/dist/mjs/types/data-structures/hash/hash-map.js +2 -0
  195. package/dist/mjs/types/data-structures/hash/hash-table.js +2 -0
  196. package/dist/mjs/types/data-structures/hash/index.js +2 -0
  197. package/dist/mjs/types/data-structures/hash/tree-map.js +2 -0
  198. package/dist/mjs/types/data-structures/hash/tree-set.js +2 -0
  199. package/dist/mjs/types/data-structures/heap/heap.js +2 -0
  200. package/dist/mjs/types/data-structures/heap/index.js +17 -0
  201. package/dist/mjs/types/data-structures/heap/max-heap.js +2 -0
  202. package/dist/mjs/types/data-structures/heap/min-heap.js +2 -0
  203. package/dist/mjs/types/data-structures/index.js +27 -0
  204. package/dist/mjs/types/data-structures/linked-list/doubly-linked-list.js +2 -0
  205. package/dist/mjs/types/data-structures/linked-list/index.js +18 -0
  206. package/dist/mjs/types/data-structures/linked-list/singly-linked-list.js +2 -0
  207. package/dist/mjs/types/data-structures/linked-list/skip-linked-list.js +2 -0
  208. package/dist/mjs/types/data-structures/matrix/index.js +17 -0
  209. package/dist/mjs/types/data-structures/matrix/matrix.js +2 -0
  210. package/dist/mjs/types/data-structures/matrix/matrix2d.js +2 -0
  211. package/dist/mjs/types/data-structures/matrix/navigator.js +2 -0
  212. package/dist/mjs/types/data-structures/matrix/vector2d.js +2 -0
  213. package/dist/mjs/types/data-structures/priority-queue/index.js +19 -0
  214. package/dist/mjs/types/data-structures/priority-queue/max-priority-queue.js +2 -0
  215. package/dist/mjs/types/data-structures/priority-queue/min-priority-queue.js +2 -0
  216. package/dist/mjs/types/data-structures/priority-queue/priority-queue.js +2 -0
  217. package/dist/mjs/types/data-structures/queue/deque.js +2 -0
  218. package/dist/mjs/types/data-structures/queue/index.js +18 -0
  219. package/dist/mjs/types/data-structures/queue/queue.js +2 -0
  220. package/dist/mjs/types/data-structures/stack/index.js +17 -0
  221. package/dist/mjs/types/data-structures/stack/stack.js +2 -0
  222. package/dist/mjs/types/data-structures/tree/index.js +17 -0
  223. package/dist/mjs/types/data-structures/tree/tree.js +2 -0
  224. package/dist/mjs/types/data-structures/trie/index.js +17 -0
  225. package/dist/mjs/types/data-structures/trie/trie.js +2 -0
  226. package/dist/mjs/types/helpers.js +9 -0
  227. package/dist/mjs/types/index.js +19 -0
  228. package/dist/mjs/types/utils/index.js +18 -0
  229. package/dist/mjs/types/utils/utils.js +2 -0
  230. package/dist/mjs/types/utils/validate-type.js +2 -0
  231. package/dist/mjs/utils/index.js +17 -0
  232. package/dist/mjs/utils/utils.js +64 -0
  233. package/dist/umd/index.global.js +27 -0
  234. package/dist/umd/index.global.js.map +1 -0
  235. package/package.json +21 -23
  236. package/src/data-structures/binary-tree/avl-tree.ts +28 -28
  237. package/src/data-structures/binary-tree/binary-indexed-tree.ts +1 -1
  238. package/src/data-structures/binary-tree/binary-tree.ts +57 -57
  239. package/src/data-structures/binary-tree/bst.ts +4 -0
  240. package/src/data-structures/binary-tree/rb-tree.ts +2 -2
  241. package/src/data-structures/binary-tree/tree-multiset.ts +30 -31
  242. package/src/data-structures/graph/abstract-graph.ts +10 -11
  243. package/src/data-structures/graph/directed-graph.ts +1 -2
  244. package/src/data-structures/graph/undirected-graph.ts +4 -5
  245. package/src/data-structures/hash/hash-map.ts +82 -76
  246. package/src/data-structures/hash/hash-table.ts +112 -109
  247. package/src/data-structures/hash/tree-map.ts +2 -1
  248. package/src/data-structures/hash/tree-set.ts +2 -1
  249. package/src/data-structures/heap/heap.ts +182 -181
  250. package/src/data-structures/linked-list/doubly-linked-list.ts +4 -4
  251. package/src/data-structures/linked-list/singly-linked-list.ts +1 -1
  252. package/src/data-structures/linked-list/skip-linked-list.ts +45 -38
  253. package/src/data-structures/matrix/matrix.ts +1 -1
  254. package/src/data-structures/matrix/matrix2d.ts +10 -10
  255. package/src/data-structures/matrix/vector2d.ts +2 -1
  256. package/src/data-structures/queue/deque.ts +5 -4
  257. package/src/data-structures/queue/queue.ts +1 -1
  258. package/src/data-structures/trie/trie.ts +9 -9
  259. package/src/types/data-structures/matrix/navigator.ts +1 -1
  260. package/src/types/helpers.ts +5 -1
  261. package/src/types/utils/utils.ts +1 -1
  262. package/src/types/utils/validate-type.ts +2 -2
  263. package/test/integration/bst.test.ts +1 -1
  264. package/test/integration/index.html +1 -2
  265. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +1 -1
  266. package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +3 -2
  267. package/test/unit/data-structures/binary-tree/bst.test.ts +3 -3
  268. package/test/unit/data-structures/binary-tree/overall.test.ts +1 -1
  269. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +1 -1
  270. package/test/unit/data-structures/hash/hash-table.test.ts +1 -1
  271. package/test/unit/data-structures/heap/heap.test.ts +2 -2
  272. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +1 -1
  273. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +2 -2
  274. package/test/unit/data-structures/matrix/navigator.test.ts +1 -1
  275. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +2 -2
  276. package/test/unit/data-structures/queue/deque.test.ts +1 -1
  277. package/test/unit/data-structures/queue/queue.test.ts +1 -1
  278. package/test/utils/big-o.ts +1 -1
  279. package/tsconfig-base.json +27 -0
  280. package/tsconfig-cjs.json +9 -0
  281. package/tsup.config.js +11 -0
  282. package/umd/bundle.min.js +1 -1
  283. package/umd/bundle.min.js.map +1 -1
  284. package/dist/data-structures/binary-tree/avl-tree.js.map +0 -1
  285. package/dist/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  286. package/dist/data-structures/binary-tree/binary-tree.js.map +0 -1
  287. package/dist/data-structures/binary-tree/bst.js.map +0 -1
  288. package/dist/data-structures/binary-tree/index.js.map +0 -1
  289. package/dist/data-structures/binary-tree/rb-tree.js.map +0 -1
  290. package/dist/data-structures/binary-tree/segment-tree.js.map +0 -1
  291. package/dist/data-structures/binary-tree/tree-multiset.js.map +0 -1
  292. package/dist/data-structures/graph/abstract-graph.js.map +0 -1
  293. package/dist/data-structures/graph/directed-graph.js.map +0 -1
  294. package/dist/data-structures/graph/index.js.map +0 -1
  295. package/dist/data-structures/graph/map-graph.js.map +0 -1
  296. package/dist/data-structures/graph/undirected-graph.js.map +0 -1
  297. package/dist/data-structures/hash/coordinate-map.js.map +0 -1
  298. package/dist/data-structures/hash/coordinate-set.js.map +0 -1
  299. package/dist/data-structures/hash/hash-map.js.map +0 -1
  300. package/dist/data-structures/hash/hash-table.js.map +0 -1
  301. package/dist/data-structures/hash/index.js.map +0 -1
  302. package/dist/data-structures/hash/tree-map.js.map +0 -1
  303. package/dist/data-structures/hash/tree-set.js.map +0 -1
  304. package/dist/data-structures/heap/heap.js.map +0 -1
  305. package/dist/data-structures/heap/index.js.map +0 -1
  306. package/dist/data-structures/heap/max-heap.js.map +0 -1
  307. package/dist/data-structures/heap/min-heap.js.map +0 -1
  308. package/dist/data-structures/index.js.map +0 -1
  309. package/dist/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  310. package/dist/data-structures/linked-list/index.js.map +0 -1
  311. package/dist/data-structures/linked-list/singly-linked-list.js.map +0 -1
  312. package/dist/data-structures/linked-list/skip-linked-list.js.map +0 -1
  313. package/dist/data-structures/matrix/index.js.map +0 -1
  314. package/dist/data-structures/matrix/matrix.js.map +0 -1
  315. package/dist/data-structures/matrix/matrix2d.js.map +0 -1
  316. package/dist/data-structures/matrix/navigator.js.map +0 -1
  317. package/dist/data-structures/matrix/vector2d.js.map +0 -1
  318. package/dist/data-structures/priority-queue/index.js.map +0 -1
  319. package/dist/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  320. package/dist/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  321. package/dist/data-structures/priority-queue/priority-queue.js.map +0 -1
  322. package/dist/data-structures/queue/deque.js.map +0 -1
  323. package/dist/data-structures/queue/index.js.map +0 -1
  324. package/dist/data-structures/queue/queue.js.map +0 -1
  325. package/dist/data-structures/stack/index.js.map +0 -1
  326. package/dist/data-structures/stack/stack.js.map +0 -1
  327. package/dist/data-structures/tree/index.js.map +0 -1
  328. package/dist/data-structures/tree/tree.js.map +0 -1
  329. package/dist/data-structures/trie/index.js.map +0 -1
  330. package/dist/data-structures/trie/trie.js.map +0 -1
  331. package/dist/index.js.map +0 -1
  332. package/dist/interfaces/binary-tree.js.map +0 -1
  333. package/dist/interfaces/doubly-linked-list.js.map +0 -1
  334. package/dist/interfaces/index.js.map +0 -1
  335. package/dist/interfaces/priority-queue.js.map +0 -1
  336. package/dist/interfaces/segment-tree.js.map +0 -1
  337. package/dist/interfaces/singly-linked-list.js.map +0 -1
  338. package/dist/types/data-structures/binary-tree/avl-tree.js.map +0 -1
  339. package/dist/types/data-structures/binary-tree/binary-indexed-tree.js.map +0 -1
  340. package/dist/types/data-structures/binary-tree/binary-tree.js.map +0 -1
  341. package/dist/types/data-structures/binary-tree/bst.js.map +0 -1
  342. package/dist/types/data-structures/binary-tree/index.js.map +0 -1
  343. package/dist/types/data-structures/binary-tree/rb-tree.js.map +0 -1
  344. package/dist/types/data-structures/binary-tree/segment-tree.js.map +0 -1
  345. package/dist/types/data-structures/binary-tree/tree-multiset.js.map +0 -1
  346. package/dist/types/data-structures/graph/abstract-graph.js.map +0 -1
  347. package/dist/types/data-structures/graph/directed-graph.js.map +0 -1
  348. package/dist/types/data-structures/graph/index.js.map +0 -1
  349. package/dist/types/data-structures/graph/map-graph.js.map +0 -1
  350. package/dist/types/data-structures/graph/undirected-graph.js.map +0 -1
  351. package/dist/types/data-structures/hash/coordinate-map.js.map +0 -1
  352. package/dist/types/data-structures/hash/coordinate-set.js.map +0 -1
  353. package/dist/types/data-structures/hash/hash-map.js.map +0 -1
  354. package/dist/types/data-structures/hash/hash-table.js.map +0 -1
  355. package/dist/types/data-structures/hash/index.js.map +0 -1
  356. package/dist/types/data-structures/hash/tree-map.js.map +0 -1
  357. package/dist/types/data-structures/hash/tree-set.js.map +0 -1
  358. package/dist/types/data-structures/heap/heap.js.map +0 -1
  359. package/dist/types/data-structures/heap/index.js.map +0 -1
  360. package/dist/types/data-structures/heap/max-heap.js.map +0 -1
  361. package/dist/types/data-structures/heap/min-heap.js.map +0 -1
  362. package/dist/types/data-structures/index.js.map +0 -1
  363. package/dist/types/data-structures/linked-list/doubly-linked-list.js.map +0 -1
  364. package/dist/types/data-structures/linked-list/index.js.map +0 -1
  365. package/dist/types/data-structures/linked-list/singly-linked-list.js.map +0 -1
  366. package/dist/types/data-structures/linked-list/skip-linked-list.js.map +0 -1
  367. package/dist/types/data-structures/matrix/index.js.map +0 -1
  368. package/dist/types/data-structures/matrix/matrix.js.map +0 -1
  369. package/dist/types/data-structures/matrix/matrix2d.js.map +0 -1
  370. package/dist/types/data-structures/matrix/navigator.js.map +0 -1
  371. package/dist/types/data-structures/matrix/vector2d.js.map +0 -1
  372. package/dist/types/data-structures/priority-queue/index.js.map +0 -1
  373. package/dist/types/data-structures/priority-queue/max-priority-queue.js.map +0 -1
  374. package/dist/types/data-structures/priority-queue/min-priority-queue.js.map +0 -1
  375. package/dist/types/data-structures/priority-queue/priority-queue.js.map +0 -1
  376. package/dist/types/data-structures/queue/deque.js.map +0 -1
  377. package/dist/types/data-structures/queue/index.js.map +0 -1
  378. package/dist/types/data-structures/queue/queue.js.map +0 -1
  379. package/dist/types/data-structures/stack/index.js.map +0 -1
  380. package/dist/types/data-structures/stack/stack.js.map +0 -1
  381. package/dist/types/data-structures/tree/index.js.map +0 -1
  382. package/dist/types/data-structures/tree/tree.js.map +0 -1
  383. package/dist/types/data-structures/trie/index.js.map +0 -1
  384. package/dist/types/data-structures/trie/trie.js.map +0 -1
  385. package/dist/types/helpers.js.map +0 -1
  386. package/dist/types/index.js.map +0 -1
  387. package/dist/types/utils/index.js.map +0 -1
  388. package/dist/types/utils/validate-type.js.map +0 -1
  389. package/dist/utils/index.js.map +0 -1
  390. package/dist/utils/utils.js.map +0 -1
  391. package/lib/data-structures/binary-tree/index.js +0 -7
  392. package/lib/data-structures/binary-tree/rb-tree.js +0 -22
  393. package/lib/data-structures/graph/index.js +0 -4
  394. package/lib/data-structures/hash/index.js +0 -6
  395. package/lib/data-structures/hash/tree-map.js +0 -2
  396. package/lib/data-structures/hash/tree-set.js +0 -2
  397. package/lib/data-structures/heap/index.js +0 -3
  398. package/lib/data-structures/index.js +0 -11
  399. package/lib/data-structures/linked-list/index.js +0 -3
  400. package/lib/data-structures/matrix/index.js +0 -4
  401. package/lib/data-structures/priority-queue/index.js +0 -3
  402. package/lib/data-structures/priority-queue/priority-queue.js +0 -13
  403. package/lib/data-structures/queue/index.js +0 -2
  404. package/lib/data-structures/stack/index.js +0 -1
  405. package/lib/data-structures/tree/index.js +0 -1
  406. package/lib/data-structures/trie/index.js +0 -1
  407. package/lib/index.js +0 -4
  408. package/lib/interfaces/binary-tree.js +0 -1
  409. package/lib/interfaces/doubly-linked-list.js +0 -1
  410. package/lib/interfaces/graph.js +0 -1
  411. package/lib/interfaces/heap.js +0 -1
  412. package/lib/interfaces/index.js +0 -8
  413. package/lib/interfaces/navigator.js +0 -1
  414. package/lib/interfaces/priority-queue.js +0 -1
  415. package/lib/interfaces/segment-tree.js +0 -1
  416. package/lib/interfaces/singly-linked-list.js +0 -1
  417. package/lib/types/data-structures/binary-tree/avl-tree.js +0 -1
  418. package/lib/types/data-structures/binary-tree/binary-indexed-tree.js +0 -1
  419. package/lib/types/data-structures/binary-tree/bst.js +0 -1
  420. package/lib/types/data-structures/binary-tree/index.js +0 -6
  421. package/lib/types/data-structures/binary-tree/rb-tree.js +0 -5
  422. package/lib/types/data-structures/binary-tree/segment-tree.js +0 -1
  423. package/lib/types/data-structures/binary-tree/tree-multiset.js +0 -1
  424. package/lib/types/data-structures/graph/abstract-graph.js +0 -1
  425. package/lib/types/data-structures/graph/directed-graph.js +0 -6
  426. package/lib/types/data-structures/graph/index.js +0 -3
  427. package/lib/types/data-structures/graph/map-graph.js +0 -1
  428. package/lib/types/data-structures/graph/undirected-graph.js +0 -1
  429. package/lib/types/data-structures/hash/coordinate-map.js +0 -1
  430. package/lib/types/data-structures/hash/coordinate-set.js +0 -1
  431. package/lib/types/data-structures/hash/hash-map.js +0 -1
  432. package/lib/types/data-structures/hash/hash-table.js +0 -1
  433. package/lib/types/data-structures/hash/index.js +0 -1
  434. package/lib/types/data-structures/hash/tree-map.js +0 -1
  435. package/lib/types/data-structures/hash/tree-set.js +0 -1
  436. package/lib/types/data-structures/heap/heap.js +0 -1
  437. package/lib/types/data-structures/heap/index.js +0 -1
  438. package/lib/types/data-structures/heap/max-heap.js +0 -1
  439. package/lib/types/data-structures/heap/min-heap.js +0 -1
  440. package/lib/types/data-structures/index.js +0 -11
  441. package/lib/types/data-structures/linked-list/doubly-linked-list.js +0 -1
  442. package/lib/types/data-structures/linked-list/index.js +0 -2
  443. package/lib/types/data-structures/linked-list/singly-linked-list.js +0 -1
  444. package/lib/types/data-structures/linked-list/skip-linked-list.js +0 -1
  445. package/lib/types/data-structures/matrix/index.js +0 -1
  446. package/lib/types/data-structures/matrix/matrix.js +0 -1
  447. package/lib/types/data-structures/matrix/matrix2d.js +0 -1
  448. package/lib/types/data-structures/matrix/navigator.js +0 -1
  449. package/lib/types/data-structures/matrix/vector2d.js +0 -1
  450. package/lib/types/data-structures/priority-queue/index.js +0 -3
  451. package/lib/types/data-structures/priority-queue/max-priority-queue.js +0 -1
  452. package/lib/types/data-structures/priority-queue/min-priority-queue.js +0 -1
  453. package/lib/types/data-structures/priority-queue/priority-queue.js +0 -1
  454. package/lib/types/data-structures/queue/deque.js +0 -1
  455. package/lib/types/data-structures/queue/index.js +0 -2
  456. package/lib/types/data-structures/queue/queue.js +0 -1
  457. package/lib/types/data-structures/stack/index.js +0 -1
  458. package/lib/types/data-structures/stack/stack.js +0 -1
  459. package/lib/types/data-structures/tree/index.js +0 -1
  460. package/lib/types/data-structures/tree/tree.js +0 -1
  461. package/lib/types/data-structures/trie/index.js +0 -1
  462. package/lib/types/data-structures/trie/trie.js +0 -1
  463. package/lib/types/helpers.js +0 -6
  464. package/lib/types/index.js +0 -3
  465. package/lib/types/utils/index.js +0 -2
  466. package/lib/types/utils/utils.js +0 -1
  467. package/lib/types/utils/validate-type.js +0 -1
  468. package/lib/utils/index.js +0 -1
  469. package/lib/utils/utils.js +0 -63
  470. package/dist/{data-structures → cjs/data-structures}/binary-tree/avl-tree.d.ts +9 -9
  471. package/dist/{data-structures → cjs/data-structures}/binary-tree/binary-indexed-tree.d.ts +0 -0
  472. package/dist/{data-structures → cjs/data-structures}/binary-tree/binary-indexed-tree.js +0 -0
  473. package/dist/{data-structures → cjs/data-structures}/binary-tree/binary-tree.d.ts +31 -31
  474. package/dist/{data-structures → cjs/data-structures}/binary-tree/bst.d.ts +0 -0
  475. package/dist/{data-structures → cjs/data-structures}/binary-tree/bst.js +0 -0
  476. package/dist/{data-structures → cjs/data-structures}/binary-tree/index.d.ts +0 -0
  477. package/dist/{data-structures → cjs/data-structures}/binary-tree/index.js +0 -0
  478. package/dist/{data-structures → cjs/data-structures}/binary-tree/rb-tree.d.ts +1 -1
  479. package/dist/{data-structures → cjs/data-structures}/binary-tree/rb-tree.js +0 -0
  480. package/dist/{data-structures → cjs/data-structures}/binary-tree/segment-tree.d.ts +0 -0
  481. package/dist/{data-structures → cjs/data-structures}/binary-tree/segment-tree.js +0 -0
  482. package/dist/{data-structures → cjs/data-structures}/binary-tree/tree-multiset.d.ts +9 -9
  483. package/dist/{data-structures → cjs/data-structures}/graph/abstract-graph.d.ts +0 -0
  484. package/dist/{data-structures → cjs/data-structures}/graph/abstract-graph.js +0 -0
  485. package/dist/{data-structures → cjs/data-structures}/graph/directed-graph.d.ts +0 -0
  486. package/dist/{data-structures → cjs/data-structures}/graph/directed-graph.js +0 -0
  487. package/dist/{data-structures → cjs/data-structures}/graph/index.d.ts +0 -0
  488. package/dist/{data-structures → cjs/data-structures}/graph/index.js +0 -0
  489. package/dist/{data-structures → cjs/data-structures}/graph/map-graph.d.ts +0 -0
  490. package/dist/{data-structures → cjs/data-structures}/graph/map-graph.js +0 -0
  491. package/dist/{data-structures → cjs/data-structures}/graph/undirected-graph.d.ts +0 -0
  492. package/dist/{data-structures → cjs/data-structures}/graph/undirected-graph.js +0 -0
  493. package/dist/{data-structures → cjs/data-structures}/hash/coordinate-map.d.ts +0 -0
  494. package/dist/{data-structures → cjs/data-structures}/hash/coordinate-map.js +0 -0
  495. package/dist/{data-structures → cjs/data-structures}/hash/coordinate-set.d.ts +0 -0
  496. package/dist/{data-structures → cjs/data-structures}/hash/coordinate-set.js +0 -0
  497. package/{lib → dist/cjs}/data-structures/hash/hash-map.d.ts +25 -25
  498. package/{lib → dist/cjs}/data-structures/hash/hash-table.d.ts +34 -34
  499. package/dist/{data-structures → cjs/data-structures}/hash/index.d.ts +0 -0
  500. package/dist/{data-structures → cjs/data-structures}/hash/index.js +0 -0
  501. package/dist/{data-structures → cjs/data-structures}/hash/tree-map.d.ts +0 -0
  502. package/dist/{data-structures → cjs/data-structures}/hash/tree-map.js +0 -0
  503. package/dist/{data-structures → cjs/data-structures}/hash/tree-set.d.ts +0 -0
  504. package/dist/{data-structures → cjs/data-structures}/hash/tree-set.js +0 -0
  505. package/dist/{data-structures → cjs/data-structures}/heap/heap.d.ts +66 -66
  506. package/dist/{data-structures → cjs/data-structures}/heap/index.d.ts +0 -0
  507. package/dist/{data-structures → cjs/data-structures}/heap/index.js +0 -0
  508. package/dist/{data-structures → cjs/data-structures}/heap/max-heap.d.ts +0 -0
  509. package/dist/{data-structures → cjs/data-structures}/heap/max-heap.js +0 -0
  510. package/dist/{data-structures → cjs/data-structures}/heap/min-heap.d.ts +0 -0
  511. package/dist/{data-structures → cjs/data-structures}/heap/min-heap.js +0 -0
  512. package/dist/{data-structures → cjs/data-structures}/index.d.ts +0 -0
  513. package/dist/{data-structures → cjs/data-structures}/index.js +0 -0
  514. package/{lib → dist/cjs}/data-structures/linked-list/doubly-linked-list.d.ts +1 -1
  515. package/dist/{data-structures → cjs/data-structures}/linked-list/index.d.ts +0 -0
  516. package/dist/{data-structures → cjs/data-structures}/linked-list/index.js +0 -0
  517. package/dist/{data-structures → cjs/data-structures}/linked-list/singly-linked-list.d.ts +0 -0
  518. package/dist/{data-structures → cjs/data-structures}/linked-list/singly-linked-list.js +0 -0
  519. package/dist/{data-structures → cjs/data-structures}/linked-list/skip-linked-list.d.ts +17 -17
  520. package/dist/{data-structures → cjs/data-structures}/matrix/index.d.ts +0 -0
  521. package/dist/{data-structures → cjs/data-structures}/matrix/index.js +0 -0
  522. package/dist/{data-structures → cjs/data-structures}/matrix/matrix.d.ts +0 -0
  523. package/dist/{data-structures → cjs/data-structures}/matrix/matrix.js +0 -0
  524. package/{lib → dist/cjs}/data-structures/matrix/matrix2d.d.ts +7 -7
  525. package/dist/{data-structures → cjs/data-structures}/matrix/navigator.d.ts +0 -0
  526. package/dist/{data-structures → cjs/data-structures}/matrix/navigator.js +0 -0
  527. package/dist/{data-structures → cjs/data-structures}/matrix/vector2d.d.ts +0 -0
  528. package/dist/{data-structures → cjs/data-structures}/matrix/vector2d.js +0 -0
  529. package/dist/{data-structures → cjs/data-structures}/priority-queue/index.d.ts +0 -0
  530. package/dist/{data-structures → cjs/data-structures}/priority-queue/index.js +0 -0
  531. package/dist/{data-structures → cjs/data-structures}/priority-queue/max-priority-queue.d.ts +0 -0
  532. package/dist/{data-structures → cjs/data-structures}/priority-queue/max-priority-queue.js +0 -0
  533. package/dist/{data-structures → cjs/data-structures}/priority-queue/min-priority-queue.d.ts +0 -0
  534. package/dist/{data-structures → cjs/data-structures}/priority-queue/min-priority-queue.js +0 -0
  535. package/dist/{data-structures → cjs/data-structures}/priority-queue/priority-queue.d.ts +0 -0
  536. package/dist/{data-structures → cjs/data-structures}/priority-queue/priority-queue.js +0 -0
  537. package/dist/{data-structures → cjs/data-structures}/queue/deque.d.ts +0 -0
  538. package/dist/{data-structures → cjs/data-structures}/queue/deque.js +0 -0
  539. package/dist/{data-structures → cjs/data-structures}/queue/index.d.ts +0 -0
  540. package/dist/{data-structures → cjs/data-structures}/queue/index.js +0 -0
  541. package/dist/{data-structures → cjs/data-structures}/queue/queue.d.ts +0 -0
  542. package/dist/{data-structures → cjs/data-structures}/queue/queue.js +0 -0
  543. package/dist/{data-structures → cjs/data-structures}/stack/index.d.ts +0 -0
  544. package/dist/{data-structures → cjs/data-structures}/stack/index.js +0 -0
  545. package/dist/{data-structures → cjs/data-structures}/stack/stack.d.ts +0 -0
  546. package/dist/{data-structures → cjs/data-structures}/stack/stack.js +0 -0
  547. package/dist/{data-structures → cjs/data-structures}/tree/index.d.ts +0 -0
  548. package/dist/{data-structures → cjs/data-structures}/tree/index.js +0 -0
  549. package/dist/{data-structures → cjs/data-structures}/tree/tree.d.ts +0 -0
  550. package/dist/{data-structures → cjs/data-structures}/tree/tree.js +0 -0
  551. package/dist/{data-structures → cjs/data-structures}/trie/index.d.ts +0 -0
  552. package/dist/{data-structures → cjs/data-structures}/trie/index.js +0 -0
  553. package/{lib → dist/cjs}/data-structures/trie/trie.d.ts +2 -2
  554. package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  555. package/dist/{index.js → cjs/index.js} +0 -0
  556. package/dist/{interfaces → cjs/interfaces}/binary-tree.d.ts +0 -0
  557. package/dist/{interfaces → cjs/interfaces}/binary-tree.js +0 -0
  558. package/dist/{interfaces → cjs/interfaces}/doubly-linked-list.d.ts +0 -0
  559. package/dist/{interfaces → cjs/interfaces}/doubly-linked-list.js +0 -0
  560. package/dist/{interfaces → cjs/interfaces}/graph.d.ts +0 -0
  561. package/dist/{interfaces → cjs/interfaces}/graph.js +0 -0
  562. package/dist/{interfaces → cjs/interfaces}/heap.d.ts +0 -0
  563. package/dist/{interfaces → cjs/interfaces}/heap.js +0 -0
  564. package/dist/{interfaces → cjs/interfaces}/index.d.ts +0 -0
  565. package/dist/{interfaces → cjs/interfaces}/index.js +0 -0
  566. package/dist/{interfaces → cjs/interfaces}/navigator.d.ts +0 -0
  567. package/dist/{interfaces → cjs/interfaces}/navigator.js +0 -0
  568. package/dist/{interfaces → cjs/interfaces}/priority-queue.d.ts +0 -0
  569. package/dist/{interfaces → cjs/interfaces}/priority-queue.js +0 -0
  570. package/dist/{interfaces → cjs/interfaces}/segment-tree.d.ts +0 -0
  571. package/dist/{interfaces → cjs/interfaces}/segment-tree.js +0 -0
  572. package/dist/{interfaces → cjs/interfaces}/singly-linked-list.d.ts +0 -0
  573. package/dist/{interfaces → cjs/interfaces}/singly-linked-list.js +0 -0
  574. package/dist/{types → cjs/types}/data-structures/binary-tree/avl-tree.d.ts +0 -0
  575. package/dist/{types → cjs/types}/data-structures/binary-tree/avl-tree.js +0 -0
  576. package/dist/{types → cjs/types}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  577. package/dist/{types → cjs/types}/data-structures/binary-tree/binary-indexed-tree.js +0 -0
  578. package/dist/{types → cjs/types}/data-structures/binary-tree/binary-tree.d.ts +0 -0
  579. package/dist/{types → cjs/types}/data-structures/binary-tree/binary-tree.js +0 -0
  580. package/dist/{types → cjs/types}/data-structures/binary-tree/bst.d.ts +0 -0
  581. package/dist/{types → cjs/types}/data-structures/binary-tree/bst.js +0 -0
  582. package/dist/{types → cjs/types}/data-structures/binary-tree/index.d.ts +0 -0
  583. package/dist/{types → cjs/types}/data-structures/binary-tree/index.js +0 -0
  584. package/dist/{types → cjs/types}/data-structures/binary-tree/rb-tree.d.ts +0 -0
  585. package/dist/{types → cjs/types}/data-structures/binary-tree/rb-tree.js +0 -0
  586. package/dist/{types → cjs/types}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  587. package/dist/{types → cjs/types}/data-structures/binary-tree/segment-tree.js +0 -0
  588. package/dist/{types → cjs/types}/data-structures/binary-tree/tree-multiset.d.ts +0 -0
  589. package/dist/{types → cjs/types}/data-structures/binary-tree/tree-multiset.js +0 -0
  590. package/dist/{types → cjs/types}/data-structures/graph/abstract-graph.d.ts +0 -0
  591. package/dist/{types → cjs/types}/data-structures/graph/abstract-graph.js +0 -0
  592. package/dist/{types → cjs/types}/data-structures/graph/directed-graph.d.ts +0 -0
  593. package/dist/{types → cjs/types}/data-structures/graph/directed-graph.js +0 -0
  594. package/dist/{types → cjs/types}/data-structures/graph/index.d.ts +0 -0
  595. package/dist/{types → cjs/types}/data-structures/graph/index.js +0 -0
  596. package/dist/{types → cjs/types}/data-structures/graph/map-graph.d.ts +0 -0
  597. package/dist/{types → cjs/types}/data-structures/graph/map-graph.js +0 -0
  598. package/dist/{types → cjs/types}/data-structures/graph/undirected-graph.d.ts +0 -0
  599. package/dist/{types → cjs/types}/data-structures/graph/undirected-graph.js +0 -0
  600. package/dist/{types → cjs/types}/data-structures/hash/coordinate-map.d.ts +0 -0
  601. package/dist/{types → cjs/types}/data-structures/hash/coordinate-map.js +0 -0
  602. package/dist/{types → cjs/types}/data-structures/hash/coordinate-set.d.ts +0 -0
  603. package/dist/{types → cjs/types}/data-structures/hash/coordinate-set.js +0 -0
  604. package/dist/{types → cjs/types}/data-structures/hash/hash-map.d.ts +0 -0
  605. package/dist/{types → cjs/types}/data-structures/hash/hash-map.js +0 -0
  606. package/dist/{types → cjs/types}/data-structures/hash/hash-table.d.ts +0 -0
  607. package/dist/{types → cjs/types}/data-structures/hash/hash-table.js +0 -0
  608. package/dist/{types → cjs/types}/data-structures/hash/index.d.ts +0 -0
  609. package/dist/{types → cjs/types}/data-structures/hash/index.js +0 -0
  610. package/dist/{types → cjs/types}/data-structures/hash/tree-map.d.ts +0 -0
  611. package/dist/{types → cjs/types}/data-structures/hash/tree-map.js +0 -0
  612. package/dist/{types → cjs/types}/data-structures/hash/tree-set.d.ts +0 -0
  613. package/dist/{types → cjs/types}/data-structures/hash/tree-set.js +0 -0
  614. package/dist/{types → cjs/types}/data-structures/heap/heap.d.ts +0 -0
  615. package/dist/{types → cjs/types}/data-structures/heap/heap.js +0 -0
  616. package/dist/{types → cjs/types}/data-structures/heap/index.d.ts +0 -0
  617. package/dist/{types → cjs/types}/data-structures/heap/index.js +0 -0
  618. package/dist/{types → cjs/types}/data-structures/heap/max-heap.d.ts +0 -0
  619. package/dist/{types → cjs/types}/data-structures/heap/max-heap.js +0 -0
  620. package/dist/{types → cjs/types}/data-structures/heap/min-heap.d.ts +0 -0
  621. package/dist/{types → cjs/types}/data-structures/heap/min-heap.js +0 -0
  622. package/dist/{types → cjs/types}/data-structures/index.d.ts +0 -0
  623. package/dist/{types → cjs/types}/data-structures/index.js +0 -0
  624. package/dist/{types → cjs/types}/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  625. package/dist/{types → cjs/types}/data-structures/linked-list/doubly-linked-list.js +0 -0
  626. package/dist/{types → cjs/types}/data-structures/linked-list/index.d.ts +0 -0
  627. package/dist/{types → cjs/types}/data-structures/linked-list/index.js +0 -0
  628. package/dist/{types → cjs/types}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  629. package/dist/{types → cjs/types}/data-structures/linked-list/singly-linked-list.js +0 -0
  630. package/dist/{types → cjs/types}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  631. package/dist/{types → cjs/types}/data-structures/linked-list/skip-linked-list.js +0 -0
  632. package/dist/{types → cjs/types}/data-structures/matrix/index.d.ts +0 -0
  633. package/dist/{types → cjs/types}/data-structures/matrix/index.js +0 -0
  634. package/dist/{types → cjs/types}/data-structures/matrix/matrix.d.ts +0 -0
  635. package/dist/{types → cjs/types}/data-structures/matrix/matrix.js +0 -0
  636. package/dist/{types → cjs/types}/data-structures/matrix/matrix2d.d.ts +0 -0
  637. package/dist/{types → cjs/types}/data-structures/matrix/matrix2d.js +0 -0
  638. package/dist/{types → cjs/types}/data-structures/matrix/navigator.d.ts +0 -0
  639. package/dist/{types → cjs/types}/data-structures/matrix/navigator.js +0 -0
  640. package/dist/{types → cjs/types}/data-structures/matrix/vector2d.d.ts +0 -0
  641. package/dist/{types → cjs/types}/data-structures/matrix/vector2d.js +0 -0
  642. package/dist/{types → cjs/types}/data-structures/priority-queue/index.d.ts +0 -0
  643. package/dist/{types → cjs/types}/data-structures/priority-queue/index.js +0 -0
  644. package/dist/{types → cjs/types}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  645. package/dist/{types → cjs/types}/data-structures/priority-queue/max-priority-queue.js +0 -0
  646. package/dist/{types → cjs/types}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  647. package/dist/{types → cjs/types}/data-structures/priority-queue/min-priority-queue.js +0 -0
  648. package/dist/{types → cjs/types}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  649. package/dist/{types → cjs/types}/data-structures/priority-queue/priority-queue.js +0 -0
  650. package/dist/{types → cjs/types}/data-structures/queue/deque.d.ts +0 -0
  651. package/dist/{types → cjs/types}/data-structures/queue/deque.js +0 -0
  652. package/dist/{types → cjs/types}/data-structures/queue/index.d.ts +0 -0
  653. package/dist/{types → cjs/types}/data-structures/queue/index.js +0 -0
  654. package/dist/{types → cjs/types}/data-structures/queue/queue.d.ts +0 -0
  655. package/dist/{types → cjs/types}/data-structures/queue/queue.js +0 -0
  656. package/dist/{types → cjs/types}/data-structures/stack/index.d.ts +0 -0
  657. package/dist/{types → cjs/types}/data-structures/stack/index.js +0 -0
  658. package/dist/{types → cjs/types}/data-structures/stack/stack.d.ts +0 -0
  659. package/dist/{types → cjs/types}/data-structures/stack/stack.js +0 -0
  660. package/dist/{types → cjs/types}/data-structures/tree/index.d.ts +0 -0
  661. package/dist/{types → cjs/types}/data-structures/tree/index.js +0 -0
  662. package/dist/{types → cjs/types}/data-structures/tree/tree.d.ts +0 -0
  663. package/dist/{types → cjs/types}/data-structures/tree/tree.js +0 -0
  664. package/dist/{types → cjs/types}/data-structures/trie/index.d.ts +0 -0
  665. package/dist/{types → cjs/types}/data-structures/trie/index.js +0 -0
  666. package/dist/{types → cjs/types}/data-structures/trie/trie.d.ts +0 -0
  667. package/dist/{types → cjs/types}/data-structures/trie/trie.js +0 -0
  668. package/dist/{types → cjs/types}/helpers.d.ts +0 -0
  669. package/dist/{types → cjs/types}/helpers.js +0 -0
  670. package/dist/{types → cjs/types}/index.d.ts +0 -0
  671. package/dist/{types → cjs/types}/index.js +0 -0
  672. package/dist/{types → cjs/types}/utils/index.d.ts +0 -0
  673. package/dist/{types → cjs/types}/utils/index.js +0 -0
  674. package/dist/{types → cjs/types}/utils/utils.d.ts +0 -0
  675. package/dist/{types → cjs/types}/utils/utils.js +0 -0
  676. package/dist/{types → cjs/types}/utils/validate-type.d.ts +0 -0
  677. package/dist/{types → cjs/types}/utils/validate-type.js +0 -0
  678. package/dist/{utils → cjs/utils}/index.d.ts +0 -0
  679. package/dist/{utils → cjs/utils}/index.js +0 -0
  680. package/dist/{utils → cjs/utils}/utils.d.ts +0 -0
  681. package/dist/{utils → cjs/utils}/utils.js +0 -0
  682. package/{lib → dist/mjs}/data-structures/binary-tree/avl-tree.d.ts +9 -9
  683. package/{lib → dist/mjs}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  684. package/{lib → dist/mjs}/data-structures/binary-tree/binary-tree.d.ts +31 -31
  685. package/{lib → dist/mjs}/data-structures/binary-tree/bst.d.ts +0 -0
  686. package/{lib → dist/mjs}/data-structures/binary-tree/index.d.ts +0 -0
  687. package/{lib → dist/mjs}/data-structures/binary-tree/rb-tree.d.ts +1 -1
  688. package/{lib → dist/mjs}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  689. package/{lib → dist/mjs}/data-structures/binary-tree/tree-multiset.d.ts +9 -9
  690. package/{lib → dist/mjs}/data-structures/graph/abstract-graph.d.ts +0 -0
  691. package/{lib → dist/mjs}/data-structures/graph/directed-graph.d.ts +0 -0
  692. package/{lib → dist/mjs}/data-structures/graph/index.d.ts +0 -0
  693. package/{lib → dist/mjs}/data-structures/graph/map-graph.d.ts +0 -0
  694. package/{lib → dist/mjs}/data-structures/graph/undirected-graph.d.ts +0 -0
  695. package/{lib → dist/mjs}/data-structures/hash/coordinate-map.d.ts +0 -0
  696. package/{lib → dist/mjs}/data-structures/hash/coordinate-set.d.ts +0 -0
  697. package/dist/{data-structures → mjs/data-structures}/hash/hash-map.d.ts +25 -25
  698. package/dist/{data-structures → mjs/data-structures}/hash/hash-table.d.ts +34 -34
  699. package/{lib → dist/mjs}/data-structures/hash/index.d.ts +0 -0
  700. package/{lib → dist/mjs}/data-structures/hash/tree-map.d.ts +0 -0
  701. package/{lib → dist/mjs}/data-structures/hash/tree-set.d.ts +0 -0
  702. package/{lib → dist/mjs}/data-structures/heap/heap.d.ts +66 -66
  703. package/{lib → dist/mjs}/data-structures/heap/index.d.ts +0 -0
  704. package/{lib → dist/mjs}/data-structures/heap/max-heap.d.ts +0 -0
  705. package/{lib → dist/mjs}/data-structures/heap/min-heap.d.ts +0 -0
  706. package/{lib → dist/mjs}/data-structures/index.d.ts +0 -0
  707. package/dist/{data-structures → mjs/data-structures}/linked-list/doubly-linked-list.d.ts +1 -1
  708. package/{lib → dist/mjs}/data-structures/linked-list/index.d.ts +0 -0
  709. package/{lib → dist/mjs}/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  710. package/{lib → dist/mjs}/data-structures/linked-list/skip-linked-list.d.ts +17 -17
  711. package/{lib → dist/mjs}/data-structures/matrix/index.d.ts +0 -0
  712. package/{lib → dist/mjs}/data-structures/matrix/matrix.d.ts +0 -0
  713. package/dist/{data-structures → mjs/data-structures}/matrix/matrix2d.d.ts +7 -7
  714. package/{lib → dist/mjs}/data-structures/matrix/navigator.d.ts +0 -0
  715. package/{lib → dist/mjs}/data-structures/matrix/vector2d.d.ts +0 -0
  716. package/{lib → dist/mjs}/data-structures/priority-queue/index.d.ts +0 -0
  717. package/{lib → dist/mjs}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  718. package/{lib → dist/mjs}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  719. package/{lib → dist/mjs}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  720. package/{lib → dist/mjs}/data-structures/queue/deque.d.ts +0 -0
  721. package/{lib → dist/mjs}/data-structures/queue/index.d.ts +0 -0
  722. package/{lib → dist/mjs}/data-structures/queue/queue.d.ts +0 -0
  723. package/{lib → dist/mjs}/data-structures/stack/index.d.ts +0 -0
  724. package/{lib → dist/mjs}/data-structures/stack/stack.d.ts +0 -0
  725. package/{lib → dist/mjs}/data-structures/tree/index.d.ts +0 -0
  726. package/{lib → dist/mjs}/data-structures/tree/tree.d.ts +0 -0
  727. package/{lib → dist/mjs}/data-structures/trie/index.d.ts +0 -0
  728. package/dist/{data-structures → mjs/data-structures}/trie/trie.d.ts +2 -2
  729. /package/{lib → dist/mjs}/index.d.ts +0 -0
  730. /package/{lib → dist/mjs}/interfaces/binary-tree.d.ts +0 -0
  731. /package/{lib → dist/mjs}/interfaces/doubly-linked-list.d.ts +0 -0
  732. /package/{lib → dist/mjs}/interfaces/graph.d.ts +0 -0
  733. /package/{lib → dist/mjs}/interfaces/heap.d.ts +0 -0
  734. /package/{lib → dist/mjs}/interfaces/index.d.ts +0 -0
  735. /package/{lib → dist/mjs}/interfaces/navigator.d.ts +0 -0
  736. /package/{lib → dist/mjs}/interfaces/priority-queue.d.ts +0 -0
  737. /package/{lib → dist/mjs}/interfaces/segment-tree.d.ts +0 -0
  738. /package/{lib → dist/mjs}/interfaces/singly-linked-list.d.ts +0 -0
  739. /package/{lib → dist/mjs}/types/data-structures/binary-tree/avl-tree.d.ts +0 -0
  740. /package/{lib → dist/mjs}/types/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  741. /package/{lib → dist/mjs}/types/data-structures/binary-tree/binary-tree.d.ts +0 -0
  742. /package/{lib → dist/mjs}/types/data-structures/binary-tree/bst.d.ts +0 -0
  743. /package/{lib → dist/mjs}/types/data-structures/binary-tree/index.d.ts +0 -0
  744. /package/{lib → dist/mjs}/types/data-structures/binary-tree/rb-tree.d.ts +0 -0
  745. /package/{lib → dist/mjs}/types/data-structures/binary-tree/segment-tree.d.ts +0 -0
  746. /package/{lib → dist/mjs}/types/data-structures/binary-tree/tree-multiset.d.ts +0 -0
  747. /package/{lib → dist/mjs}/types/data-structures/graph/abstract-graph.d.ts +0 -0
  748. /package/{lib → dist/mjs}/types/data-structures/graph/directed-graph.d.ts +0 -0
  749. /package/{lib → dist/mjs}/types/data-structures/graph/index.d.ts +0 -0
  750. /package/{lib → dist/mjs}/types/data-structures/graph/map-graph.d.ts +0 -0
  751. /package/{lib → dist/mjs}/types/data-structures/graph/undirected-graph.d.ts +0 -0
  752. /package/{lib → dist/mjs}/types/data-structures/hash/coordinate-map.d.ts +0 -0
  753. /package/{lib → dist/mjs}/types/data-structures/hash/coordinate-set.d.ts +0 -0
  754. /package/{lib → dist/mjs}/types/data-structures/hash/hash-map.d.ts +0 -0
  755. /package/{lib → dist/mjs}/types/data-structures/hash/hash-table.d.ts +0 -0
  756. /package/{lib → dist/mjs}/types/data-structures/hash/index.d.ts +0 -0
  757. /package/{lib → dist/mjs}/types/data-structures/hash/tree-map.d.ts +0 -0
  758. /package/{lib → dist/mjs}/types/data-structures/hash/tree-set.d.ts +0 -0
  759. /package/{lib → dist/mjs}/types/data-structures/heap/heap.d.ts +0 -0
  760. /package/{lib → dist/mjs}/types/data-structures/heap/index.d.ts +0 -0
  761. /package/{lib → dist/mjs}/types/data-structures/heap/max-heap.d.ts +0 -0
  762. /package/{lib → dist/mjs}/types/data-structures/heap/min-heap.d.ts +0 -0
  763. /package/{lib → dist/mjs}/types/data-structures/index.d.ts +0 -0
  764. /package/{lib → dist/mjs}/types/data-structures/linked-list/doubly-linked-list.d.ts +0 -0
  765. /package/{lib → dist/mjs}/types/data-structures/linked-list/index.d.ts +0 -0
  766. /package/{lib → dist/mjs}/types/data-structures/linked-list/singly-linked-list.d.ts +0 -0
  767. /package/{lib → dist/mjs}/types/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  768. /package/{lib → dist/mjs}/types/data-structures/matrix/index.d.ts +0 -0
  769. /package/{lib → dist/mjs}/types/data-structures/matrix/matrix.d.ts +0 -0
  770. /package/{lib → dist/mjs}/types/data-structures/matrix/matrix2d.d.ts +0 -0
  771. /package/{lib → dist/mjs}/types/data-structures/matrix/navigator.d.ts +0 -0
  772. /package/{lib → dist/mjs}/types/data-structures/matrix/vector2d.d.ts +0 -0
  773. /package/{lib → dist/mjs}/types/data-structures/priority-queue/index.d.ts +0 -0
  774. /package/{lib → dist/mjs}/types/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  775. /package/{lib → dist/mjs}/types/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  776. /package/{lib → dist/mjs}/types/data-structures/priority-queue/priority-queue.d.ts +0 -0
  777. /package/{lib → dist/mjs}/types/data-structures/queue/deque.d.ts +0 -0
  778. /package/{lib → dist/mjs}/types/data-structures/queue/index.d.ts +0 -0
  779. /package/{lib → dist/mjs}/types/data-structures/queue/queue.d.ts +0 -0
  780. /package/{lib → dist/mjs}/types/data-structures/stack/index.d.ts +0 -0
  781. /package/{lib → dist/mjs}/types/data-structures/stack/stack.d.ts +0 -0
  782. /package/{lib → dist/mjs}/types/data-structures/tree/index.d.ts +0 -0
  783. /package/{lib → dist/mjs}/types/data-structures/tree/tree.d.ts +0 -0
  784. /package/{lib → dist/mjs}/types/data-structures/trie/index.d.ts +0 -0
  785. /package/{lib → dist/mjs}/types/data-structures/trie/trie.d.ts +0 -0
  786. /package/{lib → dist/mjs}/types/helpers.d.ts +0 -0
  787. /package/{lib → dist/mjs}/types/index.d.ts +0 -0
  788. /package/{lib → dist/mjs}/types/utils/index.d.ts +0 -0
  789. /package/{lib → dist/mjs}/types/utils/utils.d.ts +0 -0
  790. /package/{lib → dist/mjs}/types/utils/validate-type.d.ts +0 -0
  791. /package/{lib → dist/mjs}/utils/index.d.ts +0 -0
  792. /package/{lib → dist/mjs}/utils/utils.d.ts +0 -0
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinaryIndexedTree = void 0;
1
4
  /**
2
5
  * data-structure-typed
3
6
  *
@@ -5,8 +8,10 @@
5
8
  * @copyright Copyright (c) 2022 Tyler Zeng <zrwusa@gmail.com>
6
9
  * @license MIT License
7
10
  */
8
- import { getMSB } from '../../utils';
9
- export class BinaryIndexedTree {
11
+ const utils_1 = require("../../utils");
12
+ class BinaryIndexedTree {
13
+ _freq;
14
+ _max;
10
15
  /**
11
16
  * The constructor initializes the properties of an object, including default frequency, maximum
12
17
  * value, a freqMap data structure, the most significant bit, and the count of negative frequencies.
@@ -17,21 +22,24 @@ export class BinaryIndexedTree {
17
22
  this._freq = frequency;
18
23
  this._max = max;
19
24
  this._freqMap = { 0: 0 };
20
- this._msb = getMSB(max);
25
+ this._msb = (0, utils_1.getMSB)(max);
21
26
  this._negativeCount = frequency < 0 ? max : 0;
22
27
  }
28
+ _freqMap;
23
29
  get freqMap() {
24
30
  return this._freqMap;
25
31
  }
26
32
  set freqMap(value) {
27
33
  this._freqMap = value;
28
34
  }
35
+ _msb;
29
36
  get msb() {
30
37
  return this._msb;
31
38
  }
32
39
  set msb(value) {
33
40
  this._msb = value;
34
41
  }
42
+ _negativeCount;
35
43
  get negativeCount() {
36
44
  return this._negativeCount;
37
45
  }
@@ -255,3 +263,4 @@ export class BinaryIndexedTree {
255
263
  return left;
256
264
  }
257
265
  }
266
+ exports.BinaryIndexedTree = BinaryIndexedTree;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * data-structure-typed
3
4
  *
@@ -5,15 +6,29 @@
5
6
  * @copyright Copyright (c) 2022 Tyler Zeng <zrwusa@gmail.com>
6
7
  * @license MIT License
7
8
  */
8
- import { FamilyPosition, IterationType } from '../../types';
9
- import { trampoline } from '../../utils';
10
- import { Queue } from '../queue';
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BinaryTree = exports.BinaryTreeNode = void 0;
11
+ const types_1 = require("../../types");
12
+ const utils_1 = require("../../utils");
13
+ const queue_1 = require("../queue");
11
14
  /**
12
15
  * Represents a node in a binary tree.
13
16
  * @template V - The type of data stored in the node.
14
17
  * @template FAMILY - The type of the family relationship in the binary tree.
15
18
  */
16
- export class BinaryTreeNode {
19
+ class BinaryTreeNode {
20
+ /**
21
+ * The key associated with the node.
22
+ */
23
+ key;
24
+ /**
25
+ * The value stored in the node.
26
+ */
27
+ val;
28
+ /**
29
+ * The parent node of the current node.
30
+ */
31
+ parent;
17
32
  /**
18
33
  * Creates a new instance of BinaryTreeNode.
19
34
  * @param {BinaryTreeNodeKey} key - The key associated with the node.
@@ -23,6 +38,7 @@ export class BinaryTreeNode {
23
38
  this.key = key;
24
39
  this.val = val;
25
40
  }
41
+ _left;
26
42
  /**
27
43
  * Get the left child node.
28
44
  */
@@ -39,6 +55,7 @@ export class BinaryTreeNode {
39
55
  }
40
56
  this._left = v;
41
57
  }
58
+ _right;
42
59
  /**
43
60
  * Get the right child node.
44
61
  */
@@ -64,68 +81,59 @@ export class BinaryTreeNode {
64
81
  if (that.parent) {
65
82
  if (that.parent.left === that) {
66
83
  if (that.left || that.right) {
67
- return FamilyPosition.ROOT_LEFT;
84
+ return types_1.FamilyPosition.ROOT_LEFT;
68
85
  }
69
86
  else {
70
- return FamilyPosition.LEFT;
87
+ return types_1.FamilyPosition.LEFT;
71
88
  }
72
89
  }
73
90
  else if (that.parent.right === that) {
74
91
  if (that.left || that.right) {
75
- return FamilyPosition.ROOT_RIGHT;
92
+ return types_1.FamilyPosition.ROOT_RIGHT;
76
93
  }
77
94
  else {
78
- return FamilyPosition.RIGHT;
95
+ return types_1.FamilyPosition.RIGHT;
79
96
  }
80
97
  }
81
98
  else {
82
- return FamilyPosition.MAL_NODE;
99
+ return types_1.FamilyPosition.MAL_NODE;
83
100
  }
84
101
  }
85
102
  else {
86
103
  if (that.left || that.right) {
87
- return FamilyPosition.ROOT;
104
+ return types_1.FamilyPosition.ROOT;
88
105
  }
89
106
  else {
90
- return FamilyPosition.ISOLATED;
107
+ return types_1.FamilyPosition.ISOLATED;
91
108
  }
92
109
  }
93
110
  }
94
111
  }
112
+ exports.BinaryTreeNode = BinaryTreeNode;
95
113
  /**
96
114
  * Represents a binary tree data structure.
97
115
  * @template N - The type of the binary tree's nodes.
98
116
  */
99
- export class BinaryTree {
117
+ class BinaryTree {
118
+ _loopType = types_1.IterationType.ITERATIVE;
100
119
  /**
101
120
  * Creates a new instance of BinaryTree.
102
121
  * @param {BinaryTreeOptions} [options] - The options for the binary tree.
103
122
  */
104
123
  constructor(options) {
105
- this._root = null;
106
- this._size = 0;
107
- this._loopType = IterationType.ITERATIVE;
108
- this._defaultCallbackByKey = node => node.key;
109
124
  if (options !== undefined) {
110
- const { iterationType = IterationType.ITERATIVE } = options;
125
+ const { iterationType = types_1.IterationType.ITERATIVE } = options;
111
126
  this._loopType = iterationType;
112
127
  }
113
128
  }
114
- /**
115
- * Creates a new instance of BinaryTreeNode with the given key and value.
116
- * @param {BinaryTreeNodeKey} key - The key for the new node.
117
- * @param {N['val']} val - The value for the new node.
118
- * @returns {N} - The newly created BinaryTreeNode.
119
- */
120
- createNode(key, val) {
121
- return new BinaryTreeNode(key, val);
122
- }
129
+ _root = null;
123
130
  /**
124
131
  * Get the root node of the binary tree.
125
132
  */
126
133
  get root() {
127
134
  return this._root;
128
135
  }
136
+ _size = 0;
129
137
  /**
130
138
  * Get the number of nodes in the binary tree.
131
139
  */
@@ -146,21 +154,13 @@ export class BinaryTree {
146
154
  this._loopType = v;
147
155
  }
148
156
  /**
149
- * Swap the data of two nodes in the binary tree.
150
- * @param {N} srcNode - The source node to swap.
151
- * @param {N} destNode - The destination node to swap.
152
- * @returns {N} - The destination node after the swap.
157
+ * Creates a new instance of BinaryTreeNode with the given key and value.
158
+ * @param {BinaryTreeNodeKey} key - The key for the new node.
159
+ * @param {N['val']} val - The value for the new node.
160
+ * @returns {N} - The newly created BinaryTreeNode.
153
161
  */
154
- _swap(srcNode, destNode) {
155
- const { key, val } = destNode;
156
- const tempNode = this.createNode(key, val);
157
- if (tempNode) {
158
- destNode.key = srcNode.key;
159
- destNode.val = srcNode.val;
160
- srcNode.key = tempNode.key;
161
- srcNode.val = tempNode.val;
162
- }
163
- return destNode;
162
+ createNode(key, val) {
163
+ return new BinaryTreeNode(key, val);
164
164
  }
165
165
  /**
166
166
  * Clear the binary tree, removing all nodes.
@@ -184,7 +184,7 @@ export class BinaryTree {
184
184
  */
185
185
  add(keyOrNode, val) {
186
186
  const _bfs = (root, newNode) => {
187
- const queue = new Queue([root]);
187
+ const queue = new queue_1.Queue([root]);
188
188
  while (queue.size > 0) {
189
189
  const cur = queue.shift();
190
190
  if (cur) {
@@ -261,7 +261,7 @@ export class BinaryTree {
261
261
  inserted.push(this.add(null));
262
262
  continue;
263
263
  }
264
- const val = values === null || values === void 0 ? void 0 : values[i];
264
+ const val = values?.[i];
265
265
  inserted.push(this.add(keyOrNode, val));
266
266
  }
267
267
  return inserted;
@@ -294,7 +294,7 @@ export class BinaryTree {
294
294
  const curr = typeof nodeOrKey === 'number' ? this.get(nodeOrKey) : nodeOrKey;
295
295
  if (!curr)
296
296
  return bstDeletedResult;
297
- const parent = (curr === null || curr === void 0 ? void 0 : curr.parent) ? curr.parent : null;
297
+ const parent = curr?.parent ? curr.parent : null;
298
298
  let needBalanced = null, orgCurrent = curr;
299
299
  if (!curr.left) {
300
300
  if (!parent) {
@@ -303,10 +303,10 @@ export class BinaryTree {
303
303
  }
304
304
  else {
305
305
  const { familyPosition: fp } = curr;
306
- if (fp === FamilyPosition.LEFT || fp === FamilyPosition.ROOT_LEFT) {
306
+ if (fp === types_1.FamilyPosition.LEFT || fp === types_1.FamilyPosition.ROOT_LEFT) {
307
307
  parent.left = curr.right;
308
308
  }
309
- else if (fp === FamilyPosition.RIGHT || fp === FamilyPosition.ROOT_RIGHT) {
309
+ else if (fp === types_1.FamilyPosition.RIGHT || fp === types_1.FamilyPosition.ROOT_RIGHT) {
310
310
  parent.right = curr.right;
311
311
  }
312
312
  needBalanced = parent;
@@ -348,7 +348,7 @@ export class BinaryTree {
348
348
  if (typeof beginRoot === 'number')
349
349
  beginRoot = this.get(beginRoot);
350
350
  let depth = 0;
351
- while (distNode === null || distNode === void 0 ? void 0 : distNode.parent) {
351
+ while (distNode?.parent) {
352
352
  if (distNode === beginRoot) {
353
353
  return depth;
354
354
  }
@@ -374,7 +374,7 @@ export class BinaryTree {
374
374
  beginRoot = this.get(beginRoot);
375
375
  if (!beginRoot)
376
376
  return -1;
377
- if (iterationType === IterationType.RECURSIVE) {
377
+ if (iterationType === types_1.IterationType.RECURSIVE) {
378
378
  const _getMaxHeight = (cur) => {
379
379
  if (!cur)
380
380
  return -1;
@@ -414,10 +414,9 @@ export class BinaryTree {
414
414
  * @returns The function `getMinHeight` returns the minimum height of a binary tree.
415
415
  */
416
416
  getMinHeight(beginRoot = this.root, iterationType = this.iterationType) {
417
- var _a, _b, _c;
418
417
  if (!beginRoot)
419
418
  return -1;
420
- if (iterationType === IterationType.RECURSIVE) {
419
+ if (iterationType === types_1.IterationType.RECURSIVE) {
421
420
  const _getMinHeight = (cur) => {
422
421
  if (!cur)
423
422
  return 0;
@@ -443,8 +442,8 @@ export class BinaryTree {
443
442
  if (!node.right || last === node.right) {
444
443
  node = stack.pop();
445
444
  if (node) {
446
- const leftMinHeight = node.left ? (_a = depths.get(node.left)) !== null && _a !== void 0 ? _a : -1 : -1;
447
- const rightMinHeight = node.right ? (_b = depths.get(node.right)) !== null && _b !== void 0 ? _b : -1 : -1;
445
+ const leftMinHeight = node.left ? depths.get(node.left) ?? -1 : -1;
446
+ const rightMinHeight = node.right ? depths.get(node.right) ?? -1 : -1;
448
447
  depths.set(node, 1 + Math.min(leftMinHeight, rightMinHeight));
449
448
  last = node;
450
449
  node = null;
@@ -454,7 +453,7 @@ export class BinaryTree {
454
453
  node = node.right;
455
454
  }
456
455
  }
457
- return (_c = depths.get(beginRoot)) !== null && _c !== void 0 ? _c : -1;
456
+ return depths.get(beginRoot) ?? -1;
458
457
  }
459
458
  }
460
459
  /**
@@ -492,7 +491,7 @@ export class BinaryTree {
492
491
  if (!beginRoot)
493
492
  return [];
494
493
  const ans = [];
495
- if (iterationType === IterationType.RECURSIVE) {
494
+ if (iterationType === types_1.IterationType.RECURSIVE) {
496
495
  const _traverse = (cur) => {
497
496
  if (callback(cur) === nodeProperty) {
498
497
  ans.push(cur);
@@ -507,7 +506,7 @@ export class BinaryTree {
507
506
  _traverse(beginRoot);
508
507
  }
509
508
  else {
510
- const queue = new Queue([beginRoot]);
509
+ const queue = new queue_1.Queue([beginRoot]);
511
510
  while (queue.size > 0) {
512
511
  const cur = queue.shift();
513
512
  if (cur) {
@@ -560,9 +559,8 @@ export class BinaryTree {
560
559
  * @returns either the found node (of type N) or null if no node is found.
561
560
  */
562
561
  get(nodeProperty, callback = this._defaultCallbackByKey, beginRoot = this.root, iterationType = this.iterationType) {
563
- var _a;
564
562
  // TODO may support finding node by value equal
565
- return (_a = this.getNodes(nodeProperty, callback, true, beginRoot, iterationType)[0]) !== null && _a !== void 0 ? _a : null;
563
+ return this.getNodes(nodeProperty, callback, true, beginRoot, iterationType)[0] ?? null;
566
564
  }
567
565
  /**
568
566
  * The function `getPathToRoot` returns an array of nodes starting from a given node and traversing
@@ -602,7 +600,7 @@ export class BinaryTree {
602
600
  beginRoot = this.get(beginRoot);
603
601
  if (!beginRoot)
604
602
  return beginRoot;
605
- if (iterationType === IterationType.RECURSIVE) {
603
+ if (iterationType === types_1.IterationType.RECURSIVE) {
606
604
  const _traverse = (cur) => {
607
605
  if (!cur.left)
608
606
  return cur;
@@ -612,7 +610,7 @@ export class BinaryTree {
612
610
  }
613
611
  else {
614
612
  // Indirect implementation of iteration using tail recursion optimization
615
- const _traverse = trampoline((cur) => {
613
+ const _traverse = (0, utils_1.trampoline)((cur) => {
616
614
  if (!cur.left)
617
615
  return cur;
618
616
  return _traverse.cont(cur.left);
@@ -635,7 +633,7 @@ export class BinaryTree {
635
633
  // TODO support get right most by passing key in
636
634
  if (!beginRoot)
637
635
  return beginRoot;
638
- if (iterationType === IterationType.RECURSIVE) {
636
+ if (iterationType === types_1.IterationType.RECURSIVE) {
639
637
  const _traverse = (cur) => {
640
638
  if (!cur.right)
641
639
  return cur;
@@ -645,7 +643,7 @@ export class BinaryTree {
645
643
  }
646
644
  else {
647
645
  // Indirect implementation of iteration using tail recursion optimization
648
- const _traverse = trampoline((cur) => {
646
+ const _traverse = (0, utils_1.trampoline)((cur) => {
649
647
  if (!cur.right)
650
648
  return cur;
651
649
  return _traverse.cont(cur.right);
@@ -666,7 +664,7 @@ export class BinaryTree {
666
664
  // TODO there is a bug
667
665
  if (!beginRoot)
668
666
  return true;
669
- if (iterationType === IterationType.RECURSIVE) {
667
+ if (iterationType === types_1.IterationType.RECURSIVE) {
670
668
  const dfs = (cur, min, max) => {
671
669
  if (!cur)
672
670
  return true;
@@ -726,7 +724,7 @@ export class BinaryTree {
726
724
  const ans = [];
727
725
  if (!beginRoot)
728
726
  return ans;
729
- if (iterationType === IterationType.RECURSIVE) {
727
+ if (iterationType === types_1.IterationType.RECURSIVE) {
730
728
  const _traverse = (cur) => {
731
729
  ans.push(callback(cur));
732
730
  cur.left && _traverse(cur.left);
@@ -760,11 +758,11 @@ export class BinaryTree {
760
758
  * iteration used in the depth-first search algorithm. It can have two possible values:
761
759
  * @returns The function `dfs` returns an array of `MapCallbackReturn<N>` values.
762
760
  */
763
- dfs(callback = this._defaultCallbackByKey, pattern = 'in', beginRoot = this.root, iterationType = IterationType.ITERATIVE) {
761
+ dfs(callback = this._defaultCallbackByKey, pattern = 'in', beginRoot = this.root, iterationType = types_1.IterationType.ITERATIVE) {
764
762
  if (!beginRoot)
765
763
  return [];
766
764
  const ans = [];
767
- if (iterationType === IterationType.RECURSIVE) {
765
+ if (iterationType === types_1.IterationType.RECURSIVE) {
768
766
  const _traverse = (node) => {
769
767
  switch (pattern) {
770
768
  case 'in':
@@ -830,7 +828,6 @@ export class BinaryTree {
830
828
  }
831
829
  return ans;
832
830
  }
833
- // --- start additional methods ---
834
831
  /**
835
832
  * The bfs function performs a breadth-first search traversal on a binary tree, executing a callback
836
833
  * function on each node.
@@ -852,7 +849,7 @@ export class BinaryTree {
852
849
  if (!beginRoot)
853
850
  return [];
854
851
  const ans = [];
855
- if (iterationType === IterationType.RECURSIVE) {
852
+ if (iterationType === types_1.IterationType.RECURSIVE) {
856
853
  const _recursive = (node, level) => {
857
854
  callback && ans.push(callback(node, withLevel ? level : undefined));
858
855
  if (node.left)
@@ -895,13 +892,7 @@ export class BinaryTree {
895
892
  return node;
896
893
  }
897
894
  }
898
- /**
899
- * Time complexity is O(n)
900
- * Space complexity of Iterative dfs equals to recursive dfs which is O(n) because of the stack
901
- * The Morris algorithm only modifies the tree's structure during traversal; once the traversal is complete,
902
- * the tree's structure should be restored to its original state to maintain the tree's integrity.
903
- * This is because the purpose of the Morris algorithm is to save space rather than permanently alter the tree's shape.
904
- */
895
+ // --- start additional methods ---
905
896
  /**
906
897
  * The `morris` function performs a depth-first traversal of a binary tree using the Morris traversal
907
898
  * algorithm and returns an array of values obtained by applying a callback function to each node.
@@ -1000,6 +991,31 @@ export class BinaryTree {
1000
991
  }
1001
992
  return ans;
1002
993
  }
994
+ /**
995
+ * Swap the data of two nodes in the binary tree.
996
+ * @param {N} srcNode - The source node to swap.
997
+ * @param {N} destNode - The destination node to swap.
998
+ * @returns {N} - The destination node after the swap.
999
+ */
1000
+ _swap(srcNode, destNode) {
1001
+ const { key, val } = destNode;
1002
+ const tempNode = this.createNode(key, val);
1003
+ if (tempNode) {
1004
+ destNode.key = srcNode.key;
1005
+ destNode.val = srcNode.val;
1006
+ srcNode.key = tempNode.key;
1007
+ srcNode.val = tempNode.val;
1008
+ }
1009
+ return destNode;
1010
+ }
1011
+ /**
1012
+ * Time complexity is O(n)
1013
+ * Space complexity of Iterative dfs equals to recursive dfs which is O(n) because of the stack
1014
+ * The Morris algorithm only modifies the tree's structure during traversal; once the traversal is complete,
1015
+ * the tree's structure should be restored to its original state to maintain the tree's integrity.
1016
+ * This is because the purpose of the Morris algorithm is to save space rather than permanently alter the tree's shape.
1017
+ */
1018
+ _defaultCallbackByKey = node => node.key;
1003
1019
  /**
1004
1020
  * The function `_addTo` adds a new node to a binary tree if there is an available position.
1005
1021
  * @param {N | null} newNode - The `newNode` parameter represents the node that you want to add to
@@ -1058,3 +1074,4 @@ export class BinaryTree {
1058
1074
  this._size = v;
1059
1075
  }
1060
1076
  }
1077
+ exports.BinaryTree = BinaryTree;