data-structure-typed 1.50.2 → 1.50.4

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 (203) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -13
  2. package/CHANGELOG.md +1 -1
  3. package/README.md +23 -21
  4. package/README_zh-CN.md +7 -7
  5. package/SPECIFICATION.md +56 -0
  6. package/SPONSOR-zh-CN.md +90 -0
  7. package/SPONSOR.md +54 -0
  8. package/benchmark/report.html +13 -13
  9. package/benchmark/report.json +149 -155
  10. package/dist/cjs/data-structures/base/iterable-base.d.ts +6 -0
  11. package/dist/cjs/data-structures/base/iterable-base.js.map +1 -1
  12. package/dist/cjs/data-structures/binary-tree/{tree-multimap.d.ts → avl-tree-multi-map.d.ts} +43 -10
  13. package/dist/cjs/data-structures/binary-tree/{tree-multimap.js → avl-tree-multi-map.js} +50 -12
  14. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -0
  15. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +29 -1
  16. package/dist/cjs/data-structures/binary-tree/avl-tree.js +33 -1
  17. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  18. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.d.ts +22 -0
  19. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js +22 -0
  20. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +1 -1
  21. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +1 -1
  22. package/dist/cjs/data-structures/binary-tree/binary-tree.js +1 -1
  23. package/dist/cjs/data-structures/binary-tree/bst.d.ts +46 -13
  24. package/dist/cjs/data-structures/binary-tree/bst.js +51 -20
  25. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  26. package/dist/cjs/data-structures/binary-tree/index.d.ts +2 -1
  27. package/dist/cjs/data-structures/binary-tree/index.js +2 -1
  28. package/dist/cjs/data-structures/binary-tree/index.js.map +1 -1
  29. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +54 -2
  30. package/dist/cjs/data-structures/binary-tree/rb-tree.js +90 -24
  31. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  32. package/dist/cjs/data-structures/binary-tree/segment-tree.d.ts +99 -6
  33. package/dist/cjs/data-structures/binary-tree/segment-tree.js +127 -10
  34. package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +1 -1
  35. package/dist/cjs/data-structures/binary-tree/tree-multi-map.d.ts +200 -0
  36. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +400 -0
  37. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -0
  38. package/dist/cjs/data-structures/graph/abstract-graph.d.ts +0 -78
  39. package/dist/cjs/data-structures/graph/abstract-graph.js +0 -189
  40. package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -1
  41. package/dist/cjs/data-structures/graph/directed-graph.d.ts +59 -0
  42. package/dist/cjs/data-structures/graph/directed-graph.js +105 -0
  43. package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -1
  44. package/dist/cjs/data-structures/graph/undirected-graph.d.ts +60 -7
  45. package/dist/cjs/data-structures/graph/undirected-graph.js +126 -18
  46. package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -1
  47. package/dist/cjs/data-structures/hash/hash-map.d.ts +143 -23
  48. package/dist/cjs/data-structures/hash/hash-map.js +196 -62
  49. package/dist/cjs/data-structures/hash/hash-map.js.map +1 -1
  50. package/dist/cjs/data-structures/heap/heap.d.ts +29 -19
  51. package/dist/cjs/data-structures/heap/heap.js +29 -20
  52. package/dist/cjs/data-structures/heap/heap.js.map +1 -1
  53. package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +71 -25
  54. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +83 -25
  55. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  56. package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +26 -3
  57. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +34 -3
  58. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
  59. package/dist/cjs/data-structures/linked-list/skip-linked-list.d.ts +2 -2
  60. package/dist/cjs/data-structures/linked-list/skip-linked-list.js +2 -2
  61. package/dist/cjs/data-structures/matrix/matrix.d.ts +1 -1
  62. package/dist/cjs/data-structures/matrix/matrix.js +1 -1
  63. package/dist/cjs/data-structures/priority-queue/max-priority-queue.d.ts +10 -0
  64. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js +10 -0
  65. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  66. package/dist/cjs/data-structures/priority-queue/min-priority-queue.d.ts +11 -0
  67. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js +11 -0
  68. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  69. package/dist/cjs/data-structures/priority-queue/priority-queue.d.ts +8 -0
  70. package/dist/cjs/data-structures/priority-queue/priority-queue.js +8 -0
  71. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +1 -1
  72. package/dist/cjs/data-structures/queue/deque.d.ts +95 -21
  73. package/dist/cjs/data-structures/queue/deque.js +100 -16
  74. package/dist/cjs/data-structures/queue/deque.js.map +1 -1
  75. package/dist/cjs/data-structures/queue/queue.d.ts +65 -45
  76. package/dist/cjs/data-structures/queue/queue.js +65 -45
  77. package/dist/cjs/data-structures/queue/queue.js.map +1 -1
  78. package/dist/cjs/data-structures/stack/stack.d.ts +36 -22
  79. package/dist/cjs/data-structures/stack/stack.js +36 -22
  80. package/dist/cjs/data-structures/stack/stack.js.map +1 -1
  81. package/dist/cjs/data-structures/tree/tree.d.ts +57 -3
  82. package/dist/cjs/data-structures/tree/tree.js +77 -11
  83. package/dist/cjs/data-structures/tree/tree.js.map +1 -1
  84. package/dist/cjs/data-structures/trie/trie.d.ts +100 -36
  85. package/dist/cjs/data-structures/trie/trie.js +115 -36
  86. package/dist/cjs/data-structures/trie/trie.js.map +1 -1
  87. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +5 -0
  88. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js +3 -0
  89. package/dist/cjs/types/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -0
  90. package/dist/cjs/types/data-structures/binary-tree/index.d.ts +2 -1
  91. package/dist/cjs/types/data-structures/binary-tree/index.js +2 -1
  92. package/dist/cjs/types/data-structures/binary-tree/index.js.map +1 -1
  93. package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.d.ts +5 -0
  94. package/dist/cjs/types/data-structures/binary-tree/{tree-multimap.js → tree-multi-map.js} +1 -1
  95. package/dist/cjs/types/data-structures/binary-tree/tree-multi-map.js.map +1 -0
  96. package/dist/mjs/data-structures/base/iterable-base.d.ts +6 -0
  97. package/dist/mjs/data-structures/binary-tree/{tree-multimap.d.ts → avl-tree-multi-map.d.ts} +43 -10
  98. package/dist/mjs/data-structures/binary-tree/{tree-multimap.js → avl-tree-multi-map.js} +46 -9
  99. package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +29 -1
  100. package/dist/mjs/data-structures/binary-tree/avl-tree.js +34 -2
  101. package/dist/mjs/data-structures/binary-tree/binary-indexed-tree.d.ts +22 -0
  102. package/dist/mjs/data-structures/binary-tree/binary-indexed-tree.js +22 -0
  103. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +1 -1
  104. package/dist/mjs/data-structures/binary-tree/binary-tree.js +1 -1
  105. package/dist/mjs/data-structures/binary-tree/bst.d.ts +46 -13
  106. package/dist/mjs/data-structures/binary-tree/bst.js +51 -20
  107. package/dist/mjs/data-structures/binary-tree/index.d.ts +2 -1
  108. package/dist/mjs/data-structures/binary-tree/index.js +2 -1
  109. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +54 -2
  110. package/dist/mjs/data-structures/binary-tree/rb-tree.js +91 -25
  111. package/dist/mjs/data-structures/binary-tree/segment-tree.d.ts +99 -6
  112. package/dist/mjs/data-structures/binary-tree/segment-tree.js +127 -10
  113. package/dist/mjs/data-structures/binary-tree/tree-multi-map.d.ts +200 -0
  114. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +397 -0
  115. package/dist/mjs/data-structures/graph/abstract-graph.d.ts +0 -78
  116. package/dist/mjs/data-structures/graph/abstract-graph.js +0 -188
  117. package/dist/mjs/data-structures/graph/directed-graph.d.ts +59 -0
  118. package/dist/mjs/data-structures/graph/directed-graph.js +105 -0
  119. package/dist/mjs/data-structures/graph/undirected-graph.d.ts +60 -7
  120. package/dist/mjs/data-structures/graph/undirected-graph.js +127 -19
  121. package/dist/mjs/data-structures/hash/hash-map.d.ts +143 -23
  122. package/dist/mjs/data-structures/hash/hash-map.js +204 -70
  123. package/dist/mjs/data-structures/heap/heap.d.ts +29 -19
  124. package/dist/mjs/data-structures/heap/heap.js +29 -20
  125. package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +71 -25
  126. package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +86 -28
  127. package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +26 -3
  128. package/dist/mjs/data-structures/linked-list/singly-linked-list.js +36 -5
  129. package/dist/mjs/data-structures/linked-list/skip-linked-list.d.ts +2 -2
  130. package/dist/mjs/data-structures/linked-list/skip-linked-list.js +2 -2
  131. package/dist/mjs/data-structures/matrix/matrix.d.ts +1 -1
  132. package/dist/mjs/data-structures/matrix/matrix.js +1 -1
  133. package/dist/mjs/data-structures/priority-queue/max-priority-queue.d.ts +10 -0
  134. package/dist/mjs/data-structures/priority-queue/max-priority-queue.js +10 -0
  135. package/dist/mjs/data-structures/priority-queue/min-priority-queue.d.ts +11 -0
  136. package/dist/mjs/data-structures/priority-queue/min-priority-queue.js +11 -0
  137. package/dist/mjs/data-structures/priority-queue/priority-queue.d.ts +8 -0
  138. package/dist/mjs/data-structures/priority-queue/priority-queue.js +8 -0
  139. package/dist/mjs/data-structures/queue/deque.d.ts +95 -21
  140. package/dist/mjs/data-structures/queue/deque.js +105 -21
  141. package/dist/mjs/data-structures/queue/queue.d.ts +65 -45
  142. package/dist/mjs/data-structures/queue/queue.js +65 -45
  143. package/dist/mjs/data-structures/stack/stack.d.ts +36 -22
  144. package/dist/mjs/data-structures/stack/stack.js +36 -22
  145. package/dist/mjs/data-structures/tree/tree.d.ts +57 -3
  146. package/dist/mjs/data-structures/tree/tree.js +80 -14
  147. package/dist/mjs/data-structures/trie/trie.d.ts +100 -36
  148. package/dist/mjs/data-structures/trie/trie.js +118 -39
  149. package/dist/mjs/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +5 -0
  150. package/dist/mjs/types/data-structures/binary-tree/index.d.ts +2 -1
  151. package/dist/mjs/types/data-structures/binary-tree/index.js +2 -1
  152. package/dist/mjs/types/data-structures/binary-tree/tree-multi-map.d.ts +5 -0
  153. package/dist/mjs/types/data-structures/binary-tree/tree-multi-map.js +1 -0
  154. package/dist/umd/data-structure-typed.js +1876 -656
  155. package/dist/umd/data-structure-typed.min.js +2 -2
  156. package/dist/umd/data-structure-typed.min.js.map +1 -1
  157. package/package.json +59 -58
  158. package/src/data-structures/base/iterable-base.ts +12 -0
  159. package/src/data-structures/binary-tree/{tree-multimap.ts → avl-tree-multi-map.ts} +59 -20
  160. package/src/data-structures/binary-tree/avl-tree.ts +37 -3
  161. package/src/data-structures/binary-tree/binary-indexed-tree.ts +22 -0
  162. package/src/data-structures/binary-tree/binary-tree.ts +1 -1
  163. package/src/data-structures/binary-tree/bst.ts +51 -19
  164. package/src/data-structures/binary-tree/index.ts +2 -1
  165. package/src/data-structures/binary-tree/rb-tree.ts +99 -28
  166. package/src/data-structures/binary-tree/segment-tree.ts +145 -11
  167. package/src/data-structures/binary-tree/tree-multi-map.ts +463 -0
  168. package/src/data-structures/graph/abstract-graph.ts +0 -211
  169. package/src/data-structures/graph/directed-graph.ts +122 -0
  170. package/src/data-structures/graph/undirected-graph.ts +143 -19
  171. package/src/data-structures/hash/hash-map.ts +228 -76
  172. package/src/data-structures/heap/heap.ts +31 -20
  173. package/src/data-structures/linked-list/doubly-linked-list.ts +96 -29
  174. package/src/data-structures/linked-list/singly-linked-list.ts +42 -6
  175. package/src/data-structures/linked-list/skip-linked-list.ts +2 -2
  176. package/src/data-structures/matrix/matrix.ts +1 -1
  177. package/src/data-structures/priority-queue/max-priority-queue.ts +10 -0
  178. package/src/data-structures/priority-queue/min-priority-queue.ts +11 -0
  179. package/src/data-structures/priority-queue/priority-queue.ts +8 -0
  180. package/src/data-structures/queue/deque.ts +118 -22
  181. package/src/data-structures/queue/queue.ts +68 -45
  182. package/src/data-structures/stack/stack.ts +39 -23
  183. package/src/data-structures/tree/tree.ts +89 -15
  184. package/src/data-structures/trie/trie.ts +131 -40
  185. package/src/types/data-structures/binary-tree/avl-tree-multi-map.ts +8 -0
  186. package/src/types/data-structures/binary-tree/index.ts +2 -1
  187. package/src/types/data-structures/binary-tree/tree-multi-map.ts +8 -0
  188. package/test/integration/index.html +2 -2
  189. package/test/performance/data-structures/graph/directed-graph.test.ts +1 -1
  190. package/test/unit/data-structures/binary-tree/{tree-multimap.test.ts → avl-tree-multi-map.test.ts} +55 -55
  191. package/test/unit/data-structures/binary-tree/overall.test.ts +24 -25
  192. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +706 -0
  193. package/test/unit/data-structures/graph/abstract-graph.test.ts +3 -0
  194. package/test/unit/data-structures/graph/directed-graph.test.ts +189 -253
  195. package/test/unit/data-structures/graph/undirected-graph.test.ts +263 -18
  196. package/test/unit/data-structures/queue/queue.test.ts +2 -0
  197. package/test/unit/unrestricted-interconversion.test.ts +3 -3
  198. package/dist/cjs/data-structures/binary-tree/tree-multimap.js.map +0 -1
  199. package/dist/cjs/types/data-structures/binary-tree/tree-multimap.d.ts +0 -5
  200. package/dist/cjs/types/data-structures/binary-tree/tree-multimap.js.map +0 -1
  201. package/dist/mjs/types/data-structures/binary-tree/tree-multimap.d.ts +0 -5
  202. package/src/types/data-structures/binary-tree/tree-multimap.ts +0 -8
  203. /package/dist/mjs/types/data-structures/binary-tree/{tree-multimap.js → avl-tree-multi-map.js} +0 -0
@@ -86,6 +86,10 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
86
86
  * @returns The top element or undefined if the heap is empty.
87
87
  */
88
88
  poll(): E | undefined;
89
+ /**
90
+ * Time Complexity: O(1)
91
+ * Space Complexity: O(1)
92
+ */
89
93
  /**
90
94
  * Time Complexity: O(1)
91
95
  * Space Complexity: O(1)
@@ -104,11 +108,11 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
104
108
  */
105
109
  clear(): void;
106
110
  /**
107
- * Time Complexity: O(n), where n is the number of elements in the elements array.
111
+ * Time Complexity: O(n)
108
112
  * Space Complexity: O(n)
109
113
  */
110
114
  /**
111
- * Time Complexity: O(n), where n is the number of elements in the elements array.
115
+ * Time Complexity: O(n)
112
116
  * Space Complexity: O(n)
113
117
  *
114
118
  * Clear and add elements of the heap
@@ -116,11 +120,11 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
116
120
  */
117
121
  refill(elements: E[]): boolean[];
118
122
  /**
119
- * Time Complexity: O(n), where n is the number of elements in the heap.
123
+ * Time Complexity: O(n)
120
124
  * Space Complexity: O(1)
121
125
  */
122
126
  /**
123
- * Time Complexity: O(n), where n is the number of elements in the heap.
127
+ * Time Complexity: O(n)
124
128
  * Space Complexity: O(1)
125
129
  *
126
130
  * Use a comparison function to check whether a binary heap contains a specific element.
@@ -129,11 +133,12 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
129
133
  */
130
134
  has(element: E): boolean;
131
135
  /**
132
- * Time Complexity: O(n). The worst-case O(n), where n is the number of elements in the heap. This is because, in the worst case, the element to be deleted is located at the end of the heap (not the root), and after deletion, we may need to reorganize the elements by performing a sinkDown operation.
136
+ * Time Complexity: O(n)
133
137
  * Space Complexity: O(1)
138
+ * The worst-case O(n) This is because, in the worst case, the element to be deleted is located at the end of the heap (not the root), and after deletion, we may need to reorganize the elements by performing a sinkDown operation.
134
139
  */
135
140
  /**
136
- * Time Complexity: O(n). The worst-case O(n), where n is the number of elements in the heap. This is because, in the worst case, the element to be deleted is located at the end of the heap (not the root), and after deletion, we may need to reorganize the elements by performing a sinkDown operation.
141
+ * Time Complexity: O(n)
137
142
  * Space Complexity: O(1)
138
143
  *
139
144
  * The `delete` function removes an element from an array-like data structure, maintaining the order
@@ -145,12 +150,13 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
145
150
  */
146
151
  delete(element: E): boolean;
147
152
  /**
148
- * Time Complexity: O(n), where n is the number of elements in the heap.
149
- * Space Complexity: O(h), where h is the height of the heap.
153
+ * Time Complexity: O(n)
154
+ * Space Complexity: O(log n)
155
+ * where log n is the height of the heap.
150
156
  */
151
157
  /**
152
- * Time Complexity: O(n), where n is the number of elements in the heap.
153
- * Space Complexity: O(h), where h is the height of the heap.
158
+ * Time Complexity: O(n)
159
+ * Space Complexity: O(log n)
154
160
  *
155
161
  * Depth-first search (DFS) method, different traversal orders can be selected。
156
162
  * @param order - Traverse order parameter: 'in' (in-order), 'pre' (pre-order) or 'post' (post-order).
@@ -194,12 +200,12 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
194
200
  */
195
201
  sort(): E[];
196
202
  /**
197
- * Time Complexity: O(log n)
198
- * Space Complexity: O(1)
203
+ * Time Complexity: O(n log n)
204
+ * Space Complexity: O(n)
199
205
  */
200
206
  /**
201
- * Time Complexity: O(n)
202
- * Space Complexity: O(1)
207
+ * Time Complexity: O(n log n)
208
+ * Space Complexity: O(n)
203
209
  *
204
210
  * Fix the entire heap to maintain heap properties.
205
211
  */
@@ -255,7 +261,7 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
255
261
  */
256
262
  protected _getIterator(): IterableIterator<E>;
257
263
  /**
258
- * Time Complexity: O(n)
264
+ * Time Complexity: O(log n)
259
265
  * Space Complexity: O(1)
260
266
  */
261
267
  /**
@@ -266,6 +272,10 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
266
272
  * @param index - The index of the newly added element.
267
273
  */
268
274
  protected _bubbleUp(index: number): boolean;
275
+ /**
276
+ * Time Complexity: O(log n)
277
+ * Space Complexity: O(1)
278
+ */
269
279
  /**
270
280
  * Time Complexity: O(log n)
271
281
  * Space Complexity: O(1)
@@ -397,11 +407,11 @@ export declare class FibonacciHeap<E> {
397
407
  */
398
408
  mergeWithChild(parent: FibonacciHeapNode<E>, node: FibonacciHeapNode<E>): void;
399
409
  /**
400
- * Time Complexity: O(log n), where n is the number of elements in the heap.
410
+ * Time Complexity: O(log n)
401
411
  * Space Complexity: O(1)
402
412
  */
403
413
  /**
404
- * Time Complexity: O(log n), where n is the number of elements in the heap.
414
+ * Time Complexity: O(log n)
405
415
  * Space Complexity: O(1)
406
416
  *
407
417
  * Remove and return the top element (smallest or largest element) from the heap.
@@ -409,11 +419,11 @@ export declare class FibonacciHeap<E> {
409
419
  */
410
420
  poll(): E | undefined;
411
421
  /**
412
- * Time Complexity: O(log n), where n is the number of elements in the heap.
422
+ * Time Complexity: O(log n)
413
423
  * Space Complexity: O(1)
414
424
  */
415
425
  /**
416
- * Time Complexity: O(log n), where n is the number of elements in the heap.
426
+ * Time Complexity: O(log n)
417
427
  * Space Complexity: O(1)
418
428
  *
419
429
  * Remove and return the top element (smallest or largest element) from the heap.
@@ -51,7 +51,6 @@ class Heap extends base_1.IterableElementBase {
51
51
  for (const el of elements) {
52
52
  this.add(el);
53
53
  }
54
- // this.fix();
55
54
  }
56
55
  }
57
56
  /**
@@ -130,6 +129,10 @@ class Heap extends base_1.IterableElementBase {
130
129
  }
131
130
  return value;
132
131
  }
132
+ /**
133
+ * Time Complexity: O(1)
134
+ * Space Complexity: O(1)
135
+ */
133
136
  /**
134
137
  * Time Complexity: O(1)
135
138
  * Space Complexity: O(1)
@@ -154,11 +157,11 @@ class Heap extends base_1.IterableElementBase {
154
157
  this._elements = [];
155
158
  }
156
159
  /**
157
- * Time Complexity: O(n), where n is the number of elements in the elements array.
160
+ * Time Complexity: O(n)
158
161
  * Space Complexity: O(n)
159
162
  */
160
163
  /**
161
- * Time Complexity: O(n), where n is the number of elements in the elements array.
164
+ * Time Complexity: O(n)
162
165
  * Space Complexity: O(n)
163
166
  *
164
167
  * Clear and add elements of the heap
@@ -169,11 +172,11 @@ class Heap extends base_1.IterableElementBase {
169
172
  return this.fix();
170
173
  }
171
174
  /**
172
- * Time Complexity: O(n), where n is the number of elements in the heap.
175
+ * Time Complexity: O(n)
173
176
  * Space Complexity: O(1)
174
177
  */
175
178
  /**
176
- * Time Complexity: O(n), where n is the number of elements in the heap.
179
+ * Time Complexity: O(n)
177
180
  * Space Complexity: O(1)
178
181
  *
179
182
  * Use a comparison function to check whether a binary heap contains a specific element.
@@ -184,11 +187,12 @@ class Heap extends base_1.IterableElementBase {
184
187
  return this.elements.includes(element);
185
188
  }
186
189
  /**
187
- * Time Complexity: O(n). The worst-case O(n), where n is the number of elements in the heap. This is because, in the worst case, the element to be deleted is located at the end of the heap (not the root), and after deletion, we may need to reorganize the elements by performing a sinkDown operation.
190
+ * Time Complexity: O(n)
188
191
  * Space Complexity: O(1)
192
+ * The worst-case O(n) This is because, in the worst case, the element to be deleted is located at the end of the heap (not the root), and after deletion, we may need to reorganize the elements by performing a sinkDown operation.
189
193
  */
190
194
  /**
191
- * Time Complexity: O(n). The worst-case O(n), where n is the number of elements in the heap. This is because, in the worst case, the element to be deleted is located at the end of the heap (not the root), and after deletion, we may need to reorganize the elements by performing a sinkDown operation.
195
+ * Time Complexity: O(n)
192
196
  * Space Complexity: O(1)
193
197
  *
194
198
  * The `delete` function removes an element from an array-like data structure, maintaining the order
@@ -216,12 +220,13 @@ class Heap extends base_1.IterableElementBase {
216
220
  return true;
217
221
  }
218
222
  /**
219
- * Time Complexity: O(n), where n is the number of elements in the heap.
220
- * Space Complexity: O(h), where h is the height of the heap.
223
+ * Time Complexity: O(n)
224
+ * Space Complexity: O(log n)
225
+ * where log n is the height of the heap.
221
226
  */
222
227
  /**
223
- * Time Complexity: O(n), where n is the number of elements in the heap.
224
- * Space Complexity: O(h), where h is the height of the heap.
228
+ * Time Complexity: O(n)
229
+ * Space Complexity: O(log n)
225
230
  *
226
231
  * Depth-first search (DFS) method, different traversal orders can be selected。
227
232
  * @param order - Traverse order parameter: 'in' (in-order), 'pre' (pre-order) or 'post' (post-order).
@@ -305,12 +310,12 @@ class Heap extends base_1.IterableElementBase {
305
310
  return visitedNode;
306
311
  }
307
312
  /**
308
- * Time Complexity: O(log n)
309
- * Space Complexity: O(1)
313
+ * Time Complexity: O(n log n)
314
+ * Space Complexity: O(n)
310
315
  */
311
316
  /**
312
- * Time Complexity: O(n)
313
- * Space Complexity: O(1)
317
+ * Time Complexity: O(n log n)
318
+ * Space Complexity: O(n)
314
319
  *
315
320
  * Fix the entire heap to maintain heap properties.
316
321
  */
@@ -393,7 +398,7 @@ class Heap extends base_1.IterableElementBase {
393
398
  }
394
399
  }
395
400
  /**
396
- * Time Complexity: O(n)
401
+ * Time Complexity: O(log n)
397
402
  * Space Complexity: O(1)
398
403
  */
399
404
  /**
@@ -416,6 +421,10 @@ class Heap extends base_1.IterableElementBase {
416
421
  this.elements[index] = element;
417
422
  return true;
418
423
  }
424
+ /**
425
+ * Time Complexity: O(log n)
426
+ * Space Complexity: O(1)
427
+ */
419
428
  /**
420
429
  * Time Complexity: O(log n)
421
430
  * Space Complexity: O(1)
@@ -619,11 +628,11 @@ class FibonacciHeap {
619
628
  }
620
629
  }
621
630
  /**
622
- * Time Complexity: O(log n), where n is the number of elements in the heap.
631
+ * Time Complexity: O(log n)
623
632
  * Space Complexity: O(1)
624
633
  */
625
634
  /**
626
- * Time Complexity: O(log n), where n is the number of elements in the heap.
635
+ * Time Complexity: O(log n)
627
636
  * Space Complexity: O(1)
628
637
  *
629
638
  * Remove and return the top element (smallest or largest element) from the heap.
@@ -633,11 +642,11 @@ class FibonacciHeap {
633
642
  return this.pop();
634
643
  }
635
644
  /**
636
- * Time Complexity: O(log n), where n is the number of elements in the heap.
645
+ * Time Complexity: O(log n)
637
646
  * Space Complexity: O(1)
638
647
  */
639
648
  /**
640
- * Time Complexity: O(log n), where n is the number of elements in the heap.
649
+ * Time Complexity: O(log n)
641
650
  * Space Complexity: O(1)
642
651
  *
643
652
  * Remove and return the top element (smallest or largest element) from the heap.
@@ -1 +1 @@
1
- {"version":3,"file":"heap.js","sourceRoot":"","sources":["../../../../src/data-structures/heap/heap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heap.js","sourceRoot":"","sources":["../../../../src/data-structures/heap/heap.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,51 @@
8
8
  import type { ElementCallback } from '../../types';
9
9
  import { IterableElementBase } from '../base';
10
10
  export declare class DoublyLinkedListNode<E = any> {
11
- value: E;
12
- next: DoublyLinkedListNode<E> | undefined;
13
- prev: DoublyLinkedListNode<E> | undefined;
14
11
  /**
15
12
  * The constructor function initializes the value, next, and previous properties of an object.
16
13
  * @param {E} value - The "value" parameter is the value that will be stored in the node. It can be of any data type, as it
17
14
  * is defined as a generic type "E".
18
15
  */
19
16
  constructor(value: E);
17
+ protected _value: E;
18
+ /**
19
+ * The function returns the value of a protected variable.
20
+ * @returns The value of the variable `_value` is being returned.
21
+ */
22
+ get value(): E;
23
+ /**
24
+ * The above function sets the value of a variable.
25
+ * @param {E} value - The parameter "value" is of type E, which means it can be any type.
26
+ */
27
+ set value(value: E);
28
+ protected _next: DoublyLinkedListNode<E> | undefined;
29
+ /**
30
+ * The "next" function returns the next node in a doubly linked list.
31
+ * @returns The `next` property is being returned. It can be either a `DoublyLinkedListNode<E>`
32
+ * object or `undefined`.
33
+ */
34
+ get next(): DoublyLinkedListNode<E> | undefined;
35
+ /**
36
+ * The "next" property of a DoublyLinkedListNode is set to the provided value.
37
+ * @param {DoublyLinkedListNode<E> | undefined} value - The `value` parameter is of type
38
+ * `DoublyLinkedListNode<E> | undefined`. This means that it can accept either a
39
+ * `DoublyLinkedListNode` object or `undefined` as its value.
40
+ */
41
+ set next(value: DoublyLinkedListNode<E> | undefined);
42
+ protected _prev: DoublyLinkedListNode<E> | undefined;
43
+ /**
44
+ * The `prev` function returns the previous node in a doubly linked list.
45
+ * @returns The `prev` property of the `DoublyLinkedListNode` class is being returned. It can either
46
+ * be a `DoublyLinkedListNode` object or `undefined`.
47
+ */
48
+ get prev(): DoublyLinkedListNode<E> | undefined;
49
+ /**
50
+ * The function sets the previous node of a doubly linked list node.
51
+ * @param {DoublyLinkedListNode<E> | undefined} value - The `value` parameter is of type
52
+ * `DoublyLinkedListNode<E> | undefined`. This means that it can accept either a
53
+ * `DoublyLinkedListNode` object or `undefined` as its value.
54
+ */
55
+ set prev(value: DoublyLinkedListNode<E> | undefined);
20
56
  }
21
57
  /**
22
58
  * 1. Node Structure: Each node contains three parts: a data field, a pointer (or reference) to the previous node, and a pointer to the next node. This structure allows traversal of the linked list in both directions.
@@ -52,12 +88,12 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
52
88
  */
53
89
  get size(): number;
54
90
  /**
55
- * Time Complexity: O(n)
56
- * Space Complexity: O(n)
91
+ * Time Complexity: O(1)
92
+ * Space Complexity: O(1)
57
93
  * where n is the number of elements in the linked list.
58
94
  */
59
95
  /**
60
- * Time Complexity: O(n)
96
+ * Time Complexity: O(1)
61
97
  * Space Complexity: O(1)
62
98
  *
63
99
  * The `get first` function returns the first node in a doubly linked list, or undefined if the list is empty.
@@ -69,7 +105,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
69
105
  * Space Complexity: O(1)
70
106
  */
71
107
  /**
72
- * Time Complexity: O(n)
108
+ * Time Complexity: O(1)
73
109
  * Space Complexity: O(1)
74
110
  *
75
111
  * The `get last` function returns the last node in a doubly linked list, or undefined if the list is empty.
@@ -77,11 +113,11 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
77
113
  */
78
114
  get last(): E | undefined;
79
115
  /**
80
- * Time Complexity: O(1)
81
- * Space Complexity: O(1)
116
+ * Time Complexity: O(n)
117
+ * Space Complexity: O(n)
82
118
  */
83
119
  /**
84
- * Time Complexity: O(n), where n is the size of the input array.
120
+ * Time Complexity: O(n)
85
121
  * Space Complexity: O(n)
86
122
  *
87
123
  * The `fromArray` function creates a new instance of a DoublyLinkedList and populates it with the elements from the
@@ -116,7 +152,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
116
152
  */
117
153
  pop(): E | undefined;
118
154
  /**
119
- * Time Complexity: O(n)
155
+ * Time Complexity: O(1)
120
156
  * Space Complexity: O(1)
121
157
  */
122
158
  /**
@@ -129,7 +165,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
129
165
  */
130
166
  shift(): E | undefined;
131
167
  /**
132
- * Time Complexity: O(n)
168
+ * Time Complexity: O(1)
133
169
  * Space Complexity: O(1)
134
170
  */
135
171
  /**
@@ -205,12 +241,12 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
205
241
  */
206
242
  addAt(index: number, value: E): boolean;
207
243
  /**
208
- * Time Complexity: O(n)
244
+ * Time Complexity: O(1) or O(n)
209
245
  * Space Complexity: O(1)
210
246
  * where n is the number of elements in the linked list.
211
247
  */
212
248
  /**
213
- * Time Complexity: O(n)
249
+ * Time Complexity: O(1) or O(n)
214
250
  * Space Complexity: O(1)
215
251
  *
216
252
  * The `addBefore` function inserts a new value before an existing value or node in a doubly linked list.
@@ -224,11 +260,11 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
224
260
  */
225
261
  addBefore(existingValueOrNode: E | DoublyLinkedListNode<E>, newValue: E): boolean;
226
262
  /**
227
- * Time Complexity: O(n)
263
+ * Time Complexity: O(1) or O(n)
228
264
  * Space Complexity: O(1)
229
265
  */
230
266
  /**
231
- * Time Complexity: O(n)
267
+ * Time Complexity: O(1) or O(n)
232
268
  * Space Complexity: O(1)
233
269
  *
234
270
  * The `addAfter` function inserts a new node with a given value after an existing node in a doubly linked list.
@@ -252,7 +288,11 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
252
288
  */
253
289
  deleteAt(index: number): boolean;
254
290
  /**
255
- * Time Complexity: O(n)
291
+ * Time Complexity: O(1) or O(n)
292
+ * Space Complexity: O(1)
293
+ */
294
+ /**
295
+ * Time Complexity: O(1) or O(n)
256
296
  * Space Complexity: O(1)
257
297
  *
258
298
  * The `delete` function removes a node from a doubly linked list based on either the node itself or its value.
@@ -267,6 +307,9 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
267
307
  * Space Complexity: O(1)
268
308
  */
269
309
  /**
310
+ * Time Complexity: O(1)
311
+ * Space Complexity: O(1)
312
+ *
270
313
  * The function checks if a variable has a size greater than zero and returns a boolean value.
271
314
  * @returns A boolean value is being returned.
272
315
  */
@@ -276,6 +319,9 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
276
319
  * Space Complexity: O(1)
277
320
  */
278
321
  /**
322
+ * Time Complexity: O(1)
323
+ * Space Complexity: O(1)
324
+ *
279
325
  * The `clear` function resets the linked list by setting the head, tail, and size to undefined and 0 respectively.
280
326
  */
281
327
  clear(): void;
@@ -296,7 +342,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
296
342
  indexOf(value: E): number;
297
343
  /**
298
344
  * Time Complexity: O(n)
299
- * Space Complexity: O(n)
345
+ * Space Complexity: O(1)
300
346
  */
301
347
  /**
302
348
  * Time Complexity: O(n)
@@ -312,7 +358,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
312
358
  findBackward(callback: (value: E) => boolean): E | undefined;
313
359
  /**
314
360
  * Time Complexity: O(n)
315
- * Space Complexity: O(n)
361
+ * Space Complexity: O(1)
316
362
  */
317
363
  /**
318
364
  * Time Complexity: O(n)
@@ -360,8 +406,8 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
360
406
  */
361
407
  clone(): DoublyLinkedList<E>;
362
408
  /**
363
- * Time Complexity: O(1)
364
- * Space Complexity: O(1)
409
+ * Time Complexity: O(n)
410
+ * Space Complexity: O(n)
365
411
  */
366
412
  /**
367
413
  * Time Complexity: O(n)
@@ -382,8 +428,8 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
382
428
  */
383
429
  filter(callback: ElementCallback<E, boolean>, thisArg?: any): DoublyLinkedList<E>;
384
430
  /**
385
- * Time Complexity: O(1)
386
- * Space Complexity: O(1)
431
+ * Time Complexity: O(n)
432
+ * Space Complexity: O(n)
387
433
  */
388
434
  /**
389
435
  * Time Complexity: O(n)
@@ -429,7 +475,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
429
475
  */
430
476
  pollLast(): E | undefined;
431
477
  /**
432
- * Time Complexity: O(n)
478
+ * Time Complexity: O(1)
433
479
  * Space Complexity: O(1)
434
480
  */
435
481
  /**
@@ -442,7 +488,7 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
442
488
  */
443
489
  pollFirst(): E | undefined;
444
490
  /**
445
- * Time Complexity: O(n)
491
+ * Time Complexity: O(1)
446
492
  * Space Complexity: O(1)
447
493
  */
448
494
  /**