data-structure-typed 2.5.2 → 2.5.3
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/CHANGELOG.md +3 -1
- package/MIGRATION.md +169 -0
- package/README.md +60 -6
- package/README_CN.md +551 -143
- package/SPECIFICATION.md +20 -14
- package/SPECIFICATION.zh-CN.md +20 -14
- package/dist/cjs/binary-tree.cjs +2417 -132
- package/dist/cjs/graph.cjs +248 -14
- package/dist/cjs/hash.cjs +62 -7
- package/dist/cjs/heap.cjs +103 -16
- package/dist/cjs/index.cjs +3046 -124
- package/dist/cjs/linked-list.cjs +219 -0
- package/dist/cjs/matrix.cjs +32 -0
- package/dist/cjs/priority-queue.cjs +101 -14
- package/dist/cjs/queue.cjs +215 -0
- package/dist/cjs/stack.cjs +44 -4
- package/dist/cjs/trie.cjs +44 -0
- package/dist/cjs-legacy/binary-tree.cjs +2406 -123
- package/dist/cjs-legacy/graph.cjs +248 -14
- package/dist/cjs-legacy/hash.cjs +62 -7
- package/dist/cjs-legacy/heap.cjs +103 -16
- package/dist/cjs-legacy/index.cjs +3105 -185
- package/dist/cjs-legacy/linked-list.cjs +219 -0
- package/dist/cjs-legacy/matrix.cjs +32 -0
- package/dist/cjs-legacy/priority-queue.cjs +101 -14
- package/dist/cjs-legacy/queue.cjs +215 -0
- package/dist/cjs-legacy/stack.cjs +44 -4
- package/dist/cjs-legacy/trie.cjs +44 -0
- package/dist/esm/binary-tree.mjs +2417 -132
- package/dist/esm/graph.mjs +248 -14
- package/dist/esm/hash.mjs +62 -7
- package/dist/esm/heap.mjs +103 -16
- package/dist/esm/index.mjs +3046 -124
- package/dist/esm/linked-list.mjs +219 -0
- package/dist/esm/matrix.mjs +32 -0
- package/dist/esm/priority-queue.mjs +101 -14
- package/dist/esm/queue.mjs +215 -0
- package/dist/esm/stack.mjs +44 -4
- package/dist/esm/trie.mjs +44 -0
- package/dist/esm-legacy/binary-tree.mjs +2406 -123
- package/dist/esm-legacy/graph.mjs +248 -14
- package/dist/esm-legacy/hash.mjs +62 -7
- package/dist/esm-legacy/heap.mjs +103 -16
- package/dist/esm-legacy/index.mjs +3105 -185
- package/dist/esm-legacy/linked-list.mjs +219 -0
- package/dist/esm-legacy/matrix.mjs +32 -0
- package/dist/esm-legacy/priority-queue.mjs +101 -14
- package/dist/esm-legacy/queue.mjs +215 -0
- package/dist/esm-legacy/stack.mjs +44 -4
- package/dist/esm-legacy/trie.mjs +44 -0
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +50 -2
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +56 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +116 -15
- package/dist/types/data-structures/binary-tree/bst.d.ts +99 -3
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +79 -8
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +24 -0
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +520 -1
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +489 -1
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +393 -1
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +500 -1
- package/dist/types/data-structures/graph/directed-graph.d.ts +40 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +36 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +51 -6
- package/dist/types/data-structures/heap/heap.d.ts +98 -12
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -0
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +61 -1
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +72 -0
- package/dist/types/data-structures/matrix/matrix.d.ts +32 -0
- package/dist/types/data-structures/queue/deque.d.ts +82 -0
- package/dist/types/data-structures/queue/queue.d.ts +61 -0
- package/dist/types/data-structures/stack/stack.d.ts +42 -2
- package/dist/types/data-structures/trie/trie.d.ts +48 -0
- package/dist/types/interfaces/binary-tree.d.ts +2 -3
- package/dist/umd/data-structure-typed.js +3105 -185
- 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 +42 -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/package.json +7 -6
- package/src/data-structures/binary-tree/avl-tree.ts +52 -5
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +56 -0
- package/src/data-structures/binary-tree/binary-tree.ts +167 -81
- package/src/data-structures/binary-tree/bst.ts +101 -7
- package/src/data-structures/binary-tree/red-black-tree.ts +82 -15
- package/src/data-structures/binary-tree/segment-tree.ts +24 -0
- package/src/data-structures/binary-tree/tree-map.ts +540 -3
- package/src/data-structures/binary-tree/tree-multi-map.ts +490 -2
- package/src/data-structures/binary-tree/tree-multi-set.ts +393 -1
- package/src/data-structures/binary-tree/tree-set.ts +520 -3
- package/src/data-structures/graph/directed-graph.ts +41 -1
- package/src/data-structures/graph/undirected-graph.ts +37 -1
- package/src/data-structures/hash/hash-map.ts +67 -12
- package/src/data-structures/heap/heap.ts +107 -19
- package/src/data-structures/linked-list/doubly-linked-list.ts +88 -0
- package/src/data-structures/linked-list/singly-linked-list.ts +61 -1
- package/src/data-structures/linked-list/skip-linked-list.ts +72 -0
- package/src/data-structures/matrix/matrix.ts +32 -0
- package/src/data-structures/queue/deque.ts +85 -0
- package/src/data-structures/queue/queue.ts +73 -0
- package/src/data-structures/stack/stack.ts +45 -5
- package/src/data-structures/trie/trie.ts +48 -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: TreeSet\<K, R\>
|
|
8
8
|
|
|
9
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:26](https://github.com/zrwusa/data-structure-typed/blob/
|
|
9
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:26](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L26)
|
|
10
10
|
|
|
11
11
|
An ordered Set backed by a red-black tree.
|
|
12
12
|
|
|
@@ -44,7 +44,7 @@ An ordered Set backed by a red-black tree.
|
|
|
44
44
|
new TreeSet<K, R>(elements?, options?): TreeSet<K, R>;
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:46](https://github.com/zrwusa/data-structure-typed/blob/
|
|
47
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:46](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L46)
|
|
48
48
|
|
|
49
49
|
Create a TreeSet from an iterable of keys or raw elements.
|
|
50
50
|
|
|
@@ -92,7 +92,7 @@ const set = new TreeSet<number, User>(users, { toElementFn: u => u.id });
|
|
|
92
92
|
get size(): number;
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:101](https://github.com/zrwusa/data-structure-typed/blob/
|
|
95
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:101](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L101)
|
|
96
96
|
|
|
97
97
|
Number of elements in the set.
|
|
98
98
|
|
|
@@ -108,7 +108,7 @@ Number of elements in the set.
|
|
|
108
108
|
add(key): this;
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
111
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:508](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L508)
|
|
112
112
|
|
|
113
113
|
Add a key to the set (no-op if already present).
|
|
114
114
|
|
|
@@ -145,13 +145,54 @@ Expected time O(log n)
|
|
|
145
145
|
|
|
146
146
|
***
|
|
147
147
|
|
|
148
|
+
### addMany()
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
addMany(keys): boolean[];
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:542](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L542)
|
|
155
|
+
|
|
156
|
+
Add multiple keys at once.
|
|
157
|
+
|
|
158
|
+
#### Parameters
|
|
159
|
+
|
|
160
|
+
##### keys
|
|
161
|
+
|
|
162
|
+
`Iterable`\<`K`\>
|
|
163
|
+
|
|
164
|
+
Iterable of keys to add.
|
|
165
|
+
|
|
166
|
+
#### Returns
|
|
167
|
+
|
|
168
|
+
`boolean`[]
|
|
169
|
+
|
|
170
|
+
Array of booleans indicating whether each key was newly added.
|
|
171
|
+
|
|
172
|
+
*
|
|
173
|
+
|
|
174
|
+
#### Remarks
|
|
175
|
+
|
|
176
|
+
Expected time O(m log n), where m is the number of keys.
|
|
177
|
+
|
|
178
|
+
#### Example
|
|
179
|
+
|
|
180
|
+
```ts
|
|
181
|
+
// Add multiple keys
|
|
182
|
+
const ts = new TreeSet<number>();
|
|
183
|
+
ts.addMany([5, 3, 7, 1, 9]);
|
|
184
|
+
console.log(ts.size); // 5;
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
***
|
|
188
|
+
|
|
148
189
|
### ceiling()
|
|
149
190
|
|
|
150
191
|
```ts
|
|
151
192
|
ceiling(key): K | undefined;
|
|
152
193
|
```
|
|
153
194
|
|
|
154
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
195
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3908](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3908)
|
|
155
196
|
|
|
156
197
|
Smallest key that is >= the given key.
|
|
157
198
|
|
|
@@ -195,7 +236,7 @@ Smallest key that is >= the given key.
|
|
|
195
236
|
clear(): void;
|
|
196
237
|
```
|
|
197
238
|
|
|
198
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
239
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:1165](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L1165)
|
|
199
240
|
|
|
200
241
|
Remove all keys.
|
|
201
242
|
|
|
@@ -222,7 +263,7 @@ Remove all keys.
|
|
|
222
263
|
clone(): TreeSet<K>;
|
|
223
264
|
```
|
|
224
265
|
|
|
225
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
266
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4858](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4858)
|
|
226
267
|
|
|
227
268
|
Creates a shallow clone of this set.
|
|
228
269
|
|
|
@@ -254,7 +295,7 @@ Time O(n log n), Space O(n)
|
|
|
254
295
|
delete(key): boolean;
|
|
255
296
|
```
|
|
256
297
|
|
|
257
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
298
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:956](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L956)
|
|
258
299
|
|
|
259
300
|
Delete a key.
|
|
260
301
|
|
|
@@ -289,13 +330,43 @@ Expected time O(log n)
|
|
|
289
330
|
|
|
290
331
|
***
|
|
291
332
|
|
|
333
|
+
### deleteWhere()
|
|
334
|
+
|
|
335
|
+
```ts
|
|
336
|
+
deleteWhere(predicate): boolean;
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:967](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L967)
|
|
340
|
+
|
|
341
|
+
Delete all keys matching a predicate.
|
|
342
|
+
|
|
343
|
+
#### Parameters
|
|
344
|
+
|
|
345
|
+
##### predicate
|
|
346
|
+
|
|
347
|
+
(`key`, `index`, `set`) => `boolean`
|
|
348
|
+
|
|
349
|
+
Function (key, index, set) → boolean; return true to delete.
|
|
350
|
+
|
|
351
|
+
#### Returns
|
|
352
|
+
|
|
353
|
+
`boolean`
|
|
354
|
+
|
|
355
|
+
True if at least one key was deleted.
|
|
356
|
+
|
|
357
|
+
#### Remarks
|
|
358
|
+
|
|
359
|
+
Time O(N), Space O(N)
|
|
360
|
+
|
|
361
|
+
***
|
|
362
|
+
|
|
292
363
|
### entries()
|
|
293
364
|
|
|
294
365
|
```ts
|
|
295
366
|
entries(): IterableIterator<[K, K]>;
|
|
296
367
|
```
|
|
297
368
|
|
|
298
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
369
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:1736](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L1736)
|
|
299
370
|
|
|
300
371
|
Iterate over `[value, value]` pairs (native Set convention).
|
|
301
372
|
|
|
@@ -323,7 +394,7 @@ Note: TreeSet stores only keys internally; `[k, k]` is created on-the-fly during
|
|
|
323
394
|
every(callbackfn, thisArg?): boolean;
|
|
324
395
|
```
|
|
325
396
|
|
|
326
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
397
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:2719](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L2719)
|
|
327
398
|
|
|
328
399
|
Test whether all values satisfy a predicate.
|
|
329
400
|
|
|
@@ -363,7 +434,7 @@ Time O(n), Space O(1)
|
|
|
363
434
|
filter(callbackfn, thisArg?): TreeSet<K>;
|
|
364
435
|
```
|
|
365
436
|
|
|
366
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
437
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:2329](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L2329)
|
|
367
438
|
|
|
368
439
|
Create a new TreeSet containing only values that satisfy the predicate.
|
|
369
440
|
|
|
@@ -404,7 +475,7 @@ Time O(n log n) expected, Space O(n)
|
|
|
404
475
|
find(callbackfn, thisArg?): K | undefined;
|
|
405
476
|
```
|
|
406
477
|
|
|
407
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
478
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3110](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3110)
|
|
408
479
|
|
|
409
480
|
Find the first value that satisfies a predicate.
|
|
410
481
|
|
|
@@ -445,7 +516,7 @@ Time O(n), Space O(1)
|
|
|
445
516
|
first(): K | undefined;
|
|
446
517
|
```
|
|
447
518
|
|
|
448
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
519
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3573](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3573)
|
|
449
520
|
|
|
450
521
|
Smallest key in the set.
|
|
451
522
|
|
|
@@ -494,7 +565,7 @@ Smallest key in the set.
|
|
|
494
565
|
floor(key): K | undefined;
|
|
495
566
|
```
|
|
496
567
|
|
|
497
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
568
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4074](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4074)
|
|
498
569
|
|
|
499
570
|
Largest key that is <= the given key.
|
|
500
571
|
|
|
@@ -530,7 +601,7 @@ Largest key that is <= the given key.
|
|
|
530
601
|
forEach(cb, thisArg?): void;
|
|
531
602
|
```
|
|
532
603
|
|
|
533
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
604
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:1933](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L1933)
|
|
534
605
|
|
|
535
606
|
Visit each value in ascending order.
|
|
536
607
|
|
|
@@ -570,7 +641,7 @@ Callback follows native Set convention: `(value, value2, set)`.
|
|
|
570
641
|
getByRank(k): K | undefined;
|
|
571
642
|
```
|
|
572
643
|
|
|
573
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
644
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4616](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4616)
|
|
574
645
|
|
|
575
646
|
Returns the element at the k-th position in tree order (0-indexed).
|
|
576
647
|
|
|
@@ -608,7 +679,7 @@ Time O(log n). Requires `enableOrderStatistic: true`.
|
|
|
608
679
|
getRank(key): number;
|
|
609
680
|
```
|
|
610
681
|
|
|
611
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
682
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4634](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4634)
|
|
612
683
|
|
|
613
684
|
Returns the 0-based rank of a key (number of elements that precede it in tree order).
|
|
614
685
|
|
|
@@ -649,7 +720,7 @@ Time O(log n). Requires `enableOrderStatistic: true`.
|
|
|
649
720
|
has(key): boolean;
|
|
650
721
|
```
|
|
651
722
|
|
|
652
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
723
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:750](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L750)
|
|
653
724
|
|
|
654
725
|
Test whether a key exists.
|
|
655
726
|
|
|
@@ -687,7 +758,7 @@ Expected time O(log n)
|
|
|
687
758
|
higher(key): K | undefined;
|
|
688
759
|
```
|
|
689
760
|
|
|
690
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
761
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4238](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4238)
|
|
691
762
|
|
|
692
763
|
Smallest key that is > the given key.
|
|
693
764
|
|
|
@@ -721,7 +792,7 @@ Smallest key that is > the given key.
|
|
|
721
792
|
isEmpty(): boolean;
|
|
722
793
|
```
|
|
723
794
|
|
|
724
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
795
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L289)
|
|
725
796
|
|
|
726
797
|
Whether the set is empty.
|
|
727
798
|
|
|
@@ -746,7 +817,7 @@ Whether the set is empty.
|
|
|
746
817
|
keys(): IterableIterator<K>;
|
|
747
818
|
```
|
|
748
819
|
|
|
749
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
820
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:1354](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L1354)
|
|
750
821
|
|
|
751
822
|
Iterate over keys in ascending order.
|
|
752
823
|
|
|
@@ -772,7 +843,7 @@ Iterate over keys in ascending order.
|
|
|
772
843
|
last(): K | undefined;
|
|
773
844
|
```
|
|
774
845
|
|
|
775
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
846
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3624](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3624)
|
|
776
847
|
|
|
777
848
|
Largest key in the set.
|
|
778
849
|
|
|
@@ -799,7 +870,7 @@ Largest key in the set.
|
|
|
799
870
|
lower(key): K | undefined;
|
|
800
871
|
```
|
|
801
872
|
|
|
802
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
873
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4402](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4402)
|
|
803
874
|
|
|
804
875
|
Largest key that is < the given key.
|
|
805
876
|
|
|
@@ -836,7 +907,7 @@ map<MK>(
|
|
|
836
907
|
thisArg?): TreeSet<MK>;
|
|
837
908
|
```
|
|
838
909
|
|
|
839
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
910
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:2126](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L2126)
|
|
840
911
|
|
|
841
912
|
Create a new TreeSet by mapping each value to a new key.
|
|
842
913
|
|
|
@@ -889,7 +960,7 @@ Time O(n log n) expected, Space O(n)
|
|
|
889
960
|
pollFirst(): K | undefined;
|
|
890
961
|
```
|
|
891
962
|
|
|
892
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
963
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3677](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3677)
|
|
893
964
|
|
|
894
965
|
Remove and return the smallest key.
|
|
895
966
|
|
|
@@ -918,7 +989,7 @@ Remove and return the smallest key.
|
|
|
918
989
|
pollLast(): K | undefined;
|
|
919
990
|
```
|
|
920
991
|
|
|
921
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
992
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3732](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3732)
|
|
922
993
|
|
|
923
994
|
Remove and return the largest key.
|
|
924
995
|
|
|
@@ -946,7 +1017,7 @@ Remove and return the largest key.
|
|
|
946
1017
|
print(): void;
|
|
947
1018
|
```
|
|
948
1019
|
|
|
949
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1020
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3497](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3497)
|
|
950
1021
|
|
|
951
1022
|
Print a human-friendly representation.
|
|
952
1023
|
|
|
@@ -976,7 +1047,7 @@ Time O(n), Space O(n)
|
|
|
976
1047
|
rangeByRank(start, end): K[];
|
|
977
1048
|
```
|
|
978
1049
|
|
|
979
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1050
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4665](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4665)
|
|
980
1051
|
|
|
981
1052
|
Returns elements by rank range (0-indexed, inclusive on both ends).
|
|
982
1053
|
|
|
@@ -1003,7 +1074,7 @@ Time O(log n + k). Requires `enableOrderStatistic: true`.
|
|
|
1003
1074
|
#### Example
|
|
1004
1075
|
|
|
1005
1076
|
```ts
|
|
1006
|
-
// Pagination
|
|
1077
|
+
// Pagination by position in tree order
|
|
1007
1078
|
const tree = new TreeSet<number>(
|
|
1008
1079
|
[10, 20, 30, 40, 50, 60, 70, 80, 90],
|
|
1009
1080
|
{ enableOrderStatistic: true }
|
|
@@ -1026,7 +1097,7 @@ Time O(log n + k). Requires `enableOrderStatistic: true`.
|
|
|
1026
1097
|
rangeSearch(range, options?): K[];
|
|
1027
1098
|
```
|
|
1028
1099
|
|
|
1029
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1100
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:4580](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L4580)
|
|
1030
1101
|
|
|
1031
1102
|
Return all keys in a given range.
|
|
1032
1103
|
|
|
@@ -1079,7 +1150,7 @@ Inclusive/exclusive bounds (defaults to inclusive).
|
|
|
1079
1150
|
reduce<A>(callbackfn, initialValue): A;
|
|
1080
1151
|
```
|
|
1081
1152
|
|
|
1082
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1153
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:2528](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L2528)
|
|
1083
1154
|
|
|
1084
1155
|
Reduce values into a single accumulator.
|
|
1085
1156
|
|
|
@@ -1126,7 +1197,7 @@ Time O(n), Space O(1)
|
|
|
1126
1197
|
some(callbackfn, thisArg?): boolean;
|
|
1127
1198
|
```
|
|
1128
1199
|
|
|
1129
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1200
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:2914](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L2914)
|
|
1130
1201
|
|
|
1131
1202
|
Test whether any value satisfies a predicate.
|
|
1132
1203
|
|
|
@@ -1166,7 +1237,7 @@ Time O(n), Space O(1)
|
|
|
1166
1237
|
toArray(): K[];
|
|
1167
1238
|
```
|
|
1168
1239
|
|
|
1169
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1240
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:3307](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L3307)
|
|
1170
1241
|
|
|
1171
1242
|
Materialize the set into an array of keys.
|
|
1172
1243
|
|
|
@@ -1196,7 +1267,7 @@ Time O(n), Space O(n)
|
|
|
1196
1267
|
values(): IterableIterator<K>;
|
|
1197
1268
|
```
|
|
1198
1269
|
|
|
1199
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:
|
|
1270
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:1545](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L1545)
|
|
1200
1271
|
|
|
1201
1272
|
Iterate over values in ascending order.
|
|
1202
1273
|
|
|
@@ -1224,7 +1295,7 @@ Note: for Set-like containers, `values()` is the same as `keys()`.
|
|
|
1224
1295
|
static createDefaultComparator<K>(): Comparator<K>;
|
|
1225
1296
|
```
|
|
1226
1297
|
|
|
1227
|
-
Defined in: [data-structures/binary-tree/tree-set.ts:71](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1298
|
+
Defined in: [data-structures/binary-tree/tree-set.ts:71](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-set.ts#L71)
|
|
1228
1299
|
|
|
1229
1300
|
Create the strict default comparator.
|
|
1230
1301
|
|