data-structure-typed 2.5.3 → 2.6.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.
- package/.github/workflows/ci.yml +7 -2
- package/.github/workflows/release-package.yml +9 -2
- package/.husky/pre-commit +3 -0
- package/CHANGELOG.md +1 -1
- package/MIGRATION.md +48 -0
- package/README.md +20 -2
- package/README_CN.md +20 -2
- package/SPECIFICATION.md +24 -0
- package/SPECIFICATION.zh-CN.md +24 -0
- package/dist/cjs/binary-tree.cjs +1897 -19
- package/dist/cjs/graph.cjs +174 -0
- package/dist/cjs/hash.cjs +33 -0
- package/dist/cjs/heap.cjs +71 -0
- package/dist/cjs/index.cjs +2383 -3
- package/dist/cjs/linked-list.cjs +224 -2
- package/dist/cjs/matrix.cjs +24 -0
- package/dist/cjs/priority-queue.cjs +71 -0
- package/dist/cjs/queue.cjs +221 -1
- package/dist/cjs/stack.cjs +59 -0
- package/dist/cjs/trie.cjs +62 -0
- package/dist/cjs-legacy/binary-tree.cjs +1897 -19
- package/dist/cjs-legacy/graph.cjs +174 -0
- package/dist/cjs-legacy/hash.cjs +33 -0
- package/dist/cjs-legacy/heap.cjs +71 -0
- package/dist/cjs-legacy/index.cjs +2383 -3
- package/dist/cjs-legacy/linked-list.cjs +224 -2
- package/dist/cjs-legacy/matrix.cjs +24 -0
- package/dist/cjs-legacy/priority-queue.cjs +71 -0
- package/dist/cjs-legacy/queue.cjs +221 -1
- package/dist/cjs-legacy/stack.cjs +59 -0
- package/dist/cjs-legacy/trie.cjs +62 -0
- package/dist/esm/binary-tree.mjs +1897 -19
- package/dist/esm/graph.mjs +174 -0
- package/dist/esm/hash.mjs +33 -0
- package/dist/esm/heap.mjs +71 -0
- package/dist/esm/index.mjs +2383 -3
- package/dist/esm/linked-list.mjs +224 -2
- package/dist/esm/matrix.mjs +24 -0
- package/dist/esm/priority-queue.mjs +71 -0
- package/dist/esm/queue.mjs +221 -1
- package/dist/esm/stack.mjs +59 -0
- package/dist/esm/trie.mjs +62 -0
- package/dist/esm-legacy/binary-tree.mjs +1897 -19
- package/dist/esm-legacy/graph.mjs +174 -0
- package/dist/esm-legacy/hash.mjs +33 -0
- package/dist/esm-legacy/heap.mjs +71 -0
- package/dist/esm-legacy/index.mjs +2383 -3
- package/dist/esm-legacy/linked-list.mjs +224 -2
- package/dist/esm-legacy/matrix.mjs +24 -0
- package/dist/esm-legacy/priority-queue.mjs +71 -0
- package/dist/esm-legacy/queue.mjs +221 -1
- package/dist/esm-legacy/stack.mjs +59 -0
- package/dist/esm-legacy/trie.mjs +62 -0
- package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
- package/dist/types/data-structures/base/linear-base.d.ts +6 -0
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +36 -0
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +42 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +75 -0
- package/dist/types/data-structures/binary-tree/bst.d.ts +72 -0
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +57 -0
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +18 -0
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +375 -0
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +389 -0
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +330 -0
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +438 -0
- package/dist/types/data-structures/graph/directed-graph.d.ts +30 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +27 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +33 -0
- package/dist/types/data-structures/heap/heap.d.ts +42 -0
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -2
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +45 -0
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +54 -0
- package/dist/types/data-structures/matrix/matrix.d.ts +24 -0
- package/dist/types/data-structures/queue/deque.d.ts +90 -1
- package/dist/types/data-structures/queue/queue.d.ts +36 -0
- package/dist/types/data-structures/stack/stack.d.ts +30 -0
- package/dist/types/data-structures/trie/trie.d.ts +36 -0
- package/dist/umd/data-structure-typed.js +2383 -3
- package/dist/umd/data-structure-typed.min.js +3 -3
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +108 -108
- package/docs-site-docusaurus/docs/api/classes/BST.md +101 -101
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +66 -66
- package/docs-site-docusaurus/docs/api/classes/Deque.md +235 -51
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +21 -21
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +231 -67
- 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 +14 -14
- package/docs-site-docusaurus/docs/api/classes/Heap.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +83 -13
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +124 -20
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +140 -32
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +30 -26
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +159 -51
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +20 -20
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/Queue.md +142 -34
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +117 -117
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +158 -50
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +21 -21
- package/docs-site-docusaurus/docs/api/classes/Stack.md +108 -26
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +33 -33
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +75 -39
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +301 -39
- package/docs-site-docusaurus/docs/api/classes/Trie.md +110 -28
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +20 -20
- package/jest.integration.config.js +1 -2
- package/package.json +51 -50
- package/src/common/error.ts +15 -32
- package/src/common/index.ts +0 -3
- package/src/data-structures/base/iterable-element-base.ts +32 -3
- package/src/data-structures/base/linear-base.ts +13 -36
- package/src/data-structures/binary-tree/avl-tree.ts +31 -493
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -530
- package/src/data-structures/binary-tree/binary-tree.ts +326 -1236
- package/src/data-structures/binary-tree/bst.ts +158 -1010
- package/src/data-structures/binary-tree/red-black-tree.ts +451 -1233
- package/src/data-structures/binary-tree/segment-tree.ts +73 -333
- package/src/data-structures/binary-tree/tree-map.ts +462 -4749
- package/src/data-structures/binary-tree/tree-multi-map.ts +310 -4530
- package/src/data-structures/binary-tree/tree-multi-set.ts +300 -3652
- package/src/data-structures/binary-tree/tree-set.ts +437 -4443
- package/src/data-structures/graph/abstract-graph.ts +98 -167
- package/src/data-structures/graph/directed-graph.ts +137 -532
- package/src/data-structures/graph/map-graph.ts +0 -3
- package/src/data-structures/graph/undirected-graph.ts +132 -484
- package/src/data-structures/hash/hash-map.ts +154 -549
- package/src/data-structures/heap/heap.ts +200 -753
- package/src/data-structures/linked-list/doubly-linked-list.ts +153 -809
- package/src/data-structures/linked-list/singly-linked-list.ts +122 -749
- package/src/data-structures/linked-list/skip-linked-list.ts +211 -864
- package/src/data-structures/matrix/matrix.ts +179 -494
- 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 +241 -807
- package/src/data-structures/queue/queue.ts +102 -589
- package/src/data-structures/stack/stack.ts +76 -475
- package/src/data-structures/trie/trie.ts +98 -592
- 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
|
@@ -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:5413](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L5413)
|
|
107
107
|
|
|
108
108
|
Expose comparator for advanced usage/testing (read-only).
|
|
109
109
|
|
|
@@ -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:616](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L616)
|
|
151
151
|
|
|
152
152
|
Total number of values across all buckets (Σ bucket.length).
|
|
153
153
|
|
|
@@ -180,7 +180,7 @@ Time O(n), Space O(1)
|
|
|
180
180
|
iterator: Iterator<[K, V[]]>;
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
183
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2029](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2029)
|
|
184
184
|
|
|
185
185
|
Iterates over all entries as [key, bucket] pairs.
|
|
186
186
|
|
|
@@ -206,7 +206,7 @@ Iterable.[iterator]
|
|
|
206
206
|
add(key, value): boolean;
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
209
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1326](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1326)
|
|
210
210
|
|
|
211
211
|
Append a single value.
|
|
212
212
|
|
|
@@ -249,7 +249,7 @@ Time O(log n), Space O(1)
|
|
|
249
249
|
ceiling(key): [K, V[]] | undefined;
|
|
250
250
|
```
|
|
251
251
|
|
|
252
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
252
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:3126](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L3126)
|
|
253
253
|
|
|
254
254
|
Returns the entry with the smallest key >= given key.
|
|
255
255
|
|
|
@@ -288,7 +288,7 @@ Time O(log n), Space O(1)
|
|
|
288
288
|
clear(): void;
|
|
289
289
|
```
|
|
290
290
|
|
|
291
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
291
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:520](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L520)
|
|
292
292
|
|
|
293
293
|
Removes all entries from the map.
|
|
294
294
|
|
|
@@ -320,7 +320,7 @@ Time O(1), Space O(1)
|
|
|
320
320
|
clone(): TreeMultiMap<K, V, R>;
|
|
321
321
|
```
|
|
322
322
|
|
|
323
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
323
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:5405](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L5405)
|
|
324
324
|
|
|
325
325
|
Deep copy
|
|
326
326
|
|
|
@@ -349,7 +349,7 @@ Deep copy
|
|
|
349
349
|
count(key): number;
|
|
350
350
|
```
|
|
351
351
|
|
|
352
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
352
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:567](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L567)
|
|
353
353
|
|
|
354
354
|
Bucket length for a key (missing => 0).
|
|
355
355
|
|
|
@@ -387,7 +387,7 @@ Time O(log n), Space O(1)
|
|
|
387
387
|
delete(key): boolean;
|
|
388
388
|
```
|
|
389
389
|
|
|
390
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
390
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1856](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1856)
|
|
391
391
|
|
|
392
392
|
Deletes a key and its entire bucket.
|
|
393
393
|
|
|
@@ -429,7 +429,7 @@ deleteValue(
|
|
|
429
429
|
eq?): boolean;
|
|
430
430
|
```
|
|
431
431
|
|
|
432
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
432
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1954](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1954)
|
|
433
433
|
|
|
434
434
|
Delete a single occurrence of a value from a key's bucket.
|
|
435
435
|
|
|
@@ -479,7 +479,7 @@ deleteValues(
|
|
|
479
479
|
eq?): number;
|
|
480
480
|
```
|
|
481
481
|
|
|
482
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
482
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2009](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2009)
|
|
483
483
|
|
|
484
484
|
Delete all occurrences of a value from a key's bucket.
|
|
485
485
|
|
|
@@ -521,13 +521,49 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
521
521
|
|
|
522
522
|
***
|
|
523
523
|
|
|
524
|
+
### entries()
|
|
525
|
+
|
|
526
|
+
```ts
|
|
527
|
+
entries(): IterableIterator<[K, V[]]>;
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2472](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2472)
|
|
531
|
+
|
|
532
|
+
Iterate over all `[key, values[]]` entries (Map-compatible).
|
|
533
|
+
|
|
534
|
+
#### Returns
|
|
535
|
+
|
|
536
|
+
`IterableIterator`\<\[`K`, `V`[]\]\>
|
|
537
|
+
|
|
538
|
+
#### Remarks
|
|
539
|
+
|
|
540
|
+
Time O(n), Space O(1) per step.
|
|
541
|
+
|
|
542
|
+
*
|
|
543
|
+
|
|
544
|
+
#### Example
|
|
545
|
+
|
|
546
|
+
```ts
|
|
547
|
+
// Iterate over entries
|
|
548
|
+
const mm = new TreeMultiMap<number, string>();
|
|
549
|
+
mm.set(1, 'a');
|
|
550
|
+
mm.set(1, 'b');
|
|
551
|
+
mm.set(2, 'c');
|
|
552
|
+
console.log([...mm.entries()]); // [
|
|
553
|
+
// [1, ['a', 'b']],
|
|
554
|
+
// [2, ['c']]
|
|
555
|
+
// ];
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
***
|
|
559
|
+
|
|
524
560
|
### entriesOf()
|
|
525
561
|
|
|
526
562
|
```ts
|
|
527
563
|
entriesOf(key): IterableIterator<[K, V]>;
|
|
528
564
|
```
|
|
529
565
|
|
|
530
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
566
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2521](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2521)
|
|
531
567
|
|
|
532
568
|
Iterates over all entries for a specific key.
|
|
533
569
|
|
|
@@ -565,7 +601,7 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
565
601
|
filter(predicate): TreeMultiMap<K, V, R>;
|
|
566
602
|
```
|
|
567
603
|
|
|
568
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
604
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:4317](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L4317)
|
|
569
605
|
|
|
570
606
|
Creates a new map with entries that pass the predicate.
|
|
571
607
|
|
|
@@ -605,7 +641,7 @@ Time O(n), Space O(n)
|
|
|
605
641
|
first(): [K, V[]] | undefined;
|
|
606
642
|
```
|
|
607
643
|
|
|
608
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
644
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2714](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2714)
|
|
609
645
|
|
|
610
646
|
Returns the entry with the smallest key.
|
|
611
647
|
|
|
@@ -637,7 +673,7 @@ Time O(log n), Space O(1)
|
|
|
637
673
|
flatEntries(): IterableIterator<[K, V]>;
|
|
638
674
|
```
|
|
639
675
|
|
|
640
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
676
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2620](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2620)
|
|
641
677
|
|
|
642
678
|
Iterates over all [key, value] pairs (flattened from buckets).
|
|
643
679
|
|
|
@@ -670,7 +706,7 @@ Time O(T), Space O(1) where T is totalSize
|
|
|
670
706
|
floor(key): [K, V[]] | undefined;
|
|
671
707
|
```
|
|
672
708
|
|
|
673
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
709
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:3341](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L3341)
|
|
674
710
|
|
|
675
711
|
Returns the entry with the largest key <= given key.
|
|
676
712
|
|
|
@@ -709,7 +745,7 @@ Time O(log n), Space O(1)
|
|
|
709
745
|
forEach(callback): void;
|
|
710
746
|
```
|
|
711
747
|
|
|
712
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
748
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:4106](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L4106)
|
|
713
749
|
|
|
714
750
|
Executes a callback for each entry.
|
|
715
751
|
|
|
@@ -749,7 +785,7 @@ Time O(n), Space O(1)
|
|
|
749
785
|
get(key): V[] | undefined;
|
|
750
786
|
```
|
|
751
787
|
|
|
752
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
788
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1123](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1123)
|
|
753
789
|
|
|
754
790
|
Live bucket reference (do not auto-delete key if bucket becomes empty via mutation).
|
|
755
791
|
|
|
@@ -787,7 +823,7 @@ Time O(log n), Space O(1)
|
|
|
787
823
|
getByRank(k): [K, V[]] | undefined;
|
|
788
824
|
```
|
|
789
825
|
|
|
790
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
826
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:5294](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L5294)
|
|
791
827
|
|
|
792
828
|
Creates a shallow clone of this map.
|
|
793
829
|
|
|
@@ -825,7 +861,7 @@ Time O(n log n), Space O(n)
|
|
|
825
861
|
getRank(key): number;
|
|
826
862
|
```
|
|
827
863
|
|
|
828
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
864
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:5313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L5313)
|
|
829
865
|
|
|
830
866
|
Get the rank of a key in sorted order
|
|
831
867
|
|
|
@@ -861,7 +897,7 @@ Get the rank of a key in sorted order
|
|
|
861
897
|
has(key): boolean;
|
|
862
898
|
```
|
|
863
899
|
|
|
864
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
900
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:870](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L870)
|
|
865
901
|
|
|
866
902
|
Whether the map contains the given key.
|
|
867
903
|
|
|
@@ -902,7 +938,7 @@ hasEntry(
|
|
|
902
938
|
eq?): boolean;
|
|
903
939
|
```
|
|
904
940
|
|
|
905
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
941
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1904](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1904)
|
|
906
942
|
|
|
907
943
|
Check if a specific value exists in a key's bucket.
|
|
908
944
|
|
|
@@ -948,7 +984,7 @@ Time O(log n + m), Space O(1) where m is bucket size
|
|
|
948
984
|
higher(key): [K, V[]] | undefined;
|
|
949
985
|
```
|
|
950
986
|
|
|
951
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
987
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:3513](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L3513)
|
|
952
988
|
|
|
953
989
|
Returns the entry with the smallest key > given key.
|
|
954
990
|
|
|
@@ -986,7 +1022,7 @@ Time O(log n), Space O(1)
|
|
|
986
1022
|
isEmpty(): boolean;
|
|
987
1023
|
```
|
|
988
1024
|
|
|
989
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1025
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L313)
|
|
990
1026
|
|
|
991
1027
|
Whether the map is empty.
|
|
992
1028
|
|
|
@@ -1015,7 +1051,7 @@ Time O(1), Space O(1)
|
|
|
1015
1051
|
keys(): IterableIterator<K>;
|
|
1016
1052
|
```
|
|
1017
1053
|
|
|
1018
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1054
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2239](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2239)
|
|
1019
1055
|
|
|
1020
1056
|
Iterates over all keys.
|
|
1021
1057
|
|
|
@@ -1047,7 +1083,7 @@ Time O(n), Space O(1)
|
|
|
1047
1083
|
last(): [K, V[]] | undefined;
|
|
1048
1084
|
```
|
|
1049
1085
|
|
|
1050
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1086
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2807](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2807)
|
|
1051
1087
|
|
|
1052
1088
|
Returns the entry with the largest key.
|
|
1053
1089
|
|
|
@@ -1079,7 +1115,7 @@ Time O(log n), Space O(1)
|
|
|
1079
1115
|
lower(key): [K, V[]] | undefined;
|
|
1080
1116
|
```
|
|
1081
1117
|
|
|
1082
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1118
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:3685](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L3685)
|
|
1083
1119
|
|
|
1084
1120
|
Returns the entry with the largest key < given key.
|
|
1085
1121
|
|
|
@@ -1117,7 +1153,7 @@ Time O(log n), Space O(1)
|
|
|
1117
1153
|
map<V2>(mapper): TreeMultiMap<K, V2, R>;
|
|
1118
1154
|
```
|
|
1119
1155
|
|
|
1120
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1156
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:4528](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L4528)
|
|
1121
1157
|
|
|
1122
1158
|
Creates a new map by transforming each entry.
|
|
1123
1159
|
|
|
@@ -1161,7 +1197,7 @@ Time O(n log n), Space O(n)
|
|
|
1161
1197
|
pollFirst(): [K, V[]] | undefined;
|
|
1162
1198
|
```
|
|
1163
1199
|
|
|
1164
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1200
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2860](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2860)
|
|
1165
1201
|
|
|
1166
1202
|
Removes and returns the entry with the smallest key.
|
|
1167
1203
|
|
|
@@ -1195,7 +1231,7 @@ Time O(log n), Space O(1)
|
|
|
1195
1231
|
pollLast(): [K, V[]] | undefined;
|
|
1196
1232
|
```
|
|
1197
1233
|
|
|
1198
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1234
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2912](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2912)
|
|
1199
1235
|
|
|
1200
1236
|
Removes and returns the entry with the largest key.
|
|
1201
1237
|
|
|
@@ -1228,7 +1264,7 @@ Time O(log n), Space O(1)
|
|
|
1228
1264
|
print(): void;
|
|
1229
1265
|
```
|
|
1230
1266
|
|
|
1231
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1267
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:3897](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L3897)
|
|
1232
1268
|
|
|
1233
1269
|
Prints the internal tree structure (for debugging).
|
|
1234
1270
|
|
|
@@ -1259,7 +1295,7 @@ Time O(n), Space O(n)
|
|
|
1259
1295
|
rangeByRank(start, end): [K, V[]][];
|
|
1260
1296
|
```
|
|
1261
1297
|
|
|
1262
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1298
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:5349](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L5349)
|
|
1263
1299
|
|
|
1264
1300
|
Get elements by rank range
|
|
1265
1301
|
|
|
@@ -1305,7 +1341,7 @@ Get elements by rank range
|
|
|
1305
1341
|
rangeSearch<C>(range, callback?): ReturnType<C>[];
|
|
1306
1342
|
```
|
|
1307
1343
|
|
|
1308
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1344
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:5119](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L5119)
|
|
1309
1345
|
|
|
1310
1346
|
Searches for entries within a key range.
|
|
1311
1347
|
|
|
@@ -1355,7 +1391,7 @@ Time O(log n + k), Space O(k) where k is result size
|
|
|
1355
1391
|
reduce<U>(callback, initialValue): U;
|
|
1356
1392
|
```
|
|
1357
1393
|
|
|
1358
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1394
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:4742](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L4742)
|
|
1359
1395
|
|
|
1360
1396
|
Reduces all entries to a single value.
|
|
1361
1397
|
|
|
@@ -1406,7 +1442,7 @@ Time O(n), Space O(1)
|
|
|
1406
1442
|
set(entry, value?): boolean;
|
|
1407
1443
|
```
|
|
1408
1444
|
|
|
1409
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1445
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1582](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1582)
|
|
1410
1446
|
|
|
1411
1447
|
Alias for compatibility with existing TreeMultiMap semantics.
|
|
1412
1448
|
|
|
@@ -1449,7 +1485,7 @@ Time O(log n), Space O(1) for single value; O(log n + m) for bucket append
|
|
|
1449
1485
|
set(key, value): boolean;
|
|
1450
1486
|
```
|
|
1451
1487
|
|
|
1452
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1488
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:1583](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L1583)
|
|
1453
1489
|
|
|
1454
1490
|
Alias for compatibility with existing TreeMultiMap semantics.
|
|
1455
1491
|
|
|
@@ -1491,7 +1527,7 @@ Time O(log n), Space O(1) for single value; O(log n + m) for bucket append
|
|
|
1491
1527
|
setMany(keysNodesEntriesOrRaws): boolean[];
|
|
1492
1528
|
```
|
|
1493
1529
|
|
|
1494
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1530
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:4944](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L4944)
|
|
1495
1531
|
|
|
1496
1532
|
Sets multiple entries at once.
|
|
1497
1533
|
|
|
@@ -1528,7 +1564,7 @@ Time O(m log n), Space O(m) where m is input size
|
|
|
1528
1564
|
values(): IterableIterator<V[]>;
|
|
1529
1565
|
```
|
|
1530
1566
|
|
|
1531
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1567
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2446](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2446)
|
|
1532
1568
|
|
|
1533
1569
|
Iterates over all buckets.
|
|
1534
1570
|
|
|
@@ -1560,7 +1596,7 @@ Time O(n), Space O(1)
|
|
|
1560
1596
|
valuesOf(key): IterableIterator<V>;
|
|
1561
1597
|
```
|
|
1562
1598
|
|
|
1563
|
-
Defined in: [data-structures/binary-tree/tree-multi-map.ts:
|
|
1599
|
+
Defined in: [data-structures/binary-tree/tree-multi-map.ts:2570](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-multi-map.ts#L2570)
|
|
1564
1600
|
|
|
1565
1601
|
Iterates over all values for a specific key.
|
|
1566
1602
|
|