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,14 +1,43 @@
1
+ "use strict";
1
2
  /**
2
3
  * data-structure-typed
3
4
  * @author Kirk Qi
4
5
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
5
6
  * @license MIT License
6
7
  */
7
- export class Heap {
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FibonacciHeap = exports.FibonacciHeapNode = exports.Heap = void 0;
10
+ class Heap {
11
+ nodes = [];
12
+ comparator;
8
13
  constructor(comparator) {
9
- this.nodes = [];
10
14
  this.comparator = comparator;
11
15
  }
16
+ /**
17
+ * Get the size (number of elements) of the heap.
18
+ */
19
+ get size() {
20
+ return this.nodes.length;
21
+ }
22
+ /**
23
+ * Get the last element in the heap, which is not necessarily a leaf node.
24
+ * @returns The last element or undefined if the heap is empty.
25
+ */
26
+ get leaf() {
27
+ return this.nodes[this.size - 1] ?? undefined;
28
+ }
29
+ /**
30
+ * Static method that creates a binary heap from an array of nodes and a comparison function.
31
+ * @param nodes
32
+ * @param comparator - Comparison function.
33
+ * @returns A new Heap instance.
34
+ */
35
+ static heapify(nodes, comparator) {
36
+ const binaryHeap = new Heap(comparator);
37
+ binaryHeap.nodes = [...nodes];
38
+ binaryHeap.fix(); // Fix heap properties
39
+ return binaryHeap;
40
+ }
12
41
  /**
13
42
  * Insert an element into the heap and maintain the heap properties.
14
43
  * @param element - The element to be inserted.
@@ -48,54 +77,6 @@ export class Heap {
48
77
  pop() {
49
78
  return this.poll();
50
79
  }
51
- /**
52
- * Float operation to maintain heap properties after adding an element.
53
- * @param index - The index of the newly added element.
54
- */
55
- bubbleUp(index) {
56
- const element = this.nodes[index];
57
- while (index > 0) {
58
- const parentIndex = Math.floor((index - 1) / 2);
59
- const parent = this.nodes[parentIndex];
60
- if (this.comparator(element, parent) < 0) {
61
- this.nodes[index] = parent;
62
- this.nodes[parentIndex] = element;
63
- index = parentIndex;
64
- }
65
- else {
66
- break;
67
- }
68
- }
69
- }
70
- /**
71
- * Sinking operation to maintain heap properties after removing the top element.
72
- * @param index - The index from which to start sinking.
73
- */
74
- sinkDown(index) {
75
- const leftChildIndex = 2 * index + 1;
76
- const rightChildIndex = 2 * index + 2;
77
- const length = this.nodes.length;
78
- let targetIndex = index;
79
- if (leftChildIndex < length && this.comparator(this.nodes[leftChildIndex], this.nodes[targetIndex]) < 0) {
80
- targetIndex = leftChildIndex;
81
- }
82
- if (rightChildIndex < length && this.comparator(this.nodes[rightChildIndex], this.nodes[targetIndex]) < 0) {
83
- targetIndex = rightChildIndex;
84
- }
85
- if (targetIndex !== index) {
86
- const temp = this.nodes[index];
87
- this.nodes[index] = this.nodes[targetIndex];
88
- this.nodes[targetIndex] = temp;
89
- this.sinkDown(targetIndex);
90
- }
91
- }
92
- /**
93
- * Fix the entire heap to maintain heap properties.
94
- */
95
- fix() {
96
- for (let i = Math.floor(this.size / 2); i >= 0; i--)
97
- this.sinkDown(i);
98
- }
99
80
  /**
100
81
  * Peek at the top element of the heap without removing it.
101
82
  * @returns The top element or undefined if the heap is empty.
@@ -106,20 +87,6 @@ export class Heap {
106
87
  }
107
88
  return this.nodes[0];
108
89
  }
109
- /**
110
- * Get the size (number of elements) of the heap.
111
- */
112
- get size() {
113
- return this.nodes.length;
114
- }
115
- /**
116
- * Get the last element in the heap, which is not necessarily a leaf node.
117
- * @returns The last element or undefined if the heap is empty.
118
- */
119
- get leaf() {
120
- var _a;
121
- return (_a = this.nodes[this.size - 1]) !== null && _a !== void 0 ? _a : undefined;
122
- }
123
90
  /**
124
91
  * Check if the heap is empty.
125
92
  * @returns True if the heap is empty, otherwise false.
@@ -213,47 +180,82 @@ export class Heap {
213
180
  return visitedNode;
214
181
  }
215
182
  /**
216
- * Static method that creates a binary heap from an array of nodes and a comparison function.
217
- * @param nodes
218
- * @param comparator - Comparison function.
219
- * @returns A new Heap instance.
183
+ * Float operation to maintain heap properties after adding an element.
184
+ * @param index - The index of the newly added element.
220
185
  */
221
- static heapify(nodes, comparator) {
222
- const binaryHeap = new Heap(comparator);
223
- binaryHeap.nodes = [...nodes];
224
- binaryHeap.fix(); // Fix heap properties
225
- return binaryHeap;
186
+ bubbleUp(index) {
187
+ const element = this.nodes[index];
188
+ while (index > 0) {
189
+ const parentIndex = Math.floor((index - 1) / 2);
190
+ const parent = this.nodes[parentIndex];
191
+ if (this.comparator(element, parent) < 0) {
192
+ this.nodes[index] = parent;
193
+ this.nodes[parentIndex] = element;
194
+ index = parentIndex;
195
+ }
196
+ else {
197
+ break;
198
+ }
199
+ }
200
+ }
201
+ /**
202
+ * Sinking operation to maintain heap properties after removing the top element.
203
+ * @param index - The index from which to start sinking.
204
+ */
205
+ sinkDown(index) {
206
+ const leftChildIndex = 2 * index + 1;
207
+ const rightChildIndex = 2 * index + 2;
208
+ const length = this.nodes.length;
209
+ let targetIndex = index;
210
+ if (leftChildIndex < length && this.comparator(this.nodes[leftChildIndex], this.nodes[targetIndex]) < 0) {
211
+ targetIndex = leftChildIndex;
212
+ }
213
+ if (rightChildIndex < length && this.comparator(this.nodes[rightChildIndex], this.nodes[targetIndex]) < 0) {
214
+ targetIndex = rightChildIndex;
215
+ }
216
+ if (targetIndex !== index) {
217
+ const temp = this.nodes[index];
218
+ this.nodes[index] = this.nodes[targetIndex];
219
+ this.nodes[targetIndex] = temp;
220
+ this.sinkDown(targetIndex);
221
+ }
222
+ }
223
+ /**
224
+ * Fix the entire heap to maintain heap properties.
225
+ */
226
+ fix() {
227
+ for (let i = Math.floor(this.size / 2); i >= 0; i--)
228
+ this.sinkDown(i);
226
229
  }
227
230
  }
228
- export class FibonacciHeapNode {
231
+ exports.Heap = Heap;
232
+ class FibonacciHeapNode {
233
+ element;
234
+ degree;
235
+ left;
236
+ right;
237
+ child;
238
+ parent;
239
+ marked;
229
240
  constructor(element, degree = 0) {
230
241
  this.element = element;
231
242
  this.degree = degree;
232
243
  this.marked = false;
233
244
  }
234
245
  }
235
- export class FibonacciHeap {
246
+ exports.FibonacciHeapNode = FibonacciHeapNode;
247
+ class FibonacciHeap {
248
+ root;
249
+ size = 0;
250
+ min;
251
+ comparator;
236
252
  constructor(comparator) {
237
- this.size = 0;
238
253
  this.clear();
239
254
  this.comparator = comparator || this.defaultComparator;
240
255
  if (typeof this.comparator !== 'function') {
241
256
  throw new Error('FibonacciHeap constructor: given comparator should be a function.');
242
257
  }
243
258
  }
244
- /**
245
- * Default comparator function used by the heap.
246
- * @param {E} a
247
- * @param {E} b
248
- * @protected
249
- */
250
- defaultComparator(a, b) {
251
- if (a < b)
252
- return -1;
253
- if (a > b)
254
- return 1;
255
- return 0;
256
- }
257
259
  /**
258
260
  * Get the size (number of elements) of the heap.
259
261
  * @returns {number} The size of the heap. Returns 0 if the heap is empty. Returns -1 if the heap is invalid.
@@ -263,29 +265,6 @@ export class FibonacciHeap {
263
265
  this.min = undefined;
264
266
  this.size = 0;
265
267
  }
266
- /**
267
- * Create a new node.
268
- * @param element
269
- * @protected
270
- */
271
- createNode(element) {
272
- return new FibonacciHeapNode(element);
273
- }
274
- /**
275
- * Merge the given node with the root list.
276
- * @param node - The node to be merged.
277
- */
278
- mergeWithRoot(node) {
279
- if (!this.root) {
280
- this.root = node;
281
- }
282
- else {
283
- node.right = this.root.right;
284
- node.left = this.root;
285
- this.root.right.left = node;
286
- this.root.right = node;
287
- }
288
- }
289
268
  /**
290
269
  * O(1) time operation.
291
270
  * Insert an element into the heap and maintain the heap properties.
@@ -346,20 +325,6 @@ export class FibonacciHeap {
346
325
  }
347
326
  return nodes;
348
327
  }
349
- /**
350
- * O(log n) time operation.
351
- * Remove and return the top element (smallest or largest element) from the heap.
352
- * @param node - The node to be removed.
353
- * @protected
354
- */
355
- removeFromRoot(node) {
356
- if (this.root === node)
357
- this.root = node.right;
358
- if (node.left)
359
- node.left.right = node.right;
360
- if (node.right)
361
- node.right.left = node.left;
362
- }
363
328
  /**
364
329
  * O(log n) time operation.
365
330
  * Remove and return the top element (smallest or largest element) from the heap.
@@ -377,52 +342,6 @@ export class FibonacciHeap {
377
342
  parent.child.right = node;
378
343
  }
379
344
  }
380
- /**
381
- * O(log n) time operation.
382
- * Remove and return the top element (smallest or largest element) from the heap.
383
- * @param y
384
- * @param x
385
- * @protected
386
- */
387
- link(y, x) {
388
- this.removeFromRoot(y);
389
- y.left = y;
390
- y.right = y;
391
- this.mergeWithChild(x, y);
392
- x.degree++;
393
- y.parent = x;
394
- }
395
- /**
396
- * O(log n) time operation.
397
- * Remove and return the top element (smallest or largest element) from the heap.
398
- * @protected
399
- */
400
- consolidate() {
401
- const A = new Array(this.size);
402
- const nodes = this.consumeLinkedList(this.root);
403
- let x, y, d, t;
404
- for (const node of nodes) {
405
- x = node;
406
- d = x.degree;
407
- while (A[d]) {
408
- y = A[d];
409
- if (this.comparator(x.element, y.element) > 0) {
410
- t = x;
411
- x = y;
412
- y = t;
413
- }
414
- this.link(y, x);
415
- A[d] = undefined;
416
- d++;
417
- }
418
- A[d] = x;
419
- }
420
- for (let i = 0; i < this.size; i++) {
421
- if (A[i] && this.comparator(A[i].element, this.min.element) <= 0) {
422
- this.min = A[i];
423
- }
424
- }
425
- }
426
345
  /**
427
346
  * O(log n) time operation.
428
347
  * Remove and return the top element (smallest or largest element) from the heap.
@@ -488,4 +407,101 @@ export class FibonacciHeap {
488
407
  // Clear the heap that was merged
489
408
  heapToMerge.clear();
490
409
  }
410
+ /**
411
+ * Default comparator function used by the heap.
412
+ * @param {E} a
413
+ * @param {E} b
414
+ * @protected
415
+ */
416
+ defaultComparator(a, b) {
417
+ if (a < b)
418
+ return -1;
419
+ if (a > b)
420
+ return 1;
421
+ return 0;
422
+ }
423
+ /**
424
+ * Create a new node.
425
+ * @param element
426
+ * @protected
427
+ */
428
+ createNode(element) {
429
+ return new FibonacciHeapNode(element);
430
+ }
431
+ /**
432
+ * Merge the given node with the root list.
433
+ * @param node - The node to be merged.
434
+ */
435
+ mergeWithRoot(node) {
436
+ if (!this.root) {
437
+ this.root = node;
438
+ }
439
+ else {
440
+ node.right = this.root.right;
441
+ node.left = this.root;
442
+ this.root.right.left = node;
443
+ this.root.right = node;
444
+ }
445
+ }
446
+ /**
447
+ * O(log n) time operation.
448
+ * Remove and return the top element (smallest or largest element) from the heap.
449
+ * @param node - The node to be removed.
450
+ * @protected
451
+ */
452
+ removeFromRoot(node) {
453
+ if (this.root === node)
454
+ this.root = node.right;
455
+ if (node.left)
456
+ node.left.right = node.right;
457
+ if (node.right)
458
+ node.right.left = node.left;
459
+ }
460
+ /**
461
+ * O(log n) time operation.
462
+ * Remove and return the top element (smallest or largest element) from the heap.
463
+ * @param y
464
+ * @param x
465
+ * @protected
466
+ */
467
+ link(y, x) {
468
+ this.removeFromRoot(y);
469
+ y.left = y;
470
+ y.right = y;
471
+ this.mergeWithChild(x, y);
472
+ x.degree++;
473
+ y.parent = x;
474
+ }
475
+ /**
476
+ * O(log n) time operation.
477
+ * Remove and return the top element (smallest or largest element) from the heap.
478
+ * @protected
479
+ */
480
+ consolidate() {
481
+ const A = new Array(this.size);
482
+ const nodes = this.consumeLinkedList(this.root);
483
+ let x, y, d, t;
484
+ for (const node of nodes) {
485
+ x = node;
486
+ d = x.degree;
487
+ while (A[d]) {
488
+ y = A[d];
489
+ if (this.comparator(x.element, y.element) > 0) {
490
+ t = x;
491
+ x = y;
492
+ y = t;
493
+ }
494
+ this.link(y, x);
495
+ A[d] = undefined;
496
+ d++;
497
+ }
498
+ A[d] = x;
499
+ }
500
+ for (let i = 0; i < this.size; i++) {
501
+ if (A[i] && this.comparator(A[i].element, this.min.element) <= 0) {
502
+ this.min = A[i];
503
+ }
504
+ }
505
+ }
491
506
  }
507
+ exports.FibonacciHeap = FibonacciHeap;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./max-heap"), exports);
18
+ __exportStar(require("./min-heap"), exports);
19
+ __exportStar(require("./heap"), exports);
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * data-structure-typed
3
4
  *
@@ -5,8 +6,10 @@
5
6
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
6
7
  * @license MIT License
7
8
  */
8
- import { Heap } from './heap';
9
- export class MaxHeap extends Heap {
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MaxHeap = void 0;
11
+ const heap_1 = require("./heap");
12
+ class MaxHeap extends heap_1.Heap {
10
13
  constructor(comparator = (a, b) => {
11
14
  if (!(typeof a === 'number' && typeof b === 'number')) {
12
15
  throw new Error('The a, b params of compare function must be number');
@@ -18,3 +21,4 @@ export class MaxHeap extends Heap {
18
21
  super(comparator);
19
22
  }
20
23
  }
24
+ exports.MaxHeap = MaxHeap;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * data-structure-typed
3
4
  *
@@ -5,8 +6,10 @@
5
6
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
6
7
  * @license MIT License
7
8
  */
8
- import { Heap } from './heap';
9
- export class MinHeap extends Heap {
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MinHeap = void 0;
11
+ const heap_1 = require("./heap");
12
+ class MinHeap extends heap_1.Heap {
10
13
  constructor(comparator = (a, b) => {
11
14
  if (!(typeof a === 'number' && typeof b === 'number')) {
12
15
  throw new Error('The a, b params of compare function must be number');
@@ -18,3 +21,4 @@ export class MinHeap extends Heap {
18
21
  super(comparator);
19
22
  }
20
23
  }
24
+ exports.MinHeap = MinHeap;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./hash"), exports);
18
+ __exportStar(require("./linked-list"), exports);
19
+ __exportStar(require("./stack"), exports);
20
+ __exportStar(require("./queue"), exports);
21
+ __exportStar(require("./graph"), exports);
22
+ __exportStar(require("./binary-tree"), exports);
23
+ __exportStar(require("./tree"), exports);
24
+ __exportStar(require("./heap"), exports);
25
+ __exportStar(require("./priority-queue"), exports);
26
+ __exportStar(require("./matrix"), exports);
27
+ __exportStar(require("./trie"), exports);
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DoublyLinkedList = exports.DoublyLinkedListNode = void 0;
1
4
  /**
2
5
  * data-structure-typed
3
6
  *
@@ -5,7 +8,7 @@
5
8
  * @copyright Copyright (c) 2022 Tyler Zeng <zrwusa@gmail.com>
6
9
  * @license MIT License
7
10
  */
8
- export class DoublyLinkedListNode {
11
+ class DoublyLinkedListNode {
9
12
  /**
10
13
  * The constructor function initializes the value, next, and previous properties of an object.
11
14
  * @param {E} val - The "val" parameter is the value that will be stored in the node. It can be of any data type, as it
@@ -16,18 +19,21 @@ export class DoublyLinkedListNode {
16
19
  this._next = null;
17
20
  this._prev = null;
18
21
  }
22
+ _val;
19
23
  get val() {
20
24
  return this._val;
21
25
  }
22
26
  set val(value) {
23
27
  this._val = value;
24
28
  }
29
+ _next;
25
30
  get next() {
26
31
  return this._next;
27
32
  }
28
33
  set next(value) {
29
34
  this._next = value;
30
35
  }
36
+ _prev;
31
37
  get prev() {
32
38
  return this._prev;
33
39
  }
@@ -35,7 +41,8 @@ export class DoublyLinkedListNode {
35
41
  this._prev = value;
36
42
  }
37
43
  }
38
- export class DoublyLinkedList {
44
+ exports.DoublyLinkedListNode = DoublyLinkedListNode;
45
+ class DoublyLinkedList {
39
46
  /**
40
47
  * The constructor initializes the linked list with an empty head, tail, and length.
41
48
  */
@@ -44,21 +51,27 @@ export class DoublyLinkedList {
44
51
  this._tail = null;
45
52
  this._length = 0;
46
53
  }
54
+ _head;
47
55
  get head() {
48
56
  return this._head;
49
57
  }
50
58
  set head(value) {
51
59
  this._head = value;
52
60
  }
61
+ _tail;
53
62
  get tail() {
54
63
  return this._tail;
55
64
  }
56
65
  set tail(value) {
57
66
  this._tail = value;
58
67
  }
68
+ _length;
59
69
  get length() {
60
70
  return this._length;
61
71
  }
72
+ get size() {
73
+ return this.length;
74
+ }
62
75
  /**
63
76
  * The `fromArray` function creates a new instance of a DoublyLinkedList and populates it with the elements from the
64
77
  * given array.
@@ -183,19 +196,14 @@ export class DoublyLinkedList {
183
196
  * @returns The method `peekFirst()` returns the first node of the doubly linked list, or `null` if the list is empty.
184
197
  */
185
198
  peekFirst() {
186
- var _a;
187
- return (_a = this.head) === null || _a === void 0 ? void 0 : _a.val;
199
+ return this.head?.val;
188
200
  }
189
201
  /**
190
202
  * The `peekLast` function returns the last node in a doubly linked list, or null if the list is empty.
191
203
  * @returns The method `peekLast()` returns the last node of the doubly linked list, or `null` if the list is empty.
192
204
  */
193
205
  peekLast() {
194
- var _a;
195
- return (_a = this.tail) === null || _a === void 0 ? void 0 : _a.val;
196
- }
197
- get size() {
198
- return this.length;
206
+ return this.tail?.val;
199
207
  }
200
208
  /**
201
209
  * The `getAt` function returns the value at a specified index in a linked list, or null if the index is out of bounds.
@@ -576,3 +584,4 @@ export class DoublyLinkedList {
576
584
  return false;
577
585
  }
578
586
  }
587
+ exports.DoublyLinkedList = DoublyLinkedList;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./singly-linked-list"), exports);
18
+ __exportStar(require("./doubly-linked-list"), exports);
19
+ __exportStar(require("./skip-linked-list"), exports);