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.
Files changed (158) hide show
  1. package/.github/workflows/ci.yml +7 -2
  2. package/.github/workflows/release-package.yml +9 -2
  3. package/.husky/pre-commit +3 -0
  4. package/CHANGELOG.md +1 -1
  5. package/MIGRATION.md +48 -0
  6. package/README.md +20 -2
  7. package/README_CN.md +20 -2
  8. package/SPECIFICATION.md +24 -0
  9. package/SPECIFICATION.zh-CN.md +24 -0
  10. package/dist/cjs/binary-tree.cjs +1897 -19
  11. package/dist/cjs/graph.cjs +174 -0
  12. package/dist/cjs/hash.cjs +33 -0
  13. package/dist/cjs/heap.cjs +71 -0
  14. package/dist/cjs/index.cjs +2383 -3
  15. package/dist/cjs/linked-list.cjs +224 -2
  16. package/dist/cjs/matrix.cjs +24 -0
  17. package/dist/cjs/priority-queue.cjs +71 -0
  18. package/dist/cjs/queue.cjs +221 -1
  19. package/dist/cjs/stack.cjs +59 -0
  20. package/dist/cjs/trie.cjs +62 -0
  21. package/dist/cjs-legacy/binary-tree.cjs +1897 -19
  22. package/dist/cjs-legacy/graph.cjs +174 -0
  23. package/dist/cjs-legacy/hash.cjs +33 -0
  24. package/dist/cjs-legacy/heap.cjs +71 -0
  25. package/dist/cjs-legacy/index.cjs +2383 -3
  26. package/dist/cjs-legacy/linked-list.cjs +224 -2
  27. package/dist/cjs-legacy/matrix.cjs +24 -0
  28. package/dist/cjs-legacy/priority-queue.cjs +71 -0
  29. package/dist/cjs-legacy/queue.cjs +221 -1
  30. package/dist/cjs-legacy/stack.cjs +59 -0
  31. package/dist/cjs-legacy/trie.cjs +62 -0
  32. package/dist/esm/binary-tree.mjs +1897 -19
  33. package/dist/esm/graph.mjs +174 -0
  34. package/dist/esm/hash.mjs +33 -0
  35. package/dist/esm/heap.mjs +71 -0
  36. package/dist/esm/index.mjs +2383 -3
  37. package/dist/esm/linked-list.mjs +224 -2
  38. package/dist/esm/matrix.mjs +24 -0
  39. package/dist/esm/priority-queue.mjs +71 -0
  40. package/dist/esm/queue.mjs +221 -1
  41. package/dist/esm/stack.mjs +59 -0
  42. package/dist/esm/trie.mjs +62 -0
  43. package/dist/esm-legacy/binary-tree.mjs +1897 -19
  44. package/dist/esm-legacy/graph.mjs +174 -0
  45. package/dist/esm-legacy/hash.mjs +33 -0
  46. package/dist/esm-legacy/heap.mjs +71 -0
  47. package/dist/esm-legacy/index.mjs +2383 -3
  48. package/dist/esm-legacy/linked-list.mjs +224 -2
  49. package/dist/esm-legacy/matrix.mjs +24 -0
  50. package/dist/esm-legacy/priority-queue.mjs +71 -0
  51. package/dist/esm-legacy/queue.mjs +221 -1
  52. package/dist/esm-legacy/stack.mjs +59 -0
  53. package/dist/esm-legacy/trie.mjs +62 -0
  54. package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
  55. package/dist/types/data-structures/base/linear-base.d.ts +6 -0
  56. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +36 -0
  57. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +42 -0
  58. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +75 -0
  59. package/dist/types/data-structures/binary-tree/bst.d.ts +72 -0
  60. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +57 -0
  61. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +18 -0
  62. package/dist/types/data-structures/binary-tree/tree-map.d.ts +375 -0
  63. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +389 -0
  64. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +330 -0
  65. package/dist/types/data-structures/binary-tree/tree-set.d.ts +438 -0
  66. package/dist/types/data-structures/graph/directed-graph.d.ts +30 -0
  67. package/dist/types/data-structures/graph/undirected-graph.d.ts +27 -0
  68. package/dist/types/data-structures/hash/hash-map.d.ts +33 -0
  69. package/dist/types/data-structures/heap/heap.d.ts +42 -0
  70. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -2
  71. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +45 -0
  72. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +54 -0
  73. package/dist/types/data-structures/matrix/matrix.d.ts +24 -0
  74. package/dist/types/data-structures/queue/deque.d.ts +90 -1
  75. package/dist/types/data-structures/queue/queue.d.ts +36 -0
  76. package/dist/types/data-structures/stack/stack.d.ts +30 -0
  77. package/dist/types/data-structures/trie/trie.d.ts +36 -0
  78. package/dist/umd/data-structure-typed.js +2383 -3
  79. package/dist/umd/data-structure-typed.min.js +3 -3
  80. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +108 -108
  81. package/docs-site-docusaurus/docs/api/classes/BST.md +101 -101
  82. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -13
  83. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +66 -66
  84. package/docs-site-docusaurus/docs/api/classes/Deque.md +235 -51
  85. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +21 -21
  86. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +231 -67
  87. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
  88. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  89. package/docs-site-docusaurus/docs/api/classes/HashMap.md +14 -14
  90. package/docs-site-docusaurus/docs/api/classes/Heap.md +117 -34
  91. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +83 -13
  92. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +124 -20
  93. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +140 -32
  94. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +30 -26
  95. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +159 -51
  96. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +20 -20
  97. package/docs-site-docusaurus/docs/api/classes/Matrix.md +23 -23
  98. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -34
  99. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +117 -34
  100. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -34
  101. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +117 -34
  102. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +117 -34
  103. package/docs-site-docusaurus/docs/api/classes/Queue.md +142 -34
  104. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +117 -117
  105. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +8 -8
  106. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +158 -50
  107. package/docs-site-docusaurus/docs/api/classes/SkipList.md +21 -21
  108. package/docs-site-docusaurus/docs/api/classes/Stack.md +108 -26
  109. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +33 -33
  110. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +75 -39
  111. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +301 -39
  112. package/docs-site-docusaurus/docs/api/classes/Trie.md +110 -28
  113. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +20 -20
  114. package/jest.integration.config.js +1 -2
  115. package/package.json +51 -50
  116. package/src/common/error.ts +15 -32
  117. package/src/common/index.ts +0 -3
  118. package/src/data-structures/base/iterable-element-base.ts +32 -3
  119. package/src/data-structures/base/linear-base.ts +13 -36
  120. package/src/data-structures/binary-tree/avl-tree.ts +31 -493
  121. package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -530
  122. package/src/data-structures/binary-tree/binary-tree.ts +326 -1236
  123. package/src/data-structures/binary-tree/bst.ts +158 -1010
  124. package/src/data-structures/binary-tree/red-black-tree.ts +451 -1233
  125. package/src/data-structures/binary-tree/segment-tree.ts +73 -333
  126. package/src/data-structures/binary-tree/tree-map.ts +462 -4749
  127. package/src/data-structures/binary-tree/tree-multi-map.ts +310 -4530
  128. package/src/data-structures/binary-tree/tree-multi-set.ts +300 -3652
  129. package/src/data-structures/binary-tree/tree-set.ts +437 -4443
  130. package/src/data-structures/graph/abstract-graph.ts +98 -167
  131. package/src/data-structures/graph/directed-graph.ts +137 -532
  132. package/src/data-structures/graph/map-graph.ts +0 -3
  133. package/src/data-structures/graph/undirected-graph.ts +132 -484
  134. package/src/data-structures/hash/hash-map.ts +154 -549
  135. package/src/data-structures/heap/heap.ts +200 -753
  136. package/src/data-structures/linked-list/doubly-linked-list.ts +153 -809
  137. package/src/data-structures/linked-list/singly-linked-list.ts +122 -749
  138. package/src/data-structures/linked-list/skip-linked-list.ts +211 -864
  139. package/src/data-structures/matrix/matrix.ts +179 -494
  140. package/src/data-structures/matrix/navigator.ts +0 -1
  141. package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
  142. package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
  143. package/src/data-structures/priority-queue/priority-queue.ts +1 -2
  144. package/src/data-structures/queue/deque.ts +241 -807
  145. package/src/data-structures/queue/queue.ts +102 -589
  146. package/src/data-structures/stack/stack.ts +76 -475
  147. package/src/data-structures/trie/trie.ts +98 -592
  148. package/src/types/common.ts +0 -10
  149. package/src/types/data-structures/binary-tree/bst.ts +0 -7
  150. package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
  151. package/src/types/data-structures/graph/abstract-graph.ts +0 -2
  152. package/src/types/data-structures/hash/hash-map.ts +0 -3
  153. package/src/types/data-structures/hash/index.ts +0 -1
  154. package/src/types/data-structures/matrix/navigator.ts +0 -2
  155. package/src/types/utils/utils.ts +0 -7
  156. package/src/types/utils/validate-type.ts +0 -7
  157. package/src/utils/number.ts +0 -2
  158. package/src/utils/utils.ts +0 -5
@@ -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:4192](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4192)
116
+ Defined in: [data-structures/binary-tree/tree-map.ts:4498](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4498)
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:1411](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1411)
175
+ Defined in: [data-structures/binary-tree/tree-map.ts:1513](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1513)
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:5189](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5189)
202
+ Defined in: [data-structures/binary-tree/tree-map.ts:5564](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5564)
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:1202](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1202)
234
+ Defined in: [data-structures/binary-tree/tree-map.ts:1289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1289)
235
235
 
236
236
  Delete a key.
237
237
 
@@ -277,7 +277,7 @@ Expected time O(log n)
277
277
  deleteWhere(predicate): boolean;
278
278
  ```
279
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)
280
+ Defined in: [data-structures/binary-tree/tree-map.ts:1300](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1300)
281
281
 
282
282
  Delete all entries matching a predicate.
283
283
 
@@ -307,7 +307,7 @@ Time O(N), Space O(N)
307
307
  entries(): IterableIterator<[K, V | undefined]>;
308
308
  ```
309
309
 
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)
310
+ Defined in: [data-structures/binary-tree/tree-map.ts:2135](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2135)
311
311
 
312
312
  Iterate over `[key, value]` entries in ascending key order.
313
313
 
@@ -335,7 +335,7 @@ Note: values may be `undefined`.
335
335
  every(callbackfn, thisArg?): boolean;
336
336
  ```
337
337
 
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)
338
+ Defined in: [data-structures/binary-tree/tree-map.ts:3192](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3192)
339
339
 
340
340
  Test whether all entries satisfy a predicate.
341
341
 
@@ -375,7 +375,7 @@ Time O(n), Space O(1)
375
375
  filter(callbackfn, thisArg?): TreeMap<K, V>;
376
376
  ```
377
377
 
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)
378
+ Defined in: [data-structures/binary-tree/tree-map.ts:2773](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2773)
379
379
 
380
380
  Create a new TreeMap containing only entries that satisfy the predicate.
381
381
 
@@ -416,7 +416,7 @@ Time O(n log n) expected, Space O(n)
416
416
  find(callbackfn, thisArg?): [K, V | undefined] | undefined;
417
417
  ```
418
418
 
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)
419
+ Defined in: [data-structures/binary-tree/tree-map.ts:3613](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3613)
420
420
 
421
421
  Find the first entry that satisfies a predicate.
422
422
 
@@ -458,7 +458,7 @@ Time O(n), Space O(1)
458
458
  first(): [K, V | undefined] | undefined;
459
459
  ```
460
460
 
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)
461
+ Defined in: [data-structures/binary-tree/tree-map.ts:4109](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4109)
462
462
 
463
463
  Smallest entry by key.
464
464
 
@@ -506,7 +506,7 @@ Smallest entry by key.
506
506
  floor(key): [K, V | undefined] | undefined;
507
507
  ```
508
508
 
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)
509
+ Defined in: [data-structures/binary-tree/tree-map.ts:4684](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4684)
510
510
 
511
511
  Largest entry whose key is <= the given key.
512
512
 
@@ -549,7 +549,7 @@ Largest entry whose key is <= the given key.
549
549
  forEach(cb, thisArg?): void;
550
550
  ```
551
551
 
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)
552
+ Defined in: [data-structures/binary-tree/tree-map.ts:2347](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2347)
553
553
 
554
554
  Visit each entry in ascending key order.
555
555
 
@@ -589,7 +589,7 @@ Note: callback value may be `undefined`.
589
589
  get(key): V | undefined;
590
590
  ```
591
591
 
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)
592
+ Defined in: [data-structures/binary-tree/tree-map.ts:840](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L840)
593
593
 
594
594
  Get the value under a key.
595
595
 
@@ -632,7 +632,7 @@ Expected time O(log n)
632
632
  getByRank(k): [K, V | undefined] | undefined;
633
633
  ```
634
634
 
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)
635
+ Defined in: [data-structures/binary-tree/tree-map.ts:5296](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5296)
636
636
 
637
637
  Returns the entry at the k-th position in tree order (0-indexed).
638
638
 
@@ -673,7 +673,7 @@ Time O(log n). Requires `enableOrderStatistic: true`.
673
673
  getRank(key): number;
674
674
  ```
675
675
 
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)
676
+ Defined in: [data-structures/binary-tree/tree-map.ts:5316](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5316)
677
677
 
678
678
  Returns the 0-based rank of a key (number of elements that precede it in tree order).
679
679
 
@@ -714,7 +714,7 @@ Time O(log n). Requires `enableOrderStatistic: true`.
714
714
  has(key): boolean;
715
715
  ```
716
716
 
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)
717
+ Defined in: [data-structures/binary-tree/tree-map.ts:1063](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1063)
718
718
 
719
719
  Test whether a key exists.
720
720
 
@@ -756,7 +756,7 @@ Expected time O(log n)
756
756
  higher(key): [K, V | undefined] | undefined;
757
757
  ```
758
758
 
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)
759
+ Defined in: [data-structures/binary-tree/tree-map.ts:4870](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4870)
760
760
 
761
761
  Smallest entry whose key is > the given key.
762
762
 
@@ -799,7 +799,7 @@ Smallest entry whose key is > the given key.
799
799
  isEmpty(): boolean;
800
800
  ```
801
801
 
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)
802
+ Defined in: [data-structures/binary-tree/tree-map.ts:337](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L337)
803
803
 
804
804
  Whether the map is empty.
805
805
 
@@ -824,7 +824,7 @@ Whether the map is empty.
824
824
  keys(): IterableIterator<K>;
825
825
  ```
826
826
 
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)
827
+ Defined in: [data-structures/binary-tree/tree-map.ts:1717](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1717)
828
828
 
829
829
  Iterate over keys in ascending order.
830
830
 
@@ -850,7 +850,7 @@ Iterate over keys in ascending order.
850
850
  last(): [K, V | undefined] | undefined;
851
851
  ```
852
852
 
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)
853
+ Defined in: [data-structures/binary-tree/tree-map.ts:4169](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4169)
854
854
 
855
855
  Largest entry by key.
856
856
 
@@ -882,7 +882,7 @@ Largest entry by key.
882
882
  lower(key): [K, V | undefined] | undefined;
883
883
  ```
884
884
 
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)
885
+ Defined in: [data-structures/binary-tree/tree-map.ts:5054](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5054)
886
886
 
887
887
  Largest entry whose key is < the given key.
888
888
 
@@ -926,7 +926,7 @@ map<MK, MV>(
926
926
  thisArg?): TreeMap<MK, MV>;
927
927
  ```
928
928
 
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)
929
+ Defined in: [data-structures/binary-tree/tree-map.ts:2555](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2555)
930
930
 
931
931
  Create a new TreeMap by mapping each entry to a new `[key, value]` entry.
932
932
 
@@ -983,7 +983,7 @@ Time O(n log n) expected, Space O(n)
983
983
  pollFirst(): [K, V | undefined] | undefined;
984
984
  ```
985
985
 
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)
986
+ Defined in: [data-structures/binary-tree/tree-map.ts:4231](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4231)
987
987
 
988
988
  Remove and return the smallest entry.
989
989
 
@@ -1017,7 +1017,7 @@ Remove and return the smallest entry.
1017
1017
  pollLast(): [K, V | undefined] | undefined;
1018
1018
  ```
1019
1019
 
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)
1020
+ Defined in: [data-structures/binary-tree/tree-map.ts:4295](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4295)
1021
1021
 
1022
1022
  Remove and return the largest entry.
1023
1023
 
@@ -1051,7 +1051,7 @@ Remove and return the largest entry.
1051
1051
  print(): void;
1052
1052
  ```
1053
1053
 
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)
1054
+ Defined in: [data-structures/binary-tree/tree-map.ts:4030](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L4030)
1055
1055
 
1056
1056
  Print a human-friendly representation.
1057
1057
 
@@ -1081,7 +1081,7 @@ Time O(n), Space O(n)
1081
1081
  rangeByRank(start, end): [K, V | undefined][];
1082
1082
  ```
1083
1083
 
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)
1084
+ Defined in: [data-structures/binary-tree/tree-map.ts:5353](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5353)
1085
1085
 
1086
1086
  Returns keys by rank range (0-indexed, inclusive on both ends).
1087
1087
 
@@ -1131,7 +1131,7 @@ Time O(log n + k). Requires `enableOrderStatistic: true`.
1131
1131
  rangeSearch(range, options?): [K, V | undefined][];
1132
1132
  ```
1133
1133
 
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)
1134
+ Defined in: [data-structures/binary-tree/tree-map.ts:5258](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L5258)
1135
1135
 
1136
1136
  Return all entries in a given key range.
1137
1137
 
@@ -1197,7 +1197,7 @@ Inclusive/exclusive bounds (defaults to inclusive).
1197
1197
  reduce<A>(callbackfn, initialValue): A;
1198
1198
  ```
1199
1199
 
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)
1200
+ Defined in: [data-structures/binary-tree/tree-map.ts:2986](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L2986)
1201
1201
 
1202
1202
  Reduce entries into a single accumulator.
1203
1203
 
@@ -1243,7 +1243,7 @@ Time O(n), Space O(1)
1243
1243
  set(key, value): this;
1244
1244
  ```
1245
1245
 
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)
1246
+ Defined in: [data-structures/binary-tree/tree-map.ts:567](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L567)
1247
1247
 
1248
1248
  Set or overwrite a value for a key.
1249
1249
 
@@ -1299,7 +1299,7 @@ Expected time O(log n)
1299
1299
  setMany(entries): boolean[];
1300
1300
  ```
1301
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)
1302
+ Defined in: [data-structures/binary-tree/tree-map.ts:612](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L612)
1303
1303
 
1304
1304
  Set multiple key-value pairs at once.
1305
1305
 
@@ -1340,7 +1340,7 @@ Expected time O(m log n), where m is the number of entries.
1340
1340
  some(callbackfn, thisArg?): boolean;
1341
1341
  ```
1342
1342
 
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)
1343
+ Defined in: [data-structures/binary-tree/tree-map.ts:3402](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3402)
1344
1344
 
1345
1345
  Test whether any entry satisfies a predicate.
1346
1346
 
@@ -1380,7 +1380,7 @@ Time O(n), Space O(1)
1380
1380
  toArray(): [K, V | undefined][];
1381
1381
  ```
1382
1382
 
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)
1383
+ Defined in: [data-structures/binary-tree/tree-map.ts:3825](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L3825)
1384
1384
 
1385
1385
  Materialize the map into an array of `[key, value]` tuples.
1386
1386
 
@@ -1410,7 +1410,7 @@ Time O(n), Space O(n)
1410
1410
  values(): IterableIterator<V | undefined>;
1411
1411
  ```
1412
1412
 
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)
1413
+ Defined in: [data-structures/binary-tree/tree-map.ts:1929](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/tree-map.ts#L1929)
1414
1414
 
1415
1415
  Iterate over values in ascending key order.
1416
1416