data-structure-typed 1.32.0 → 1.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/.github/workflows/ci.yml +12 -1
  2. package/.prettierrc.js +1 -1
  3. package/CHANGELOG.md +1 -1
  4. package/README.md +20 -3
  5. package/coverage/clover.xml +717 -717
  6. package/coverage/coverage-final.json +21 -21
  7. package/coverage/coverage-summary.json +68 -0
  8. package/coverage/lcov-report/index.html +1 -1
  9. package/coverage/lcov-report/src/data-structures/binary-tree/aa-tree.ts.html +1 -1
  10. package/coverage/lcov-report/src/data-structures/binary-tree/abstract-binary-tree.ts.html +19 -7
  11. package/coverage/lcov-report/src/data-structures/binary-tree/avl-tree.ts.html +5 -5
  12. package/coverage/lcov-report/src/data-structures/binary-tree/b-tree.ts.html +1 -1
  13. package/coverage/lcov-report/src/data-structures/binary-tree/binary-indexed-tree.ts.html +1 -1
  14. package/coverage/lcov-report/src/data-structures/binary-tree/binary-tree.ts.html +4 -4
  15. package/coverage/lcov-report/src/data-structures/binary-tree/bst.ts.html +7 -25
  16. package/coverage/lcov-report/src/data-structures/binary-tree/index.html +1 -1
  17. package/coverage/lcov-report/src/data-structures/binary-tree/index.ts.html +1 -1
  18. package/coverage/lcov-report/src/data-structures/binary-tree/rb-tree.ts.html +4 -4
  19. package/coverage/lcov-report/src/data-structures/binary-tree/segment-tree.ts.html +2 -2
  20. package/coverage/lcov-report/src/data-structures/binary-tree/splay-tree.ts.html +1 -1
  21. package/coverage/lcov-report/src/data-structures/binary-tree/tree-multiset.ts.html +9 -9
  22. package/coverage/lcov-report/src/data-structures/binary-tree/two-three-tree.ts.html +1 -1
  23. package/coverage/lcov-report/src/data-structures/graph/abstract-graph.ts.html +17 -17
  24. package/coverage/lcov-report/src/data-structures/graph/directed-graph.ts.html +5 -5
  25. package/coverage/lcov-report/src/data-structures/graph/index.html +1 -1
  26. package/coverage/lcov-report/src/data-structures/graph/index.ts.html +1 -1
  27. package/coverage/lcov-report/src/data-structures/graph/map-graph.ts.html +3 -3
  28. package/coverage/lcov-report/src/data-structures/graph/undirected-graph.ts.html +5 -5
  29. package/coverage/lcov-report/src/data-structures/hash/coordinate-map.ts.html +1 -1
  30. package/coverage/lcov-report/src/data-structures/hash/coordinate-set.ts.html +1 -1
  31. package/coverage/lcov-report/src/data-structures/hash/hash-table.ts.html +1 -1
  32. package/coverage/lcov-report/src/data-structures/hash/index.html +1 -1
  33. package/coverage/lcov-report/src/data-structures/hash/index.ts.html +1 -1
  34. package/coverage/lcov-report/src/data-structures/hash/pair.ts.html +1 -1
  35. package/coverage/lcov-report/src/data-structures/hash/tree-map.ts.html +1 -1
  36. package/coverage/lcov-report/src/data-structures/hash/tree-set.ts.html +1 -1
  37. package/coverage/lcov-report/src/data-structures/heap/heap.ts.html +4 -4
  38. package/coverage/lcov-report/src/data-structures/heap/index.html +1 -1
  39. package/coverage/lcov-report/src/data-structures/heap/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/data-structures/heap/max-heap.ts.html +4 -4
  41. package/coverage/lcov-report/src/data-structures/heap/min-heap.ts.html +4 -4
  42. package/coverage/lcov-report/src/data-structures/index.html +1 -1
  43. package/coverage/lcov-report/src/data-structures/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/data-structures/linked-list/doubly-linked-list.ts.html +1 -1
  45. package/coverage/lcov-report/src/data-structures/linked-list/index.html +1 -1
  46. package/coverage/lcov-report/src/data-structures/linked-list/index.ts.html +1 -1
  47. package/coverage/lcov-report/src/data-structures/linked-list/singly-linked-list.ts.html +1 -1
  48. package/coverage/lcov-report/src/data-structures/linked-list/skip-linked-list.ts.html +1 -1
  49. package/coverage/lcov-report/src/data-structures/matrix/index.html +1 -1
  50. package/coverage/lcov-report/src/data-structures/matrix/index.ts.html +1 -1
  51. package/coverage/lcov-report/src/data-structures/matrix/matrix.ts.html +3 -3
  52. package/coverage/lcov-report/src/data-structures/matrix/matrix2d.ts.html +1 -1
  53. package/coverage/lcov-report/src/data-structures/matrix/navigator.ts.html +4 -4
  54. package/coverage/lcov-report/src/data-structures/matrix/vector2d.ts.html +1 -1
  55. package/coverage/lcov-report/src/data-structures/priority-queue/index.html +1 -1
  56. package/coverage/lcov-report/src/data-structures/priority-queue/index.ts.html +1 -1
  57. package/coverage/lcov-report/src/data-structures/priority-queue/max-priority-queue.ts.html +6 -6
  58. package/coverage/lcov-report/src/data-structures/priority-queue/min-priority-queue.ts.html +3 -3
  59. package/coverage/lcov-report/src/data-structures/priority-queue/priority-queue.ts.html +32 -32
  60. package/coverage/lcov-report/src/data-structures/queue/deque.ts.html +5 -5
  61. package/coverage/lcov-report/src/data-structures/queue/index.html +1 -1
  62. package/coverage/lcov-report/src/data-structures/queue/index.ts.html +1 -1
  63. package/coverage/lcov-report/src/data-structures/queue/queue.ts.html +2 -2
  64. package/coverage/lcov-report/src/data-structures/stack/index.html +1 -1
  65. package/coverage/lcov-report/src/data-structures/stack/index.ts.html +1 -1
  66. package/coverage/lcov-report/src/data-structures/stack/stack.ts.html +1 -1
  67. package/coverage/lcov-report/src/data-structures/tree/index.html +1 -1
  68. package/coverage/lcov-report/src/data-structures/tree/index.ts.html +1 -1
  69. package/coverage/lcov-report/src/data-structures/tree/tree.ts.html +2 -2
  70. package/coverage/lcov-report/src/data-structures/trie/index.html +1 -1
  71. package/coverage/lcov-report/src/data-structures/trie/index.ts.html +1 -1
  72. package/coverage/lcov-report/src/data-structures/trie/trie.ts.html +1 -1
  73. package/coverage/lcov-report/src/index.html +1 -1
  74. package/coverage/lcov-report/src/index.ts.html +1 -1
  75. package/coverage/lcov-report/src/interfaces/index.html +1 -1
  76. package/coverage/lcov-report/src/interfaces/index.ts.html +1 -1
  77. package/coverage/lcov-report/src/types/data-structures/abstract-binary-tree.ts.html +1 -1
  78. package/coverage/lcov-report/src/types/data-structures/bst.ts.html +1 -1
  79. package/coverage/lcov-report/src/types/data-structures/directed-graph.ts.html +1 -1
  80. package/coverage/lcov-report/src/types/data-structures/index.html +1 -1
  81. package/coverage/lcov-report/src/types/data-structures/index.ts.html +1 -1
  82. package/coverage/lcov-report/src/types/data-structures/rb-tree.ts.html +1 -1
  83. package/coverage/lcov-report/src/types/index.html +1 -1
  84. package/coverage/lcov-report/src/types/index.ts.html +1 -1
  85. package/coverage/lcov-report/src/types/utils/index.html +1 -1
  86. package/coverage/lcov-report/src/types/utils/index.ts.html +1 -1
  87. package/coverage/lcov-report/src/utils/index.html +1 -1
  88. package/coverage/lcov-report/src/utils/index.ts.html +1 -1
  89. package/coverage/lcov-report/src/utils/utils.ts.html +4 -4
  90. package/coverage/lcov-report/test/utils/index.html +1 -1
  91. package/coverage/lcov-report/test/utils/index.ts.html +1 -1
  92. package/coverage/lcov-report/test/utils/magnitude.ts.html +1 -1
  93. package/coverage/lcov-report/test/utils/number.ts.html +1 -1
  94. package/coverage/lcov.info +1329 -1329
  95. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
  96. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
  97. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
  98. package/dist/data-structures/binary-tree/bst.js.map +1 -1
  99. package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
  100. package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -1
  101. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  102. package/dist/data-structures/graph/directed-graph.js.map +1 -1
  103. package/dist/data-structures/graph/map-graph.js.map +1 -1
  104. package/dist/data-structures/graph/undirected-graph.js.map +1 -1
  105. package/dist/data-structures/heap/heap.js.map +1 -1
  106. package/dist/data-structures/heap/max-heap.js.map +1 -1
  107. package/dist/data-structures/heap/min-heap.js.map +1 -1
  108. package/dist/data-structures/matrix/matrix.js.map +1 -1
  109. package/dist/data-structures/matrix/navigator.js.map +1 -1
  110. package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  111. package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  112. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
  113. package/dist/data-structures/queue/deque.js.map +1 -1
  114. package/dist/data-structures/queue/queue.js.map +1 -1
  115. package/dist/data-structures/tree/tree.js.map +1 -1
  116. package/dist/utils/utils.js.map +1 -1
  117. package/docs/classes/AVLTree.html +85 -85
  118. package/docs/classes/AVLTreeNode.html +15 -15
  119. package/docs/classes/AaTree.html +1 -1
  120. package/docs/classes/AbstractBinaryTree.html +78 -78
  121. package/docs/classes/AbstractBinaryTreeNode.html +21 -21
  122. package/docs/classes/AbstractEdge.html +11 -11
  123. package/docs/classes/AbstractGraph.html +36 -36
  124. package/docs/classes/AbstractVertex.html +8 -8
  125. package/docs/classes/ArrayDeque.html +14 -14
  126. package/docs/classes/BST.html +78 -78
  127. package/docs/classes/BSTNode.html +15 -15
  128. package/docs/classes/BTree.html +1 -1
  129. package/docs/classes/BinaryIndexedTree.html +9 -9
  130. package/docs/classes/BinaryTree.html +71 -71
  131. package/docs/classes/BinaryTreeNode.html +15 -15
  132. package/docs/classes/Character.html +4 -4
  133. package/docs/classes/CoordinateMap.html +9 -9
  134. package/docs/classes/CoordinateSet.html +8 -8
  135. package/docs/classes/Deque.html +34 -34
  136. package/docs/classes/DirectedEdge.html +15 -15
  137. package/docs/classes/DirectedGraph.html +52 -52
  138. package/docs/classes/DirectedVertex.html +6 -6
  139. package/docs/classes/DoublyLinkedList.html +37 -37
  140. package/docs/classes/DoublyLinkedListNode.html +11 -11
  141. package/docs/classes/HashTable.html +1 -1
  142. package/docs/classes/Heap.html +26 -26
  143. package/docs/classes/HeapItem.html +8 -8
  144. package/docs/classes/LinkedListQueue.html +35 -35
  145. package/docs/classes/MapEdge.html +13 -13
  146. package/docs/classes/MapGraph.html +56 -56
  147. package/docs/classes/MapVertex.html +12 -12
  148. package/docs/classes/Matrix2D.html +16 -16
  149. package/docs/classes/MatrixNTI2D.html +4 -4
  150. package/docs/classes/MaxHeap.html +26 -26
  151. package/docs/classes/MaxPriorityQueue.html +34 -34
  152. package/docs/classes/MinHeap.html +26 -26
  153. package/docs/classes/MinPriorityQueue.html +34 -34
  154. package/docs/classes/Navigator.html +10 -10
  155. package/docs/classes/ObjectDeque.html +25 -25
  156. package/docs/classes/Pair.html +1 -1
  157. package/docs/classes/PriorityQueue.html +32 -32
  158. package/docs/classes/Queue.html +22 -22
  159. package/docs/classes/RBTree.html +78 -78
  160. package/docs/classes/RBTreeNode.html +18 -18
  161. package/docs/classes/SegmentTree.html +17 -17
  162. package/docs/classes/SegmentTreeNode.html +20 -20
  163. package/docs/classes/SinglyLinkedList.html +35 -35
  164. package/docs/classes/SinglyLinkedListNode.html +8 -8
  165. package/docs/classes/SkipLinkedList.html +1 -1
  166. package/docs/classes/SplayTree.html +1 -1
  167. package/docs/classes/Stack.html +12 -12
  168. package/docs/classes/TreeMap.html +1 -1
  169. package/docs/classes/TreeMultiset.html +99 -99
  170. package/docs/classes/TreeMultisetNode.html +18 -18
  171. package/docs/classes/TreeNode.html +13 -13
  172. package/docs/classes/TreeSet.html +1 -1
  173. package/docs/classes/Trie.html +13 -13
  174. package/docs/classes/TrieNode.html +11 -11
  175. package/docs/classes/TwoThreeTree.html +1 -1
  176. package/docs/classes/UndirectedEdge.html +12 -12
  177. package/docs/classes/UndirectedGraph.html +40 -40
  178. package/docs/classes/UndirectedVertex.html +6 -6
  179. package/docs/classes/Vector2D.html +28 -28
  180. package/docs/enums/CP.html +4 -4
  181. package/docs/enums/FamilyPosition.html +8 -8
  182. package/docs/enums/LoopType.html +3 -3
  183. package/docs/enums/RBColor.html +3 -3
  184. package/docs/enums/TopologicalProperty.html +4 -4
  185. package/docs/functions/arrayRemove.html +1 -1
  186. package/docs/functions/isThunk.html +1 -1
  187. package/docs/functions/toThunk.html +1 -1
  188. package/docs/functions/trampoline.html +1 -1
  189. package/docs/functions/trampolineAsync.html +1 -1
  190. package/docs/functions/uuidV4.html +1 -1
  191. package/docs/index.html +11 -12
  192. package/docs/interfaces/IAVLTree.html +77 -77
  193. package/docs/interfaces/IAbstractBinaryTree.html +72 -72
  194. package/docs/interfaces/IAbstractBinaryTreeNode.html +14 -14
  195. package/docs/interfaces/IAbstractGraph.html +15 -15
  196. package/docs/interfaces/IBST.html +77 -77
  197. package/docs/interfaces/IDirectedGraph.html +23 -23
  198. package/docs/interfaces/IRBTree.html +77 -77
  199. package/docs/interfaces/IUNDirectedGraph.html +16 -16
  200. package/docs/types/AVLTreeNodeNested.html +1 -1
  201. package/docs/types/AVLTreeOptions.html +1 -1
  202. package/docs/types/AbstractBinaryTreeNodeNested.html +1 -1
  203. package/docs/types/AbstractBinaryTreeNodeProperties.html +1 -1
  204. package/docs/types/AbstractBinaryTreeNodeProperty.html +1 -1
  205. package/docs/types/AbstractBinaryTreeOptions.html +1 -1
  206. package/docs/types/BSTComparator.html +1 -1
  207. package/docs/types/BSTNodeNested.html +1 -1
  208. package/docs/types/BSTOptions.html +1 -1
  209. package/docs/types/BinaryTreeDeletedResult.html +1 -1
  210. package/docs/types/BinaryTreeNodeId.html +1 -1
  211. package/docs/types/BinaryTreeNodeNested.html +1 -1
  212. package/docs/types/BinaryTreeNodePropertyName.html +1 -1
  213. package/docs/types/BinaryTreeOptions.html +1 -1
  214. package/docs/types/DFSOrderPattern.html +1 -1
  215. package/docs/types/DijkstraResult.html +1 -1
  216. package/docs/types/Direction.html +1 -1
  217. package/docs/types/DummyAny.html +1 -1
  218. package/docs/types/EdgeId.html +1 -1
  219. package/docs/types/HeapOptions.html +1 -1
  220. package/docs/types/IAVLTreeNode.html +1 -1
  221. package/docs/types/IBSTNode.html +1 -1
  222. package/docs/types/IBinaryTree.html +1 -1
  223. package/docs/types/IBinaryTreeNode.html +1 -1
  224. package/docs/types/IRBTreeNode.html +1 -1
  225. package/docs/types/ITreeMultiset.html +1 -1
  226. package/docs/types/ITreeMultisetNode.html +1 -1
  227. package/docs/types/KeyValueObject.html +1 -1
  228. package/docs/types/KeyValueObjectWithId.html +1 -1
  229. package/docs/types/MapGraphCoordinate.html +1 -1
  230. package/docs/types/NavigatorParams.html +1 -1
  231. package/docs/types/NodeOrPropertyName.html +1 -1
  232. package/docs/types/NonNumberNonObjectButDefined.html +1 -1
  233. package/docs/types/ObjectWithNonNumberId.html +1 -1
  234. package/docs/types/ObjectWithNumberId.html +1 -1
  235. package/docs/types/ObjectWithoutId.html +1 -1
  236. package/docs/types/PriorityQueueComparator.html +1 -1
  237. package/docs/types/PriorityQueueDFSOrderPattern.html +1 -1
  238. package/docs/types/PriorityQueueOptions.html +1 -1
  239. package/docs/types/RBTreeNodeNested.html +1 -1
  240. package/docs/types/RBTreeOptions.html +1 -1
  241. package/docs/types/RestrictValById.html +1 -1
  242. package/docs/types/SegmentTreeNodeVal.html +1 -1
  243. package/docs/types/SpecifyOptional.html +1 -1
  244. package/docs/types/Thunk.html +1 -1
  245. package/docs/types/ToThunkFn.html +1 -1
  246. package/docs/types/TopologicalStatus.html +1 -1
  247. package/docs/types/TreeMultisetNodeNested.html +1 -1
  248. package/docs/types/TreeMultisetOptions.html +1 -1
  249. package/docs/types/TrlAsyncFn.html +1 -1
  250. package/docs/types/TrlFn.html +1 -1
  251. package/docs/types/Turning.html +1 -1
  252. package/docs/types/VertexId.html +1 -1
  253. package/docs/variables/THUNK_SYMBOL.html +1 -1
  254. package/jest.config.js +1 -0
  255. package/package.json +18 -6
  256. package/src/data-structures/binary-tree/aa-tree.ts +1 -0
  257. package/src/data-structures/binary-tree/abstract-binary-tree.ts +1631 -0
  258. package/src/data-structures/binary-tree/avl-tree.ts +310 -0
  259. package/src/data-structures/binary-tree/b-tree.ts +1 -0
  260. package/src/data-structures/binary-tree/binary-indexed-tree.ts +76 -0
  261. package/src/data-structures/binary-tree/binary-tree.ts +47 -0
  262. package/src/data-structures/binary-tree/bst.ts +537 -0
  263. package/src/data-structures/binary-tree/index.ts +12 -0
  264. package/src/data-structures/binary-tree/rb-tree.ts +101 -0
  265. package/src/data-structures/binary-tree/segment-tree.ts +242 -0
  266. package/src/data-structures/binary-tree/splay-tree.ts +1 -0
  267. package/src/data-structures/binary-tree/tree-multiset.ts +700 -0
  268. package/src/data-structures/binary-tree/two-three-tree.ts +1 -0
  269. package/src/data-structures/diagrams/README.md +5 -0
  270. package/src/data-structures/graph/abstract-graph.ts +1040 -0
  271. package/src/data-structures/graph/directed-graph.ts +470 -0
  272. package/src/data-structures/graph/index.ts +4 -0
  273. package/src/data-structures/graph/map-graph.ts +129 -0
  274. package/src/data-structures/graph/undirected-graph.ts +274 -0
  275. package/src/data-structures/hash/coordinate-map.ts +67 -0
  276. package/src/data-structures/hash/coordinate-set.ts +56 -0
  277. package/src/data-structures/hash/hash-table.ts +1 -0
  278. package/src/data-structures/hash/index.ts +6 -0
  279. package/src/data-structures/hash/pair.ts +1 -0
  280. package/src/data-structures/hash/tree-map.ts +1 -0
  281. package/src/data-structures/hash/tree-set.ts +1 -0
  282. package/src/data-structures/heap/heap.ts +212 -0
  283. package/src/data-structures/heap/index.ts +3 -0
  284. package/src/data-structures/heap/max-heap.ts +31 -0
  285. package/src/data-structures/heap/min-heap.ts +32 -0
  286. package/src/data-structures/index.ts +11 -0
  287. package/src/data-structures/linked-list/doubly-linked-list.ts +573 -0
  288. package/src/data-structures/linked-list/index.ts +3 -0
  289. package/src/data-structures/linked-list/singly-linked-list.ts +501 -0
  290. package/src/data-structures/linked-list/skip-linked-list.ts +1 -0
  291. package/src/data-structures/matrix/index.ts +4 -0
  292. package/src/data-structures/matrix/matrix.ts +27 -0
  293. package/src/data-structures/matrix/matrix2d.ts +212 -0
  294. package/src/data-structures/matrix/navigator.ts +121 -0
  295. package/src/data-structures/matrix/vector2d.ts +316 -0
  296. package/src/data-structures/priority-queue/index.ts +3 -0
  297. package/src/data-structures/priority-queue/max-priority-queue.ts +56 -0
  298. package/src/data-structures/priority-queue/min-priority-queue.ts +57 -0
  299. package/src/data-structures/priority-queue/priority-queue.ts +359 -0
  300. package/src/data-structures/queue/deque.ts +297 -0
  301. package/src/data-structures/queue/index.ts +2 -0
  302. package/src/data-structures/queue/queue.ts +191 -0
  303. package/src/data-structures/stack/index.ts +1 -0
  304. package/src/data-structures/stack/stack.ts +98 -0
  305. package/src/data-structures/tree/index.ts +1 -0
  306. package/src/data-structures/tree/tree.ts +69 -0
  307. package/src/data-structures/trie/index.ts +1 -0
  308. package/src/data-structures/trie/trie.ts +225 -0
  309. package/src/index.ts +4 -0
  310. package/src/interfaces/abstract-binary-tree.ts +191 -0
  311. package/src/interfaces/abstract-graph.ts +31 -0
  312. package/src/interfaces/avl-tree.ts +25 -0
  313. package/src/interfaces/binary-tree.ts +6 -0
  314. package/src/interfaces/bst.ts +31 -0
  315. package/src/interfaces/directed-graph.ts +20 -0
  316. package/src/interfaces/doubly-linked-list.ts +1 -0
  317. package/src/interfaces/heap.ts +1 -0
  318. package/src/interfaces/index.ts +15 -0
  319. package/src/interfaces/navigator.ts +1 -0
  320. package/src/interfaces/priority-queue.ts +1 -0
  321. package/src/interfaces/rb-tree.ts +9 -0
  322. package/src/interfaces/segment-tree.ts +1 -0
  323. package/src/interfaces/singly-linked-list.ts +1 -0
  324. package/src/interfaces/tree-multiset.ts +7 -0
  325. package/src/interfaces/undirected-graph.ts +6 -0
  326. package/src/types/data-structures/abstract-binary-tree.ts +50 -0
  327. package/src/types/data-structures/abstract-graph.ts +11 -0
  328. package/src/types/data-structures/avl-tree.ts +5 -0
  329. package/src/types/data-structures/binary-tree.ts +5 -0
  330. package/src/types/data-structures/bst.ts +13 -0
  331. package/src/types/data-structures/directed-graph.ts +8 -0
  332. package/src/types/data-structures/doubly-linked-list.ts +1 -0
  333. package/src/types/data-structures/heap.ts +5 -0
  334. package/src/types/data-structures/index.ts +15 -0
  335. package/src/types/data-structures/map-graph.ts +1 -0
  336. package/src/types/data-structures/navigator.ts +13 -0
  337. package/src/types/data-structures/priority-queue.ts +9 -0
  338. package/src/types/data-structures/rb-tree.ts +8 -0
  339. package/src/types/data-structures/segment-tree.ts +1 -0
  340. package/src/types/data-structures/singly-linked-list.ts +1 -0
  341. package/src/types/data-structures/tree-multiset.ts +6 -0
  342. package/src/types/helpers.ts +1 -0
  343. package/src/types/index.ts +3 -0
  344. package/src/types/utils/index.ts +2 -0
  345. package/src/types/utils/utils.ts +6 -0
  346. package/src/types/utils/validate-type.ts +35 -0
  347. package/src/utils/index.ts +1 -0
  348. package/src/utils/utils.ts +79 -0
@@ -35,7 +35,7 @@
35
35
  <ul class="tsd-hierarchy">
36
36
  <li><a href="../types/IAVLTreeNode.html" class="tsd-signature-type tsd-kind-type-alias">IAVLTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">NEIGHBOR</span><span class="tsd-signature-symbol">&gt;</span></li></ul></section><aside class="tsd-sources">
37
37
  <ul>
38
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/avl-tree.ts#L12">src/data-structures/binary-tree/avl-tree.ts:12</a></li></ul></aside>
38
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/avl-tree.ts#L12">src/data-structures/binary-tree/avl-tree.ts:12</a></li></ul></aside>
39
39
  <section class="tsd-panel-group tsd-index-group">
40
40
  <section class="tsd-panel tsd-index-panel">
41
41
  <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -79,7 +79,7 @@
79
79
  <h4 class="tsd-returns-title">Returns <a href="AVLTreeNode.html" class="tsd-signature-type tsd-kind-class">AVLTreeNode</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">NEIGHBOR</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
80
80
  <p>Overrides <a href="BSTNode.html">BSTNode</a>.<a href="BSTNode.html#constructor">constructor</a></p>
81
81
  <ul>
82
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/avl-tree.ts#L16">src/data-structures/binary-tree/avl-tree.ts:16</a></li></ul></aside></li></ul></section></section>
82
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/avl-tree.ts#L16">src/data-structures/binary-tree/avl-tree.ts:16</a></li></ul></aside></li></ul></section></section>
83
83
  <section class="tsd-panel-group tsd-member-group">
84
84
  <h2>Accessors</h2>
85
85
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="familyPosition" class="tsd-anchor"></a>
@@ -95,7 +95,7 @@
95
95
  <p>Implementation of IAVLTreeNode.familyPosition</p>
96
96
  <p>Inherited from BSTNode.familyPosition</p>
97
97
  <ul>
98
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L107">src/data-structures/binary-tree/abstract-binary-tree.ts:107</a></li></ul></aside></li></ul></section>
98
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L110">src/data-structures/binary-tree/abstract-binary-tree.ts:110</a></li></ul></aside></li></ul></section>
99
99
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="height" class="tsd-anchor"></a>
100
100
  <h3 class="tsd-anchor-link"><span>height</span><a href="#height" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
101
101
  <ul class="tsd-signatures tsd-is-inherited">
@@ -105,7 +105,7 @@
105
105
  <p>Implementation of IAVLTreeNode.height</p>
106
106
  <p>Inherited from BSTNode.height</p>
107
107
  <ul>
108
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L95">src/data-structures/binary-tree/abstract-binary-tree.ts:95</a></li></ul></aside></li>
108
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L98">src/data-structures/binary-tree/abstract-binary-tree.ts:98</a></li></ul></aside></li>
109
109
  <li class="tsd-signature" id="height.height-2"><span class="tsd-signature-symbol">set</span> height<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
110
110
  <li class="tsd-description">
111
111
  <div class="tsd-parameters">
@@ -117,7 +117,7 @@
117
117
  <p>Implementation of IAVLTreeNode.height</p>
118
118
  <p>Inherited from BSTNode.height</p>
119
119
  <ul>
120
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L99">src/data-structures/binary-tree/abstract-binary-tree.ts:99</a></li></ul></aside></li></ul></section>
120
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L102">src/data-structures/binary-tree/abstract-binary-tree.ts:102</a></li></ul></aside></li></ul></section>
121
121
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="id" class="tsd-anchor"></a>
122
122
  <h3 class="tsd-anchor-link"><span>id</span><a href="#id" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
123
123
  <ul class="tsd-signatures tsd-is-inherited">
@@ -127,7 +127,7 @@
127
127
  <p>Implementation of IAVLTreeNode.id</p>
128
128
  <p>Inherited from BSTNode.id</p>
129
129
  <ul>
130
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L39">src/data-structures/binary-tree/abstract-binary-tree.ts:39</a></li></ul></aside></li>
130
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L42">src/data-structures/binary-tree/abstract-binary-tree.ts:42</a></li></ul></aside></li>
131
131
  <li class="tsd-signature" id="id.id-2"><span class="tsd-signature-symbol">set</span> id<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
132
132
  <li class="tsd-description">
133
133
  <div class="tsd-parameters">
@@ -139,7 +139,7 @@
139
139
  <p>Implementation of IAVLTreeNode.id</p>
140
140
  <p>Inherited from BSTNode.id</p>
141
141
  <ul>
142
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L43">src/data-structures/binary-tree/abstract-binary-tree.ts:43</a></li></ul></aside></li></ul></section>
142
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L46">src/data-structures/binary-tree/abstract-binary-tree.ts:46</a></li></ul></aside></li></ul></section>
143
143
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="left" class="tsd-anchor"></a>
144
144
  <h3 class="tsd-anchor-link"><span>left</span><a href="#left" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
145
145
  <ul class="tsd-signatures tsd-is-inherited">
@@ -149,7 +149,7 @@
149
149
  <p>Implementation of IAVLTreeNode.left</p>
150
150
  <p>Inherited from BSTNode.left</p>
151
151
  <ul>
152
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L59">src/data-structures/binary-tree/abstract-binary-tree.ts:59</a></li></ul></aside></li>
152
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L62">src/data-structures/binary-tree/abstract-binary-tree.ts:62</a></li></ul></aside></li>
153
153
  <li class="tsd-signature" id="left.left-2"><span class="tsd-signature-symbol">set</span> left<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
154
154
  <li class="tsd-description">
155
155
  <div class="tsd-parameters">
@@ -161,7 +161,7 @@
161
161
  <p>Implementation of IAVLTreeNode.left</p>
162
162
  <p>Inherited from BSTNode.left</p>
163
163
  <ul>
164
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L63">src/data-structures/binary-tree/abstract-binary-tree.ts:63</a></li></ul></aside></li></ul></section>
164
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L66">src/data-structures/binary-tree/abstract-binary-tree.ts:66</a></li></ul></aside></li></ul></section>
165
165
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="parent" class="tsd-anchor"></a>
166
166
  <h3 class="tsd-anchor-link"><span>parent</span><a href="#parent" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
167
167
  <ul class="tsd-signatures tsd-is-inherited">
@@ -171,7 +171,7 @@
171
171
  <p>Implementation of IAVLTreeNode.parent</p>
172
172
  <p>Inherited from BSTNode.parent</p>
173
173
  <ul>
174
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L85">src/data-structures/binary-tree/abstract-binary-tree.ts:85</a></li></ul></aside></li>
174
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L88">src/data-structures/binary-tree/abstract-binary-tree.ts:88</a></li></ul></aside></li>
175
175
  <li class="tsd-signature" id="parent.parent-2"><span class="tsd-signature-symbol">set</span> parent<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
176
176
  <li class="tsd-description">
177
177
  <div class="tsd-parameters">
@@ -183,7 +183,7 @@
183
183
  <p>Implementation of IAVLTreeNode.parent</p>
184
184
  <p>Inherited from BSTNode.parent</p>
185
185
  <ul>
186
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L89">src/data-structures/binary-tree/abstract-binary-tree.ts:89</a></li></ul></aside></li></ul></section>
186
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L92">src/data-structures/binary-tree/abstract-binary-tree.ts:92</a></li></ul></aside></li></ul></section>
187
187
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="right" class="tsd-anchor"></a>
188
188
  <h3 class="tsd-anchor-link"><span>right</span><a href="#right" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
189
189
  <ul class="tsd-signatures tsd-is-inherited">
@@ -193,7 +193,7 @@
193
193
  <p>Implementation of IAVLTreeNode.right</p>
194
194
  <p>Inherited from BSTNode.right</p>
195
195
  <ul>
196
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L72">src/data-structures/binary-tree/abstract-binary-tree.ts:72</a></li></ul></aside></li>
196
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L75">src/data-structures/binary-tree/abstract-binary-tree.ts:75</a></li></ul></aside></li>
197
197
  <li class="tsd-signature" id="right.right-2"><span class="tsd-signature-symbol">set</span> right<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
198
198
  <li class="tsd-description">
199
199
  <div class="tsd-parameters">
@@ -205,7 +205,7 @@
205
205
  <p>Implementation of IAVLTreeNode.right</p>
206
206
  <p>Inherited from BSTNode.right</p>
207
207
  <ul>
208
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L76">src/data-structures/binary-tree/abstract-binary-tree.ts:76</a></li></ul></aside></li></ul></section>
208
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L79">src/data-structures/binary-tree/abstract-binary-tree.ts:79</a></li></ul></aside></li></ul></section>
209
209
  <section class="tsd-panel tsd-member tsd-is-inherited"><a id="val" class="tsd-anchor"></a>
210
210
  <h3 class="tsd-anchor-link"><span>val</span><a href="#val" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
211
211
  <ul class="tsd-signatures tsd-is-inherited">
@@ -215,7 +215,7 @@
215
215
  <p>Implementation of IAVLTreeNode.val</p>
216
216
  <p>Inherited from BSTNode.val</p>
217
217
  <ul>
218
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L49">src/data-structures/binary-tree/abstract-binary-tree.ts:49</a></li></ul></aside></li>
218
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L52">src/data-structures/binary-tree/abstract-binary-tree.ts:52</a></li></ul></aside></li>
219
219
  <li class="tsd-signature" id="val.val-2"><span class="tsd-signature-symbol">set</span> val<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
220
220
  <li class="tsd-description">
221
221
  <div class="tsd-parameters">
@@ -227,7 +227,7 @@
227
227
  <p>Implementation of IAVLTreeNode.val</p>
228
228
  <p>Inherited from BSTNode.val</p>
229
229
  <ul>
230
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/abstract-binary-tree.ts#L53">src/data-structures/binary-tree/abstract-binary-tree.ts:53</a></li></ul></aside></li></ul></section></section></div>
230
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/abstract-binary-tree.ts#L56">src/data-structures/binary-tree/abstract-binary-tree.ts:56</a></li></ul></aside></li></ul></section></section></div>
231
231
  <div class="col-sidebar">
232
232
  <div class="page-menu">
233
233
  <div class="tsd-navigation settings">
@@ -20,7 +20,7 @@
20
20
  <ul class="tsd-hierarchy">
21
21
  <li><span class="target">AaTree</span></li></ul></section><aside class="tsd-sources">
22
22
  <ul>
23
- <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/6996813/src/data-structures/binary-tree/aa-tree.ts#L1">src/data-structures/binary-tree/aa-tree.ts:1</a></li></ul></aside>
23
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/474f431/src/data-structures/binary-tree/aa-tree.ts#L1">src/data-structures/binary-tree/aa-tree.ts:1</a></li></ul></aside>
24
24
  <section class="tsd-panel-group tsd-index-group">
25
25
  <section class="tsd-panel tsd-index-panel">
26
26
  <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">