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.
Files changed (156) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/MIGRATION.md +169 -0
  3. package/README.md +60 -6
  4. package/README_CN.md +551 -143
  5. package/SPECIFICATION.md +20 -14
  6. package/SPECIFICATION.zh-CN.md +20 -14
  7. package/dist/cjs/binary-tree.cjs +2417 -132
  8. package/dist/cjs/graph.cjs +248 -14
  9. package/dist/cjs/hash.cjs +62 -7
  10. package/dist/cjs/heap.cjs +103 -16
  11. package/dist/cjs/index.cjs +3046 -124
  12. package/dist/cjs/linked-list.cjs +219 -0
  13. package/dist/cjs/matrix.cjs +32 -0
  14. package/dist/cjs/priority-queue.cjs +101 -14
  15. package/dist/cjs/queue.cjs +215 -0
  16. package/dist/cjs/stack.cjs +44 -4
  17. package/dist/cjs/trie.cjs +44 -0
  18. package/dist/cjs-legacy/binary-tree.cjs +2406 -123
  19. package/dist/cjs-legacy/graph.cjs +248 -14
  20. package/dist/cjs-legacy/hash.cjs +62 -7
  21. package/dist/cjs-legacy/heap.cjs +103 -16
  22. package/dist/cjs-legacy/index.cjs +3105 -185
  23. package/dist/cjs-legacy/linked-list.cjs +219 -0
  24. package/dist/cjs-legacy/matrix.cjs +32 -0
  25. package/dist/cjs-legacy/priority-queue.cjs +101 -14
  26. package/dist/cjs-legacy/queue.cjs +215 -0
  27. package/dist/cjs-legacy/stack.cjs +44 -4
  28. package/dist/cjs-legacy/trie.cjs +44 -0
  29. package/dist/esm/binary-tree.mjs +2417 -132
  30. package/dist/esm/graph.mjs +248 -14
  31. package/dist/esm/hash.mjs +62 -7
  32. package/dist/esm/heap.mjs +103 -16
  33. package/dist/esm/index.mjs +3046 -124
  34. package/dist/esm/linked-list.mjs +219 -0
  35. package/dist/esm/matrix.mjs +32 -0
  36. package/dist/esm/priority-queue.mjs +101 -14
  37. package/dist/esm/queue.mjs +215 -0
  38. package/dist/esm/stack.mjs +44 -4
  39. package/dist/esm/trie.mjs +44 -0
  40. package/dist/esm-legacy/binary-tree.mjs +2406 -123
  41. package/dist/esm-legacy/graph.mjs +248 -14
  42. package/dist/esm-legacy/hash.mjs +62 -7
  43. package/dist/esm-legacy/heap.mjs +103 -16
  44. package/dist/esm-legacy/index.mjs +3105 -185
  45. package/dist/esm-legacy/linked-list.mjs +219 -0
  46. package/dist/esm-legacy/matrix.mjs +32 -0
  47. package/dist/esm-legacy/priority-queue.mjs +101 -14
  48. package/dist/esm-legacy/queue.mjs +215 -0
  49. package/dist/esm-legacy/stack.mjs +44 -4
  50. package/dist/esm-legacy/trie.mjs +44 -0
  51. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +50 -2
  52. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +56 -0
  53. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +116 -15
  54. package/dist/types/data-structures/binary-tree/bst.d.ts +99 -3
  55. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +79 -8
  56. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +24 -0
  57. package/dist/types/data-structures/binary-tree/tree-map.d.ts +520 -1
  58. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +489 -1
  59. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +393 -1
  60. package/dist/types/data-structures/binary-tree/tree-set.d.ts +500 -1
  61. package/dist/types/data-structures/graph/directed-graph.d.ts +40 -0
  62. package/dist/types/data-structures/graph/undirected-graph.d.ts +36 -0
  63. package/dist/types/data-structures/hash/hash-map.d.ts +51 -6
  64. package/dist/types/data-structures/heap/heap.d.ts +98 -12
  65. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -0
  66. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +61 -1
  67. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +72 -0
  68. package/dist/types/data-structures/matrix/matrix.d.ts +32 -0
  69. package/dist/types/data-structures/queue/deque.d.ts +82 -0
  70. package/dist/types/data-structures/queue/queue.d.ts +61 -0
  71. package/dist/types/data-structures/stack/stack.d.ts +42 -2
  72. package/dist/types/data-structures/trie/trie.d.ts +48 -0
  73. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  74. package/dist/umd/data-structure-typed.js +3105 -185
  75. package/dist/umd/data-structure-typed.min.js +4 -4
  76. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +188 -200
  77. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
  78. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +62 -62
  79. package/docs-site-docusaurus/docs/api/classes/BST.md +183 -195
  80. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
  81. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
  82. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +143 -155
  83. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  84. package/docs-site-docusaurus/docs/api/classes/Deque.md +99 -85
  85. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +73 -73
  86. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +100 -70
  87. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
  88. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
  89. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  90. package/docs-site-docusaurus/docs/api/classes/HashMap.md +38 -38
  91. package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
  92. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
  93. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +23 -23
  94. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +48 -48
  95. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +52 -52
  96. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +42 -42
  97. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
  98. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +74 -74
  99. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +73 -73
  100. package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
  101. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
  102. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
  103. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
  104. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
  105. package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
  106. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
  107. package/docs-site-docusaurus/docs/api/classes/Queue.md +111 -59
  108. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +200 -212
  109. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
  110. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +75 -75
  111. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
  112. package/docs-site-docusaurus/docs/api/classes/SkipList.md +37 -37
  113. package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
  114. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +107 -36
  115. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +43 -43
  116. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +106 -35
  117. package/docs-site-docusaurus/docs/api/classes/Trie.md +43 -43
  118. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  119. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +72 -72
  120. package/docs-site-docusaurus/docs/guide/architecture.md +75 -7
  121. package/docs-site-docusaurus/docs/guide/concepts.md +53 -34
  122. package/docs-site-docusaurus/docs/guide/faq.md +53 -0
  123. package/docs-site-docusaurus/docs/guide/guides.md +8 -9
  124. package/docs-site-docusaurus/docs/guide/integrations.md +74 -177
  125. package/docs-site-docusaurus/docs/guide/overview.md +131 -17
  126. package/docs-site-docusaurus/src/pages/index.tsx +4 -0
  127. package/docs-site-docusaurus/typedoc.json +1 -0
  128. package/package.json +7 -6
  129. package/src/data-structures/binary-tree/avl-tree.ts +52 -5
  130. package/src/data-structures/binary-tree/binary-indexed-tree.ts +56 -0
  131. package/src/data-structures/binary-tree/binary-tree.ts +167 -81
  132. package/src/data-structures/binary-tree/bst.ts +101 -7
  133. package/src/data-structures/binary-tree/red-black-tree.ts +82 -15
  134. package/src/data-structures/binary-tree/segment-tree.ts +24 -0
  135. package/src/data-structures/binary-tree/tree-map.ts +540 -3
  136. package/src/data-structures/binary-tree/tree-multi-map.ts +490 -2
  137. package/src/data-structures/binary-tree/tree-multi-set.ts +393 -1
  138. package/src/data-structures/binary-tree/tree-set.ts +520 -3
  139. package/src/data-structures/graph/directed-graph.ts +41 -1
  140. package/src/data-structures/graph/undirected-graph.ts +37 -1
  141. package/src/data-structures/hash/hash-map.ts +67 -12
  142. package/src/data-structures/heap/heap.ts +107 -19
  143. package/src/data-structures/linked-list/doubly-linked-list.ts +88 -0
  144. package/src/data-structures/linked-list/singly-linked-list.ts +61 -1
  145. package/src/data-structures/linked-list/skip-linked-list.ts +72 -0
  146. package/src/data-structures/matrix/matrix.ts +32 -0
  147. package/src/data-structures/queue/deque.ts +85 -0
  148. package/src/data-structures/queue/queue.ts +73 -0
  149. package/src/data-structures/stack/stack.ts +45 -5
  150. package/src/data-structures/trie/trie.ts +48 -0
  151. package/src/interfaces/binary-tree.ts +1 -9
  152. package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
  153. package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
  154. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
  155. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
  156. 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/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L26)
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/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L46)
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/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L101)
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:468](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L468)
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:3483](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3483)
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:1012](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L1012)
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:4341](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L4341)
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:840](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L840)
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:1523](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L1523)
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:2406](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L2406)
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:2056](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L2056)
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:2757](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L2757)
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:3176](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3176)
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:3633](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3633)
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:1700](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L1700)
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:4127](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L4127)
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:4145](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L4145)
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:654](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L654)
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:3781](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3781)
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:269](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L269)
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:1181](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L1181)
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:3223](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3223)
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:3929](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3929)
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:1873](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L1873)
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:3272](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3272)
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:3323](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3323)
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:3104](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L3104)
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:4168](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L4168)
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 with rangeByRank
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:4091](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L4091)
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:2235](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L2235)
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:2581](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L2581)
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:2934](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L2934)
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:1352](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L1352)
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/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/tree-set.ts#L71)
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