data-structure-typed 2.6.0 → 2.6.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.
- package/.github/workflows/ci.yml +7 -2
- package/.github/workflows/release-package.yml +9 -2
- package/CHANGELOG.md +9 -1
- package/dist/cjs/binary-tree.cjs +2927 -23688
- package/dist/cjs/graph.cjs +845 -2634
- package/dist/cjs/hash.cjs +185 -616
- package/dist/cjs/heap.cjs +266 -818
- package/dist/cjs/index.cjs +5116 -31358
- package/dist/cjs/linked-list.cjs +644 -2615
- package/dist/cjs/matrix.cjs +220 -535
- package/dist/cjs/priority-queue.cjs +266 -818
- package/dist/cjs/queue.cjs +637 -2343
- package/dist/cjs/stack.cjs +124 -530
- package/dist/cjs/trie.cjs +145 -592
- package/dist/cjs-legacy/binary-tree.cjs +4352 -25113
- package/dist/cjs-legacy/graph.cjs +847 -2636
- package/dist/cjs-legacy/hash.cjs +181 -612
- package/dist/cjs-legacy/heap.cjs +266 -818
- package/dist/cjs-legacy/index.cjs +6657 -32899
- package/dist/cjs-legacy/linked-list.cjs +640 -2611
- package/dist/cjs-legacy/matrix.cjs +220 -535
- package/dist/cjs-legacy/priority-queue.cjs +266 -818
- package/dist/cjs-legacy/queue.cjs +634 -2340
- package/dist/cjs-legacy/stack.cjs +124 -530
- package/dist/cjs-legacy/trie.cjs +145 -592
- package/dist/esm/binary-tree.mjs +2927 -23688
- package/dist/esm/graph.mjs +845 -2634
- package/dist/esm/hash.mjs +185 -616
- package/dist/esm/heap.mjs +266 -818
- package/dist/esm/index.mjs +5116 -31358
- package/dist/esm/linked-list.mjs +644 -2615
- package/dist/esm/matrix.mjs +220 -535
- package/dist/esm/priority-queue.mjs +266 -818
- package/dist/esm/queue.mjs +637 -2343
- package/dist/esm/stack.mjs +124 -530
- package/dist/esm/trie.mjs +145 -592
- package/dist/esm-legacy/binary-tree.mjs +4352 -25113
- package/dist/esm-legacy/graph.mjs +847 -2636
- package/dist/esm-legacy/hash.mjs +181 -612
- package/dist/esm-legacy/heap.mjs +266 -818
- package/dist/esm-legacy/index.mjs +6657 -32899
- package/dist/esm-legacy/linked-list.mjs +640 -2611
- package/dist/esm-legacy/matrix.mjs +220 -535
- package/dist/esm-legacy/priority-queue.mjs +266 -818
- package/dist/esm-legacy/queue.mjs +634 -2340
- package/dist/esm-legacy/stack.mjs +124 -530
- package/dist/esm-legacy/trie.mjs +145 -592
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +29 -500
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +38 -563
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +230 -1212
- package/dist/types/data-structures/binary-tree/bst.d.ts +124 -1063
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +99 -854
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +62 -314
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +366 -5057
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +277 -4885
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +253 -3929
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +261 -4782
- package/dist/types/data-structures/graph/abstract-graph.d.ts +44 -44
- package/dist/types/data-structures/graph/directed-graph.d.ts +130 -527
- package/dist/types/data-structures/graph/undirected-graph.d.ts +125 -482
- package/dist/types/data-structures/hash/hash-map.d.ts +132 -562
- package/dist/types/data-structures/heap/heap.d.ts +194 -746
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +120 -809
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +121 -733
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +193 -863
- package/dist/types/data-structures/matrix/matrix.d.ts +159 -474
- package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +1 -6
- package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +6 -11
- package/dist/types/data-structures/priority-queue/priority-queue.d.ts +1 -1
- package/dist/types/data-structures/queue/deque.d.ts +196 -804
- package/dist/types/data-structures/queue/queue.d.ts +99 -585
- package/dist/types/data-structures/stack/stack.d.ts +75 -481
- package/dist/types/data-structures/trie/trie.d.ts +98 -584
- package/dist/umd/data-structure-typed.js +6580 -32822
- package/dist/umd/data-structure-typed.min.js +3 -3
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +162 -215
- package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +9 -9
- package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +47 -47
- package/docs-site-docusaurus/docs/api/classes/BST.md +155 -208
- package/docs-site-docusaurus/docs/api/classes/BSTNode.md +7 -7
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -29
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +104 -158
- package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/Deque.md +253 -101
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +60 -80
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +244 -114
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +52 -48
- package/docs-site-docusaurus/docs/api/classes/Heap.md +119 -64
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +84 -14
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +138 -34
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +149 -41
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +172 -92
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +60 -80
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +57 -52
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -62
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +120 -70
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -62
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +125 -75
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +119 -64
- package/docs-site-docusaurus/docs/api/classes/Queue.md +158 -74
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +171 -225
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -22
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +172 -94
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +4 -4
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +98 -75
- package/docs-site-docusaurus/docs/api/classes/Stack.md +112 -50
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +104 -129
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +90 -121
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +298 -107
- package/docs-site-docusaurus/docs/api/classes/Trie.md +116 -58
- package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +59 -77
- package/package.json +45 -46
- package/src/common/error.ts +15 -32
- package/src/common/index.ts +0 -3
- package/src/data-structures/base/iterable-element-base.ts +0 -3
- package/src/data-structures/base/linear-base.ts +2 -36
- package/src/data-structures/binary-tree/avl-tree.ts +31 -529
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -572
- package/src/data-structures/binary-tree/binary-tree.ts +326 -1311
- package/src/data-structures/binary-tree/bst.ts +158 -1082
- package/src/data-structures/binary-tree/red-black-tree.ts +451 -1290
- package/src/data-structures/binary-tree/segment-tree.ts +73 -351
- package/src/data-structures/binary-tree/tree-map.ts +462 -5124
- package/src/data-structures/binary-tree/tree-multi-map.ts +302 -4914
- package/src/data-structures/binary-tree/tree-multi-set.ts +299 -3983
- package/src/data-structures/binary-tree/tree-set.ts +338 -4836
- package/src/data-structures/graph/abstract-graph.ts +98 -167
- package/src/data-structures/graph/directed-graph.ts +137 -562
- package/src/data-structures/graph/map-graph.ts +0 -3
- package/src/data-structures/graph/undirected-graph.ts +132 -511
- package/src/data-structures/hash/hash-map.ts +154 -582
- package/src/data-structures/heap/heap.ts +200 -795
- package/src/data-structures/linked-list/doubly-linked-list.ts +121 -865
- package/src/data-structures/linked-list/singly-linked-list.ts +122 -794
- package/src/data-structures/linked-list/skip-linked-list.ts +211 -918
- package/src/data-structures/matrix/matrix.ts +179 -518
- package/src/data-structures/matrix/navigator.ts +0 -1
- package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
- package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
- package/src/data-structures/priority-queue/priority-queue.ts +1 -2
- package/src/data-structures/queue/deque.ts +214 -882
- package/src/data-structures/queue/queue.ts +102 -625
- package/src/data-structures/stack/stack.ts +76 -505
- package/src/data-structures/trie/trie.ts +98 -628
- package/src/types/common.ts +0 -10
- package/src/types/data-structures/binary-tree/bst.ts +0 -7
- package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
- package/src/types/data-structures/graph/abstract-graph.ts +0 -2
- package/src/types/data-structures/hash/hash-map.ts +0 -3
- package/src/types/data-structures/hash/index.ts +0 -1
- package/src/types/data-structures/matrix/navigator.ts +0 -2
- package/src/types/utils/utils.ts +0 -7
- package/src/types/utils/validate-type.ts +0 -7
- package/src/utils/number.ts +0 -2
- package/src/utils/utils.ts +0 -5
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: TreeMultiMap\<K, V, R\>
|
|
8
8
|
|
|
9
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
9
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:27](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L27)
|
|
10
10
|
|
|
11
11
|
TreeMultiMap (ordered MultiMap) — key → bucket (Array of values).
|
|
12
12
|
|
|
@@ -51,7 +51,7 @@ Semantics (RFC):
|
|
|
51
51
|
new TreeMultiMap<K, V, R>(keysNodesEntriesOrRaws?, options?): TreeMultiMap<K, V, R>;
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
54
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:44](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L44)
|
|
55
55
|
|
|
56
56
|
Creates a new TreeMultiMap.
|
|
57
57
|
|
|
@@ -103,7 +103,7 @@ const mmap = new TreeMultiMap(players, { toEntryFn: p => [p.score, p.items] });
|
|
|
103
103
|
get comparator(): Comparator<K>;
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
106
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:115](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L115)
|
|
107
107
|
|
|
108
108
|
Expose comparator for advanced usage/testing (read-only).
|
|
109
109
|
|
|
@@ -125,7 +125,7 @@ Time O(1), Space O(1)
|
|
|
125
125
|
get size(): number;
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
128
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:90](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L90)
|
|
129
129
|
|
|
130
130
|
Number of distinct keys.
|
|
131
131
|
|
|
@@ -147,7 +147,7 @@ Time O(1), Space O(1)
|
|
|
147
147
|
get totalSize(): number;
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
150
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:105](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L105)
|
|
151
151
|
|
|
152
152
|
Total number of values across all buckets (Σ bucket.length).
|
|
153
153
|
|
|
@@ -155,8 +155,6 @@ Total number of values across all buckets (Σ bucket.length).
|
|
|
155
155
|
|
|
156
156
|
Time O(n), Space O(1)
|
|
157
157
|
|
|
158
|
-
*
|
|
159
|
-
|
|
160
158
|
##### Example
|
|
161
159
|
|
|
162
160
|
```ts
|
|
@@ -180,7 +178,7 @@ Time O(n), Space O(1)
|
|
|
180
178
|
iterator: Iterator<[K, V[]]>;
|
|
181
179
|
```
|
|
182
180
|
|
|
183
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
181
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:330](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L330)
|
|
184
182
|
|
|
185
183
|
Iterates over all entries as [key, bucket] pairs.
|
|
186
184
|
|
|
@@ -206,7 +204,7 @@ Iterable.[iterator]
|
|
|
206
204
|
add(key, value): boolean;
|
|
207
205
|
```
|
|
208
206
|
|
|
209
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
207
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:200](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L200)
|
|
210
208
|
|
|
211
209
|
Append a single value.
|
|
212
210
|
|
|
@@ -228,8 +226,6 @@ Append a single value.
|
|
|
228
226
|
|
|
229
227
|
Time O(log n), Space O(1)
|
|
230
228
|
|
|
231
|
-
*
|
|
232
|
-
|
|
233
229
|
#### Example
|
|
234
230
|
|
|
235
231
|
```ts
|
|
@@ -249,7 +245,7 @@ Time O(log n), Space O(1)
|
|
|
249
245
|
ceiling(key): [K, V[]] | undefined;
|
|
250
246
|
```
|
|
251
247
|
|
|
252
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
248
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:525](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L525)
|
|
253
249
|
|
|
254
250
|
Returns the entry with the smallest key >= given key.
|
|
255
251
|
|
|
@@ -267,8 +263,6 @@ Returns the entry with the smallest key >= given key.
|
|
|
267
263
|
|
|
268
264
|
Time O(log n), Space O(1)
|
|
269
265
|
|
|
270
|
-
*
|
|
271
|
-
|
|
272
266
|
#### Example
|
|
273
267
|
|
|
274
268
|
```ts
|
|
@@ -288,7 +282,7 @@ Time O(log n), Space O(1)
|
|
|
288
282
|
clear(): void;
|
|
289
283
|
```
|
|
290
284
|
|
|
291
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
285
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:140](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L140)
|
|
292
286
|
|
|
293
287
|
Removes all entries from the map.
|
|
294
288
|
|
|
@@ -300,8 +294,6 @@ Removes all entries from the map.
|
|
|
300
294
|
|
|
301
295
|
Time O(1), Space O(1)
|
|
302
296
|
|
|
303
|
-
*
|
|
304
|
-
|
|
305
297
|
#### Example
|
|
306
298
|
|
|
307
299
|
```ts
|
|
@@ -320,12 +312,10 @@ Time O(1), Space O(1)
|
|
|
320
312
|
clone(): TreeMultiMap<K, V, R>;
|
|
321
313
|
```
|
|
322
314
|
|
|
323
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
315
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:781](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L781)
|
|
324
316
|
|
|
325
317
|
Deep copy
|
|
326
318
|
|
|
327
|
-
*
|
|
328
|
-
|
|
329
319
|
#### Returns
|
|
330
320
|
|
|
331
321
|
`TreeMultiMap`\<`K`, `V`, `R`\>
|
|
@@ -349,7 +339,7 @@ Deep copy
|
|
|
349
339
|
count(key): number;
|
|
350
340
|
```
|
|
351
341
|
|
|
352
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
342
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:154](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L154)
|
|
353
343
|
|
|
354
344
|
Bucket length for a key (missing => 0).
|
|
355
345
|
|
|
@@ -367,8 +357,6 @@ Bucket length for a key (missing => 0).
|
|
|
367
357
|
|
|
368
358
|
Time O(log n), Space O(1)
|
|
369
359
|
|
|
370
|
-
*
|
|
371
|
-
|
|
372
360
|
#### Example
|
|
373
361
|
|
|
374
362
|
```ts
|
|
@@ -387,7 +375,7 @@ Time O(log n), Space O(1)
|
|
|
387
375
|
delete(key): boolean;
|
|
388
376
|
```
|
|
389
377
|
|
|
390
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
378
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:256](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L256)
|
|
391
379
|
|
|
392
380
|
Deletes a key and its entire bucket.
|
|
393
381
|
|
|
@@ -405,8 +393,6 @@ Deletes a key and its entire bucket.
|
|
|
405
393
|
|
|
406
394
|
Time O(log n), Space O(1)
|
|
407
395
|
|
|
408
|
-
*
|
|
409
|
-
|
|
410
396
|
#### Example
|
|
411
397
|
|
|
412
398
|
```ts
|
|
@@ -429,7 +415,7 @@ deleteValue(
|
|
|
429
415
|
eq?): boolean;
|
|
430
416
|
```
|
|
431
417
|
|
|
432
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
418
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:288](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L288)
|
|
433
419
|
|
|
434
420
|
Delete a single occurrence of a value from a key's bucket.
|
|
435
421
|
|
|
@@ -455,8 +441,6 @@ Delete a single occurrence of a value from a key's bucket.
|
|
|
455
441
|
|
|
456
442
|
Time O(log n + m), Space O(1) where m is bucket size
|
|
457
443
|
|
|
458
|
-
*
|
|
459
|
-
|
|
460
444
|
#### Example
|
|
461
445
|
|
|
462
446
|
```ts
|
|
@@ -479,7 +463,7 @@ deleteValues(
|
|
|
479
463
|
eq?): number;
|
|
480
464
|
```
|
|
481
465
|
|
|
482
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
466
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:310](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L310)
|
|
483
467
|
|
|
484
468
|
Delete all occurrences of a value from a key's bucket.
|
|
485
469
|
|
|
@@ -505,8 +489,6 @@ Delete all occurrences of a value from a key's bucket.
|
|
|
505
489
|
|
|
506
490
|
Time O(log n + m), Space O(1) where m is bucket size
|
|
507
491
|
|
|
508
|
-
*
|
|
509
|
-
|
|
510
492
|
#### Example
|
|
511
493
|
|
|
512
494
|
```ts
|
|
@@ -521,13 +503,47 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
521
503
|
|
|
522
504
|
***
|
|
523
505
|
|
|
506
|
+
### entries()
|
|
507
|
+
|
|
508
|
+
```ts
|
|
509
|
+
entries(): IterableIterator<[K, V[]]>;
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:379](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L379)
|
|
513
|
+
|
|
514
|
+
Iterate over all `[key, values[]]` entries (Map-compatible).
|
|
515
|
+
|
|
516
|
+
#### Returns
|
|
517
|
+
|
|
518
|
+
`IterableIterator`\<\[`K`, `V`[]\]\>
|
|
519
|
+
|
|
520
|
+
#### Remarks
|
|
521
|
+
|
|
522
|
+
Time O(n), Space O(1) per step.
|
|
523
|
+
|
|
524
|
+
#### Example
|
|
525
|
+
|
|
526
|
+
```ts
|
|
527
|
+
// Iterate over entries
|
|
528
|
+
const mm = new TreeMultiMap<number, string>();
|
|
529
|
+
mm.set(1, 'a');
|
|
530
|
+
mm.set(1, 'b');
|
|
531
|
+
mm.set(2, 'c');
|
|
532
|
+
console.log([...mm.entries()]); // [
|
|
533
|
+
// [1, ['a', 'b']],
|
|
534
|
+
// [2, ['c']]
|
|
535
|
+
// ];
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
***
|
|
539
|
+
|
|
524
540
|
### entriesOf()
|
|
525
541
|
|
|
526
542
|
```ts
|
|
527
543
|
entriesOf(key): IterableIterator<[K, V]>;
|
|
528
544
|
```
|
|
529
545
|
|
|
530
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
546
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:398](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L398)
|
|
531
547
|
|
|
532
548
|
Iterates over all entries for a specific key.
|
|
533
549
|
|
|
@@ -545,8 +561,6 @@ Iterates over all entries for a specific key.
|
|
|
545
561
|
|
|
546
562
|
Time O(log n + m), Space O(1) where m is bucket size
|
|
547
563
|
|
|
548
|
-
*
|
|
549
|
-
|
|
550
564
|
#### Example
|
|
551
565
|
|
|
552
566
|
```ts
|
|
@@ -554,7 +568,10 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
554
568
|
const mm = new TreeMultiMap<number, string>();
|
|
555
569
|
mm.add(1, 'a');
|
|
556
570
|
mm.add(1, 'b');
|
|
557
|
-
console.log([...mm.entriesOf(1)]); // [
|
|
571
|
+
console.log([...mm.entriesOf(1)]); // [
|
|
572
|
+
// [1, 'a'],
|
|
573
|
+
// [1, 'b']
|
|
574
|
+
// ];
|
|
558
575
|
```
|
|
559
576
|
|
|
560
577
|
***
|
|
@@ -565,7 +582,7 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
565
582
|
filter(predicate): TreeMultiMap<K, V, R>;
|
|
566
583
|
```
|
|
567
584
|
|
|
568
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
585
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:633](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L633)
|
|
569
586
|
|
|
570
587
|
Creates a new map with entries that pass the predicate.
|
|
571
588
|
|
|
@@ -583,8 +600,6 @@ Creates a new map with entries that pass the predicate.
|
|
|
583
600
|
|
|
584
601
|
Time O(n), Space O(n)
|
|
585
602
|
|
|
586
|
-
*
|
|
587
|
-
|
|
588
603
|
#### Example
|
|
589
604
|
|
|
590
605
|
```ts
|
|
@@ -605,7 +620,7 @@ Time O(n), Space O(n)
|
|
|
605
620
|
first(): [K, V[]] | undefined;
|
|
606
621
|
```
|
|
607
622
|
|
|
608
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
623
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:453](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L453)
|
|
609
624
|
|
|
610
625
|
Returns the entry with the smallest key.
|
|
611
626
|
|
|
@@ -617,8 +632,6 @@ Returns the entry with the smallest key.
|
|
|
617
632
|
|
|
618
633
|
Time O(log n), Space O(1)
|
|
619
634
|
|
|
620
|
-
*
|
|
621
|
-
|
|
622
635
|
#### Example
|
|
623
636
|
|
|
624
637
|
```ts
|
|
@@ -637,7 +650,7 @@ Time O(log n), Space O(1)
|
|
|
637
650
|
flatEntries(): IterableIterator<[K, V]>;
|
|
638
651
|
```
|
|
639
652
|
|
|
640
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
653
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:435](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L435)
|
|
641
654
|
|
|
642
655
|
Iterates over all [key, value] pairs (flattened from buckets).
|
|
643
656
|
|
|
@@ -649,8 +662,6 @@ Iterates over all [key, value] pairs (flattened from buckets).
|
|
|
649
662
|
|
|
650
663
|
Time O(T), Space O(1) where T is totalSize
|
|
651
664
|
|
|
652
|
-
*
|
|
653
|
-
|
|
654
665
|
#### Example
|
|
655
666
|
|
|
656
667
|
```ts
|
|
@@ -659,7 +670,11 @@ Time O(T), Space O(1) where T is totalSize
|
|
|
659
670
|
mm.add(1, 'a');
|
|
660
671
|
mm.add(1, 'b');
|
|
661
672
|
mm.add(2, 'c');
|
|
662
|
-
console.log([...mm.flatEntries()]); // [
|
|
673
|
+
console.log([...mm.flatEntries()]); // [
|
|
674
|
+
// [1, 'a'],
|
|
675
|
+
// [1, 'b'],
|
|
676
|
+
// [2, 'c']
|
|
677
|
+
// ];
|
|
663
678
|
```
|
|
664
679
|
|
|
665
680
|
***
|
|
@@ -670,7 +685,7 @@ Time O(T), Space O(1) where T is totalSize
|
|
|
670
685
|
floor(key): [K, V[]] | undefined;
|
|
671
686
|
```
|
|
672
687
|
|
|
673
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
688
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:544](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L544)
|
|
674
689
|
|
|
675
690
|
Returns the entry with the largest key <= given key.
|
|
676
691
|
|
|
@@ -688,8 +703,6 @@ Returns the entry with the largest key <= given key.
|
|
|
688
703
|
|
|
689
704
|
Time O(log n), Space O(1)
|
|
690
705
|
|
|
691
|
-
*
|
|
692
|
-
|
|
693
706
|
#### Example
|
|
694
707
|
|
|
695
708
|
```ts
|
|
@@ -709,7 +722,7 @@ Time O(log n), Space O(1)
|
|
|
709
722
|
forEach(callback): void;
|
|
710
723
|
```
|
|
711
724
|
|
|
712
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
725
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:615](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L615)
|
|
713
726
|
|
|
714
727
|
Executes a callback for each entry.
|
|
715
728
|
|
|
@@ -727,8 +740,6 @@ Executes a callback for each entry.
|
|
|
727
740
|
|
|
728
741
|
Time O(n), Space O(1)
|
|
729
742
|
|
|
730
|
-
*
|
|
731
|
-
|
|
732
743
|
#### Example
|
|
733
744
|
|
|
734
745
|
```ts
|
|
@@ -749,7 +760,7 @@ Time O(n), Space O(1)
|
|
|
749
760
|
get(key): V[] | undefined;
|
|
750
761
|
```
|
|
751
762
|
|
|
752
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
763
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:184](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L184)
|
|
753
764
|
|
|
754
765
|
Live bucket reference (do not auto-delete key if bucket becomes empty via mutation).
|
|
755
766
|
|
|
@@ -767,8 +778,6 @@ Live bucket reference (do not auto-delete key if bucket becomes empty via mutati
|
|
|
767
778
|
|
|
768
779
|
Time O(log n), Space O(1)
|
|
769
780
|
|
|
770
|
-
*
|
|
771
|
-
|
|
772
781
|
#### Example
|
|
773
782
|
|
|
774
783
|
```ts
|
|
@@ -787,7 +796,7 @@ Time O(log n), Space O(1)
|
|
|
787
796
|
getByRank(k): [K, V[]] | undefined;
|
|
788
797
|
```
|
|
789
798
|
|
|
790
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
799
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:729](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L729)
|
|
791
800
|
|
|
792
801
|
Creates a shallow clone of this map.
|
|
793
802
|
|
|
@@ -805,8 +814,6 @@ Creates a shallow clone of this map.
|
|
|
805
814
|
|
|
806
815
|
Time O(n log n), Space O(n)
|
|
807
816
|
|
|
808
|
-
*
|
|
809
|
-
|
|
810
817
|
#### Example
|
|
811
818
|
|
|
812
819
|
```ts
|
|
@@ -825,7 +832,7 @@ Time O(n log n), Space O(n)
|
|
|
825
832
|
getRank(key): number;
|
|
826
833
|
```
|
|
827
834
|
|
|
828
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
835
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:748](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L748)
|
|
829
836
|
|
|
830
837
|
Get the rank of a key in sorted order
|
|
831
838
|
|
|
@@ -861,7 +868,7 @@ Get the rank of a key in sorted order
|
|
|
861
868
|
has(key): boolean;
|
|
862
869
|
```
|
|
863
870
|
|
|
864
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
871
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:169](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L169)
|
|
865
872
|
|
|
866
873
|
Whether the map contains the given key.
|
|
867
874
|
|
|
@@ -879,8 +886,6 @@ Whether the map contains the given key.
|
|
|
879
886
|
|
|
880
887
|
Time O(log n), Space O(1)
|
|
881
888
|
|
|
882
|
-
*
|
|
883
|
-
|
|
884
889
|
#### Example
|
|
885
890
|
|
|
886
891
|
```ts
|
|
@@ -902,7 +907,7 @@ hasEntry(
|
|
|
902
907
|
eq?): boolean;
|
|
903
908
|
```
|
|
904
909
|
|
|
905
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
910
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:271](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L271)
|
|
906
911
|
|
|
907
912
|
Check if a specific value exists in a key's bucket.
|
|
908
913
|
|
|
@@ -928,8 +933,6 @@ Check if a specific value exists in a key's bucket.
|
|
|
928
933
|
|
|
929
934
|
Time O(log n + m), Space O(1) where m is bucket size
|
|
930
935
|
|
|
931
|
-
*
|
|
932
|
-
|
|
933
936
|
#### Example
|
|
934
937
|
|
|
935
938
|
```ts
|
|
@@ -948,7 +951,7 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
948
951
|
higher(key): [K, V[]] | undefined;
|
|
949
952
|
```
|
|
950
953
|
|
|
951
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
954
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:562](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L562)
|
|
952
955
|
|
|
953
956
|
Returns the entry with the smallest key > given key.
|
|
954
957
|
|
|
@@ -966,8 +969,6 @@ Returns the entry with the smallest key > given key.
|
|
|
966
969
|
|
|
967
970
|
Time O(log n), Space O(1)
|
|
968
971
|
|
|
969
|
-
*
|
|
970
|
-
|
|
971
972
|
#### Example
|
|
972
973
|
|
|
973
974
|
```ts
|
|
@@ -986,7 +987,7 @@ Time O(log n), Space O(1)
|
|
|
986
987
|
isEmpty(): boolean;
|
|
987
988
|
```
|
|
988
989
|
|
|
989
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
990
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:126](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L126)
|
|
990
991
|
|
|
991
992
|
Whether the map is empty.
|
|
992
993
|
|
|
@@ -998,8 +999,6 @@ Whether the map is empty.
|
|
|
998
999
|
|
|
999
1000
|
Time O(1), Space O(1)
|
|
1000
1001
|
|
|
1001
|
-
*
|
|
1002
|
-
|
|
1003
1002
|
#### Example
|
|
1004
1003
|
|
|
1005
1004
|
```ts
|
|
@@ -1015,7 +1014,7 @@ Time O(1), Space O(1)
|
|
|
1015
1014
|
keys(): IterableIterator<K>;
|
|
1016
1015
|
```
|
|
1017
1016
|
|
|
1018
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1017
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:347](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L347)
|
|
1019
1018
|
|
|
1020
1019
|
Iterates over all keys.
|
|
1021
1020
|
|
|
@@ -1027,8 +1026,6 @@ Iterates over all keys.
|
|
|
1027
1026
|
|
|
1028
1027
|
Time O(n), Space O(1)
|
|
1029
1028
|
|
|
1030
|
-
*
|
|
1031
|
-
|
|
1032
1029
|
#### Example
|
|
1033
1030
|
|
|
1034
1031
|
```ts
|
|
@@ -1047,7 +1044,7 @@ Time O(n), Space O(1)
|
|
|
1047
1044
|
last(): [K, V[]] | undefined;
|
|
1048
1045
|
```
|
|
1049
1046
|
|
|
1050
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1047
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:470](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L470)
|
|
1051
1048
|
|
|
1052
1049
|
Returns the entry with the largest key.
|
|
1053
1050
|
|
|
@@ -1059,8 +1056,6 @@ Returns the entry with the largest key.
|
|
|
1059
1056
|
|
|
1060
1057
|
Time O(log n), Space O(1)
|
|
1061
1058
|
|
|
1062
|
-
*
|
|
1063
|
-
|
|
1064
1059
|
#### Example
|
|
1065
1060
|
|
|
1066
1061
|
```ts
|
|
@@ -1079,7 +1074,7 @@ Time O(log n), Space O(1)
|
|
|
1079
1074
|
lower(key): [K, V[]] | undefined;
|
|
1080
1075
|
```
|
|
1081
1076
|
|
|
1082
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1077
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:580](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L580)
|
|
1083
1078
|
|
|
1084
1079
|
Returns the entry with the largest key < given key.
|
|
1085
1080
|
|
|
@@ -1097,8 +1092,6 @@ Returns the entry with the largest key < given key.
|
|
|
1097
1092
|
|
|
1098
1093
|
Time O(log n), Space O(1)
|
|
1099
1094
|
|
|
1100
|
-
*
|
|
1101
|
-
|
|
1102
1095
|
#### Example
|
|
1103
1096
|
|
|
1104
1097
|
```ts
|
|
@@ -1117,7 +1110,7 @@ Time O(log n), Space O(1)
|
|
|
1117
1110
|
map<V2>(mapper): TreeMultiMap<K, V2, R>;
|
|
1118
1111
|
```
|
|
1119
1112
|
|
|
1120
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1113
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:651](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L651)
|
|
1121
1114
|
|
|
1122
1115
|
Creates a new map by transforming each entry.
|
|
1123
1116
|
|
|
@@ -1141,8 +1134,6 @@ Creates a new map by transforming each entry.
|
|
|
1141
1134
|
|
|
1142
1135
|
Time O(n log n), Space O(n)
|
|
1143
1136
|
|
|
1144
|
-
*
|
|
1145
|
-
|
|
1146
1137
|
#### Example
|
|
1147
1138
|
|
|
1148
1139
|
```ts
|
|
@@ -1161,7 +1152,7 @@ Time O(n log n), Space O(n)
|
|
|
1161
1152
|
pollFirst(): [K, V[]] | undefined;
|
|
1162
1153
|
```
|
|
1163
1154
|
|
|
1164
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1155
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:489](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L489)
|
|
1165
1156
|
|
|
1166
1157
|
Removes and returns the entry with the smallest key.
|
|
1167
1158
|
|
|
@@ -1173,8 +1164,6 @@ Removes and returns the entry with the smallest key.
|
|
|
1173
1164
|
|
|
1174
1165
|
Time O(log n), Space O(1)
|
|
1175
1166
|
|
|
1176
|
-
*
|
|
1177
|
-
|
|
1178
1167
|
#### Example
|
|
1179
1168
|
|
|
1180
1169
|
```ts
|
|
@@ -1195,7 +1184,7 @@ Time O(log n), Space O(1)
|
|
|
1195
1184
|
pollLast(): [K, V[]] | undefined;
|
|
1196
1185
|
```
|
|
1197
1186
|
|
|
1198
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1187
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:507](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L507)
|
|
1199
1188
|
|
|
1200
1189
|
Removes and returns the entry with the largest key.
|
|
1201
1190
|
|
|
@@ -1207,8 +1196,6 @@ Removes and returns the entry with the largest key.
|
|
|
1207
1196
|
|
|
1208
1197
|
Time O(log n), Space O(1)
|
|
1209
1198
|
|
|
1210
|
-
*
|
|
1211
|
-
|
|
1212
1199
|
#### Example
|
|
1213
1200
|
|
|
1214
1201
|
```ts
|
|
@@ -1228,7 +1215,7 @@ Time O(log n), Space O(1)
|
|
|
1228
1215
|
print(): void;
|
|
1229
1216
|
```
|
|
1230
1217
|
|
|
1231
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1218
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:599](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L599)
|
|
1232
1219
|
|
|
1233
1220
|
Prints the internal tree structure (for debugging).
|
|
1234
1221
|
|
|
@@ -1240,8 +1227,6 @@ Prints the internal tree structure (for debugging).
|
|
|
1240
1227
|
|
|
1241
1228
|
Time O(n), Space O(n)
|
|
1242
1229
|
|
|
1243
|
-
*
|
|
1244
|
-
|
|
1245
1230
|
#### Example
|
|
1246
1231
|
|
|
1247
1232
|
```ts
|
|
@@ -1259,12 +1244,10 @@ Time O(n), Space O(n)
|
|
|
1259
1244
|
rangeByRank(start, end): [K, V[]][];
|
|
1260
1245
|
```
|
|
1261
1246
|
|
|
1262
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1247
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:766](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L766)
|
|
1263
1248
|
|
|
1264
1249
|
Get elements by rank range
|
|
1265
1250
|
|
|
1266
|
-
*
|
|
1267
|
-
|
|
1268
1251
|
#### Parameters
|
|
1269
1252
|
|
|
1270
1253
|
##### start
|
|
@@ -1283,10 +1266,7 @@ Get elements by rank range
|
|
|
1283
1266
|
|
|
1284
1267
|
```ts
|
|
1285
1268
|
// Pagination by position in tree order
|
|
1286
|
-
const tree = new TreeMultiMap<number>(
|
|
1287
|
-
[10, 20, 30, 40, 50, 60, 70, 80, 90],
|
|
1288
|
-
{ enableOrderStatistic: true }
|
|
1289
|
-
);
|
|
1269
|
+
const tree = new TreeMultiMap<number>([10, 20, 30, 40, 50, 60, 70, 80, 90], { enableOrderStatistic: true });
|
|
1290
1270
|
const pageSize = 3;
|
|
1291
1271
|
|
|
1292
1272
|
// Page 1
|
|
@@ -1305,7 +1285,7 @@ Get elements by rank range
|
|
|
1305
1285
|
rangeSearch<C>(range, callback?): ReturnType<C>[];
|
|
1306
1286
|
```
|
|
1307
1287
|
|
|
1308
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1288
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:711](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L711)
|
|
1309
1289
|
|
|
1310
1290
|
Searches for entries within a key range.
|
|
1311
1291
|
|
|
@@ -1333,8 +1313,6 @@ Searches for entries within a key range.
|
|
|
1333
1313
|
|
|
1334
1314
|
Time O(log n + k), Space O(k) where k is result size
|
|
1335
1315
|
|
|
1336
|
-
*
|
|
1337
|
-
|
|
1338
1316
|
#### Example
|
|
1339
1317
|
|
|
1340
1318
|
```ts
|
|
@@ -1355,7 +1333,7 @@ Time O(log n + k), Space O(k) where k is result size
|
|
|
1355
1333
|
reduce<U>(callback, initialValue): U;
|
|
1356
1334
|
```
|
|
1357
1335
|
|
|
1358
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1336
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:670](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L670)
|
|
1359
1337
|
|
|
1360
1338
|
Reduces all entries to a single value.
|
|
1361
1339
|
|
|
@@ -1383,8 +1361,6 @@ Reduces all entries to a single value.
|
|
|
1383
1361
|
|
|
1384
1362
|
Time O(n), Space O(1)
|
|
1385
1363
|
|
|
1386
|
-
*
|
|
1387
|
-
|
|
1388
1364
|
#### Example
|
|
1389
1365
|
|
|
1390
1366
|
```ts
|
|
@@ -1406,7 +1382,7 @@ Time O(n), Space O(1)
|
|
|
1406
1382
|
set(entry, value?): boolean;
|
|
1407
1383
|
```
|
|
1408
1384
|
|
|
1409
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1385
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:220](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L220)
|
|
1410
1386
|
|
|
1411
1387
|
Alias for compatibility with existing TreeMultiMap semantics.
|
|
1412
1388
|
|
|
@@ -1431,8 +1407,6 @@ Alias for compatibility with existing TreeMultiMap semantics.
|
|
|
1431
1407
|
|
|
1432
1408
|
Time O(log n), Space O(1) for single value; O(log n + m) for bucket append
|
|
1433
1409
|
|
|
1434
|
-
*
|
|
1435
|
-
|
|
1436
1410
|
##### Example
|
|
1437
1411
|
|
|
1438
1412
|
```ts
|
|
@@ -1449,7 +1423,7 @@ Time O(log n), Space O(1) for single value; O(log n + m) for bucket append
|
|
|
1449
1423
|
set(key, value): boolean;
|
|
1450
1424
|
```
|
|
1451
1425
|
|
|
1452
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1426
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:221](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L221)
|
|
1453
1427
|
|
|
1454
1428
|
Alias for compatibility with existing TreeMultiMap semantics.
|
|
1455
1429
|
|
|
@@ -1471,8 +1445,6 @@ Alias for compatibility with existing TreeMultiMap semantics.
|
|
|
1471
1445
|
|
|
1472
1446
|
Time O(log n), Space O(1) for single value; O(log n + m) for bucket append
|
|
1473
1447
|
|
|
1474
|
-
*
|
|
1475
|
-
|
|
1476
1448
|
##### Example
|
|
1477
1449
|
|
|
1478
1450
|
```ts
|
|
@@ -1491,7 +1463,7 @@ Time O(log n), Space O(1) for single value; O(log n + m) for bucket append
|
|
|
1491
1463
|
setMany(keysNodesEntriesOrRaws): boolean[];
|
|
1492
1464
|
```
|
|
1493
1465
|
|
|
1494
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1466
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:690](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L690)
|
|
1495
1467
|
|
|
1496
1468
|
Sets multiple entries at once.
|
|
1497
1469
|
|
|
@@ -1509,14 +1481,15 @@ Sets multiple entries at once.
|
|
|
1509
1481
|
|
|
1510
1482
|
Time O(m log n), Space O(m) where m is input size
|
|
1511
1483
|
|
|
1512
|
-
*
|
|
1513
|
-
|
|
1514
1484
|
#### Example
|
|
1515
1485
|
|
|
1516
1486
|
```ts
|
|
1517
1487
|
// Set multiple entries
|
|
1518
1488
|
const mm = new TreeMultiMap<number, string>();
|
|
1519
|
-
mm.setMany([
|
|
1489
|
+
mm.setMany([
|
|
1490
|
+
[1, ['a']],
|
|
1491
|
+
[2, ['b']]
|
|
1492
|
+
]);
|
|
1520
1493
|
console.log(mm.size); // 2;
|
|
1521
1494
|
```
|
|
1522
1495
|
|
|
@@ -1528,7 +1501,7 @@ Time O(m log n), Space O(m) where m is input size
|
|
|
1528
1501
|
values(): IterableIterator<V[]>;
|
|
1529
1502
|
```
|
|
1530
1503
|
|
|
1531
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1504
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:361](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L361)
|
|
1532
1505
|
|
|
1533
1506
|
Iterates over all buckets.
|
|
1534
1507
|
|
|
@@ -1540,8 +1513,6 @@ Iterates over all buckets.
|
|
|
1540
1513
|
|
|
1541
1514
|
Time O(n), Space O(1)
|
|
1542
1515
|
|
|
1543
|
-
*
|
|
1544
|
-
|
|
1545
1516
|
#### Example
|
|
1546
1517
|
|
|
1547
1518
|
```ts
|
|
@@ -1560,7 +1531,7 @@ Time O(n), Space O(1)
|
|
|
1560
1531
|
valuesOf(key): IterableIterator<V>;
|
|
1561
1532
|
```
|
|
1562
1533
|
|
|
1563
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1534
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:414](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L414)
|
|
1564
1535
|
|
|
1565
1536
|
Iterates over all values for a specific key.
|
|
1566
1537
|
|
|
@@ -1578,8 +1549,6 @@ Iterates over all values for a specific key.
|
|
|
1578
1549
|
|
|
1579
1550
|
Time O(log n + m), Space O(1) where m is bucket size
|
|
1580
1551
|
|
|
1581
|
-
*
|
|
1582
|
-
|
|
1583
1552
|
#### Example
|
|
1584
1553
|
|
|
1585
1554
|
```ts
|