data-structure-typed 2.5.2 → 2.6.0
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/.husky/pre-commit +3 -0
- package/CHANGELOG.md +3 -1
- package/MIGRATION.md +217 -0
- package/README.md +80 -8
- package/README_CN.md +569 -143
- package/SPECIFICATION.md +44 -14
- package/SPECIFICATION.zh-CN.md +44 -14
- package/dist/cjs/binary-tree.cjs +5841 -1678
- package/dist/cjs/graph.cjs +422 -14
- package/dist/cjs/hash.cjs +95 -7
- package/dist/cjs/heap.cjs +174 -16
- package/dist/cjs/index.cjs +7751 -2449
- package/dist/cjs/linked-list.cjs +443 -2
- package/dist/cjs/matrix.cjs +56 -0
- package/dist/cjs/priority-queue.cjs +172 -14
- package/dist/cjs/queue.cjs +435 -0
- package/dist/cjs/stack.cjs +103 -4
- package/dist/cjs/trie.cjs +106 -0
- package/dist/cjs-legacy/binary-tree.cjs +5933 -1772
- package/dist/cjs-legacy/graph.cjs +422 -14
- package/dist/cjs-legacy/hash.cjs +95 -7
- package/dist/cjs-legacy/heap.cjs +174 -16
- package/dist/cjs-legacy/index.cjs +8154 -2854
- package/dist/cjs-legacy/linked-list.cjs +443 -2
- package/dist/cjs-legacy/matrix.cjs +56 -0
- package/dist/cjs-legacy/priority-queue.cjs +172 -14
- package/dist/cjs-legacy/queue.cjs +435 -0
- package/dist/cjs-legacy/stack.cjs +103 -4
- package/dist/cjs-legacy/trie.cjs +106 -0
- package/dist/esm/binary-tree.mjs +5841 -1678
- package/dist/esm/graph.mjs +422 -14
- package/dist/esm/hash.mjs +95 -7
- package/dist/esm/heap.mjs +174 -16
- package/dist/esm/index.mjs +7751 -2449
- package/dist/esm/linked-list.mjs +443 -2
- package/dist/esm/matrix.mjs +56 -0
- package/dist/esm/priority-queue.mjs +172 -14
- package/dist/esm/queue.mjs +435 -0
- package/dist/esm/stack.mjs +103 -4
- package/dist/esm/trie.mjs +106 -0
- package/dist/esm-legacy/binary-tree.mjs +5933 -1772
- package/dist/esm-legacy/graph.mjs +422 -14
- package/dist/esm-legacy/hash.mjs +95 -7
- package/dist/esm-legacy/heap.mjs +174 -16
- package/dist/esm-legacy/index.mjs +8154 -2854
- package/dist/esm-legacy/linked-list.mjs +443 -2
- package/dist/esm-legacy/matrix.mjs +56 -0
- package/dist/esm-legacy/priority-queue.mjs +172 -14
- package/dist/esm-legacy/queue.mjs +435 -0
- package/dist/esm-legacy/stack.mjs +103 -4
- package/dist/esm-legacy/trie.mjs +106 -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 +86 -2
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +98 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +191 -15
- package/dist/types/data-structures/binary-tree/bst.d.ts +171 -3
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +136 -8
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +42 -0
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +1061 -167
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1232 -355
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +916 -194
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +1078 -141
- package/dist/types/data-structures/graph/directed-graph.d.ts +70 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +63 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +84 -6
- package/dist/types/data-structures/heap/heap.d.ts +140 -12
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +150 -2
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +106 -1
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +126 -0
- package/dist/types/data-structures/matrix/matrix.d.ts +56 -0
- package/dist/types/data-structures/queue/deque.d.ts +171 -0
- package/dist/types/data-structures/queue/queue.d.ts +97 -0
- package/dist/types/data-structures/stack/stack.d.ts +72 -2
- package/dist/types/data-structures/trie/trie.d.ts +84 -0
- package/dist/types/interfaces/binary-tree.d.ts +2 -3
- package/dist/umd/data-structure-typed.js +7784 -2484
- package/dist/umd/data-structure-typed.min.js +4 -4
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +188 -200
- package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
- package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +62 -62
- package/docs-site-docusaurus/docs/api/classes/BST.md +183 -195
- package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +143 -155
- package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/Deque.md +99 -85
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +73 -73
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +100 -70
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +38 -38
- package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
- package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +48 -48
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +52 -52
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +46 -42
- package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +74 -74
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +73 -73
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
- package/docs-site-docusaurus/docs/api/classes/Queue.md +111 -59
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +200 -212
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +75 -75
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +37 -37
- package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +107 -36
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +43 -43
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +106 -35
- package/docs-site-docusaurus/docs/api/classes/Trie.md +43 -43
- package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +72 -72
- package/docs-site-docusaurus/docs/guide/architecture.md +75 -7
- package/docs-site-docusaurus/docs/guide/concepts.md +53 -34
- package/docs-site-docusaurus/docs/guide/faq.md +53 -0
- package/docs-site-docusaurus/docs/guide/guides.md +8 -9
- package/docs-site-docusaurus/docs/guide/integrations.md +74 -177
- package/docs-site-docusaurus/docs/guide/overview.md +131 -17
- package/docs-site-docusaurus/src/pages/index.tsx +4 -0
- package/docs-site-docusaurus/typedoc.json +1 -0
- package/jest.integration.config.js +1 -2
- package/package.json +10 -7
- package/src/data-structures/base/iterable-element-base.ts +32 -0
- package/src/data-structures/base/linear-base.ts +11 -0
- package/src/data-structures/binary-tree/avl-tree.ts +88 -5
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +98 -0
- package/src/data-structures/binary-tree/binary-tree.ts +242 -81
- package/src/data-structures/binary-tree/bst.ts +173 -7
- package/src/data-structures/binary-tree/red-black-tree.ts +139 -15
- package/src/data-structures/binary-tree/segment-tree.ts +42 -0
- package/src/data-structures/binary-tree/tree-map.ts +948 -36
- package/src/data-structures/binary-tree/tree-multi-map.ts +893 -13
- package/src/data-structures/binary-tree/tree-multi-set.ts +761 -33
- package/src/data-structures/binary-tree/tree-set.ts +1260 -251
- package/src/data-structures/graph/directed-graph.ts +71 -1
- package/src/data-structures/graph/undirected-graph.ts +64 -1
- package/src/data-structures/hash/hash-map.ts +100 -12
- package/src/data-structures/heap/heap.ts +149 -19
- package/src/data-structures/linked-list/doubly-linked-list.ts +178 -2
- package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
- package/src/data-structures/linked-list/skip-linked-list.ts +126 -0
- package/src/data-structures/matrix/matrix.ts +56 -0
- package/src/data-structures/queue/deque.ts +187 -0
- package/src/data-structures/queue/queue.ts +109 -0
- package/src/data-structures/stack/stack.ts +75 -5
- package/src/data-structures/trie/trie.ts +84 -0
- package/src/interfaces/binary-tree.ts +1 -9
- package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
- package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
- package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +0 -347
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: TreeMap\<K, V, R\>
|
|
8
8
|
|
|
9
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:26](https://github.com/zrwusa/data-structure-typed/blob/
|
|
9
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:26](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L26)
|
|
10
10
|
|
|
11
11
|
An ordered Map backed by a red-black tree.
|
|
12
12
|
|
|
@@ -48,7 +48,7 @@ An ordered Map backed by a red-black tree.
|
|
|
48
48
|
new TreeMap<K, V, R>(entries?, options?): TreeMap<K, V, R>;
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:46](https://github.com/zrwusa/data-structure-typed/blob/
|
|
51
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:46](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L46)
|
|
52
52
|
|
|
53
53
|
Create a TreeMap from an iterable of `[key, value]` entries or raw elements.
|
|
54
54
|
|
|
@@ -97,7 +97,7 @@ const map = new TreeMap<number, User, User>(users, { toEntryFn: u => [u.id, u] }
|
|
|
97
97
|
get size(): number;
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:134](https://github.com/zrwusa/data-structure-typed/blob/
|
|
100
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:134](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L134)
|
|
101
101
|
|
|
102
102
|
Number of entries in the map.
|
|
103
103
|
|
|
@@ -113,7 +113,7 @@ Number of entries in the map.
|
|
|
113
113
|
ceiling(key): [K, V | undefined] | undefined;
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
116
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4192](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4192)
|
|
117
117
|
|
|
118
118
|
Smallest entry whose key is >= the given key.
|
|
119
119
|
|
|
@@ -172,7 +172,7 @@ Smallest entry whose key is >= the given key.
|
|
|
172
172
|
clear(): void;
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
175
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:1411](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1411)
|
|
176
176
|
|
|
177
177
|
Remove all entries.
|
|
178
178
|
|
|
@@ -199,7 +199,7 @@ Remove all entries.
|
|
|
199
199
|
clone(): TreeMap<K, V>;
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
202
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:5189](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5189)
|
|
203
203
|
|
|
204
204
|
Creates a shallow clone of this map.
|
|
205
205
|
|
|
@@ -231,7 +231,7 @@ Time O(n log n), Space O(n)
|
|
|
231
231
|
delete(key): boolean;
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
234
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:1202](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1202)
|
|
235
235
|
|
|
236
236
|
Delete a key.
|
|
237
237
|
|
|
@@ -271,13 +271,43 @@ Expected time O(log n)
|
|
|
271
271
|
|
|
272
272
|
***
|
|
273
273
|
|
|
274
|
+
### deleteWhere()
|
|
275
|
+
|
|
276
|
+
```ts
|
|
277
|
+
deleteWhere(predicate): boolean;
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:1213](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1213)
|
|
281
|
+
|
|
282
|
+
Delete all entries matching a predicate.
|
|
283
|
+
|
|
284
|
+
#### Parameters
|
|
285
|
+
|
|
286
|
+
##### predicate
|
|
287
|
+
|
|
288
|
+
(`key`, `value`, `index`, `map`) => `boolean`
|
|
289
|
+
|
|
290
|
+
Function (key, value, index, map) → boolean; return true to delete.
|
|
291
|
+
|
|
292
|
+
#### Returns
|
|
293
|
+
|
|
294
|
+
`boolean`
|
|
295
|
+
|
|
296
|
+
True if at least one entry was deleted.
|
|
297
|
+
|
|
298
|
+
#### Remarks
|
|
299
|
+
|
|
300
|
+
Time O(N), Space O(N)
|
|
301
|
+
|
|
302
|
+
***
|
|
303
|
+
|
|
274
304
|
### entries()
|
|
275
305
|
|
|
276
306
|
```ts
|
|
277
307
|
entries(): IterableIterator<[K, V | undefined]>;
|
|
278
308
|
```
|
|
279
309
|
|
|
280
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
310
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:1988](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1988)
|
|
281
311
|
|
|
282
312
|
Iterate over `[key, value]` entries in ascending key order.
|
|
283
313
|
|
|
@@ -305,7 +335,7 @@ Note: values may be `undefined`.
|
|
|
305
335
|
every(callbackfn, thisArg?): boolean;
|
|
306
336
|
```
|
|
307
337
|
|
|
308
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
338
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:2970](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2970)
|
|
309
339
|
|
|
310
340
|
Test whether all entries satisfy a predicate.
|
|
311
341
|
|
|
@@ -345,7 +375,7 @@ Time O(n), Space O(1)
|
|
|
345
375
|
filter(callbackfn, thisArg?): TreeMap<K, V>;
|
|
346
376
|
```
|
|
347
377
|
|
|
348
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
378
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:2581](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2581)
|
|
349
379
|
|
|
350
380
|
Create a new TreeMap containing only entries that satisfy the predicate.
|
|
351
381
|
|
|
@@ -386,7 +416,7 @@ Time O(n log n) expected, Space O(n)
|
|
|
386
416
|
find(callbackfn, thisArg?): [K, V | undefined] | undefined;
|
|
387
417
|
```
|
|
388
418
|
|
|
389
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
419
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3361](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3361)
|
|
390
420
|
|
|
391
421
|
Find the first entry that satisfies a predicate.
|
|
392
422
|
|
|
@@ -428,7 +458,7 @@ Time O(n), Space O(1)
|
|
|
428
458
|
first(): [K, V | undefined] | undefined;
|
|
429
459
|
```
|
|
430
460
|
|
|
431
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
461
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3824](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3824)
|
|
432
462
|
|
|
433
463
|
Smallest entry by key.
|
|
434
464
|
|
|
@@ -476,7 +506,7 @@ Smallest entry by key.
|
|
|
476
506
|
floor(key): [K, V | undefined] | undefined;
|
|
477
507
|
```
|
|
478
508
|
|
|
479
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
509
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4366](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4366)
|
|
480
510
|
|
|
481
511
|
Largest entry whose key is <= the given key.
|
|
482
512
|
|
|
@@ -519,7 +549,7 @@ Largest entry whose key is <= the given key.
|
|
|
519
549
|
forEach(cb, thisArg?): void;
|
|
520
550
|
```
|
|
521
551
|
|
|
522
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
552
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:2185](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2185)
|
|
523
553
|
|
|
524
554
|
Visit each entry in ascending key order.
|
|
525
555
|
|
|
@@ -559,7 +589,7 @@ Note: callback value may be `undefined`.
|
|
|
559
589
|
get(key): V | undefined;
|
|
560
590
|
```
|
|
561
591
|
|
|
562
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
592
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:783](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L783)
|
|
563
593
|
|
|
564
594
|
Get the value under a key.
|
|
565
595
|
|
|
@@ -602,7 +632,7 @@ Expected time O(log n)
|
|
|
602
632
|
getByRank(k): [K, V | undefined] | undefined;
|
|
603
633
|
```
|
|
604
634
|
|
|
605
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
635
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4942](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4942)
|
|
606
636
|
|
|
607
637
|
Returns the entry at the k-th position in tree order (0-indexed).
|
|
608
638
|
|
|
@@ -643,7 +673,7 @@ Time O(log n). Requires `enableOrderStatistic: true`.
|
|
|
643
673
|
getRank(key): number;
|
|
644
674
|
```
|
|
645
675
|
|
|
646
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
676
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4962](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4962)
|
|
647
677
|
|
|
648
678
|
Returns the 0-based rank of a key (number of elements that precede it in tree order).
|
|
649
679
|
|
|
@@ -684,7 +714,7 @@ Time O(log n). Requires `enableOrderStatistic: true`.
|
|
|
684
714
|
has(key): boolean;
|
|
685
715
|
```
|
|
686
716
|
|
|
687
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
717
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:991](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L991)
|
|
688
718
|
|
|
689
719
|
Test whether a key exists.
|
|
690
720
|
|
|
@@ -726,7 +756,7 @@ Expected time O(log n)
|
|
|
726
756
|
higher(key): [K, V | undefined] | undefined;
|
|
727
757
|
```
|
|
728
758
|
|
|
729
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
759
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4540](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4540)
|
|
730
760
|
|
|
731
761
|
Smallest entry whose key is > the given key.
|
|
732
762
|
|
|
@@ -769,7 +799,7 @@ Smallest entry whose key is > the given key.
|
|
|
769
799
|
isEmpty(): boolean;
|
|
770
800
|
```
|
|
771
801
|
|
|
772
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
802
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:322](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L322)
|
|
773
803
|
|
|
774
804
|
Whether the map is empty.
|
|
775
805
|
|
|
@@ -794,7 +824,7 @@ Whether the map is empty.
|
|
|
794
824
|
keys(): IterableIterator<K>;
|
|
795
825
|
```
|
|
796
826
|
|
|
797
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
827
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:1600](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1600)
|
|
798
828
|
|
|
799
829
|
Iterate over keys in ascending order.
|
|
800
830
|
|
|
@@ -820,7 +850,7 @@ Iterate over keys in ascending order.
|
|
|
820
850
|
last(): [K, V | undefined] | undefined;
|
|
821
851
|
```
|
|
822
852
|
|
|
823
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
853
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3881](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3881)
|
|
824
854
|
|
|
825
855
|
Largest entry by key.
|
|
826
856
|
|
|
@@ -852,7 +882,7 @@ Largest entry by key.
|
|
|
852
882
|
lower(key): [K, V | undefined] | undefined;
|
|
853
883
|
```
|
|
854
884
|
|
|
855
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
885
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4712](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4712)
|
|
856
886
|
|
|
857
887
|
Largest entry whose key is < the given key.
|
|
858
888
|
|
|
@@ -896,7 +926,7 @@ map<MK, MV>(
|
|
|
896
926
|
thisArg?): TreeMap<MK, MV>;
|
|
897
927
|
```
|
|
898
928
|
|
|
899
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
929
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:2378](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2378)
|
|
900
930
|
|
|
901
931
|
Create a new TreeMap by mapping each entry to a new `[key, value]` entry.
|
|
902
932
|
|
|
@@ -953,7 +983,7 @@ Time O(n log n) expected, Space O(n)
|
|
|
953
983
|
pollFirst(): [K, V | undefined] | undefined;
|
|
954
984
|
```
|
|
955
985
|
|
|
956
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
986
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3940](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3940)
|
|
957
987
|
|
|
958
988
|
Remove and return the smallest entry.
|
|
959
989
|
|
|
@@ -987,7 +1017,7 @@ Remove and return the smallest entry.
|
|
|
987
1017
|
pollLast(): [K, V | undefined] | undefined;
|
|
988
1018
|
```
|
|
989
1019
|
|
|
990
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1020
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4001](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4001)
|
|
991
1021
|
|
|
992
1022
|
Remove and return the largest entry.
|
|
993
1023
|
|
|
@@ -1021,7 +1051,7 @@ Remove and return the largest entry.
|
|
|
1021
1051
|
print(): void;
|
|
1022
1052
|
```
|
|
1023
1053
|
|
|
1024
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1054
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3748](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3748)
|
|
1025
1055
|
|
|
1026
1056
|
Print a human-friendly representation.
|
|
1027
1057
|
|
|
@@ -1051,7 +1081,7 @@ Time O(n), Space O(n)
|
|
|
1051
1081
|
rangeByRank(start, end): [K, V | undefined][];
|
|
1052
1082
|
```
|
|
1053
1083
|
|
|
1054
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1084
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4993](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4993)
|
|
1055
1085
|
|
|
1056
1086
|
Returns keys by rank range (0-indexed, inclusive on both ends).
|
|
1057
1087
|
|
|
@@ -1078,7 +1108,7 @@ Time O(log n + k). Requires `enableOrderStatistic: true`.
|
|
|
1078
1108
|
#### Example
|
|
1079
1109
|
|
|
1080
1110
|
```ts
|
|
1081
|
-
// Pagination
|
|
1111
|
+
// Pagination by position in tree order
|
|
1082
1112
|
const tree = new TreeMap<number>(
|
|
1083
1113
|
[10, 20, 30, 40, 50, 60, 70, 80, 90],
|
|
1084
1114
|
{ enableOrderStatistic: true }
|
|
@@ -1101,7 +1131,7 @@ Time O(log n + k). Requires `enableOrderStatistic: true`.
|
|
|
1101
1131
|
rangeSearch(range, options?): [K, V | undefined][];
|
|
1102
1132
|
```
|
|
1103
1133
|
|
|
1104
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1134
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:4904](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4904)
|
|
1105
1135
|
|
|
1106
1136
|
Return all entries in a given key range.
|
|
1107
1137
|
|
|
@@ -1167,7 +1197,7 @@ Inclusive/exclusive bounds (defaults to inclusive).
|
|
|
1167
1197
|
reduce<A>(callbackfn, initialValue): A;
|
|
1168
1198
|
```
|
|
1169
1199
|
|
|
1170
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1200
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:2779](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2779)
|
|
1171
1201
|
|
|
1172
1202
|
Reduce entries into a single accumulator.
|
|
1173
1203
|
|
|
@@ -1213,7 +1243,7 @@ Time O(n), Space O(1)
|
|
|
1213
1243
|
set(key, value): this;
|
|
1214
1244
|
```
|
|
1215
1245
|
|
|
1216
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1246
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:537](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L537)
|
|
1217
1247
|
|
|
1218
1248
|
Set or overwrite a value for a key.
|
|
1219
1249
|
|
|
@@ -1263,13 +1293,54 @@ Expected time O(log n)
|
|
|
1263
1293
|
|
|
1264
1294
|
***
|
|
1265
1295
|
|
|
1296
|
+
### setMany()
|
|
1297
|
+
|
|
1298
|
+
```ts
|
|
1299
|
+
setMany(entries): boolean[];
|
|
1300
|
+
```
|
|
1301
|
+
|
|
1302
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:570](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L570)
|
|
1303
|
+
|
|
1304
|
+
Set multiple key-value pairs at once.
|
|
1305
|
+
|
|
1306
|
+
#### Parameters
|
|
1307
|
+
|
|
1308
|
+
##### entries
|
|
1309
|
+
|
|
1310
|
+
`Iterable`\<\[`K`, `V` \| `undefined`\]\>
|
|
1311
|
+
|
|
1312
|
+
Iterable of `[key, value]` tuples.
|
|
1313
|
+
|
|
1314
|
+
#### Returns
|
|
1315
|
+
|
|
1316
|
+
`boolean`[]
|
|
1317
|
+
|
|
1318
|
+
Array of booleans indicating whether each entry was successfully set.
|
|
1319
|
+
|
|
1320
|
+
*
|
|
1321
|
+
|
|
1322
|
+
#### Remarks
|
|
1323
|
+
|
|
1324
|
+
Expected time O(m log n), where m is the number of entries.
|
|
1325
|
+
|
|
1326
|
+
#### Example
|
|
1327
|
+
|
|
1328
|
+
```ts
|
|
1329
|
+
// Set multiple key-value pairs
|
|
1330
|
+
const tm = new TreeMap<number, string>();
|
|
1331
|
+
tm.setMany([[1, 'a'], [2, 'b'], [3, 'c']]);
|
|
1332
|
+
console.log(tm.size); // 3;
|
|
1333
|
+
```
|
|
1334
|
+
|
|
1335
|
+
***
|
|
1336
|
+
|
|
1266
1337
|
### some()
|
|
1267
1338
|
|
|
1268
1339
|
```ts
|
|
1269
1340
|
some(callbackfn, thisArg?): boolean;
|
|
1270
1341
|
```
|
|
1271
1342
|
|
|
1272
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1343
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3165](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3165)
|
|
1273
1344
|
|
|
1274
1345
|
Test whether any entry satisfies a predicate.
|
|
1275
1346
|
|
|
@@ -1309,7 +1380,7 @@ Time O(n), Space O(1)
|
|
|
1309
1380
|
toArray(): [K, V | undefined][];
|
|
1310
1381
|
```
|
|
1311
1382
|
|
|
1312
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1383
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:3558](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3558)
|
|
1313
1384
|
|
|
1314
1385
|
Materialize the map into an array of `[key, value]` tuples.
|
|
1315
1386
|
|
|
@@ -1339,7 +1410,7 @@ Time O(n), Space O(n)
|
|
|
1339
1410
|
values(): IterableIterator<V | undefined>;
|
|
1340
1411
|
```
|
|
1341
1412
|
|
|
1342
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:
|
|
1413
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:1797](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1797)
|
|
1343
1414
|
|
|
1344
1415
|
Iterate over values in ascending key order.
|
|
1345
1416
|
|
|
@@ -1367,7 +1438,7 @@ Note: values may be `undefined` (TreeMap allows storing `undefined`, like native
|
|
|
1367
1438
|
static createDefaultComparator<K>(): Comparator<K>;
|
|
1368
1439
|
```
|
|
1369
1440
|
|
|
1370
|
-
Defined in: [data-structures/binary-tree/tree-map.ts:87](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1441
|
+
Defined in: [data-structures/binary-tree/tree-map.ts:87](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L87)
|
|
1371
1442
|
|
|
1372
1443
|
Create the strict default comparator.
|
|
1373
1444
|
|