data-structure-typed 2.5.1 → 2.5.2

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 (172) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/README.md +75 -17
  3. package/dist/cjs/binary-tree.cjs +2723 -139
  4. package/dist/cjs/graph.cjs +192 -6
  5. package/dist/cjs/hash.cjs +63 -15
  6. package/dist/cjs/heap.cjs +93 -31
  7. package/dist/cjs/index.cjs +3514 -379
  8. package/dist/cjs/linked-list.cjs +237 -31
  9. package/dist/cjs/matrix.cjs +47 -9
  10. package/dist/cjs/priority-queue.cjs +92 -30
  11. package/dist/cjs/queue.cjs +176 -2
  12. package/dist/cjs/stack.cjs +48 -2
  13. package/dist/cjs/trie.cjs +78 -28
  14. package/dist/cjs-legacy/binary-tree.cjs +2725 -136
  15. package/dist/cjs-legacy/graph.cjs +192 -6
  16. package/dist/cjs-legacy/hash.cjs +63 -15
  17. package/dist/cjs-legacy/heap.cjs +93 -31
  18. package/dist/cjs-legacy/index.cjs +3389 -249
  19. package/dist/cjs-legacy/linked-list.cjs +237 -31
  20. package/dist/cjs-legacy/matrix.cjs +47 -9
  21. package/dist/cjs-legacy/priority-queue.cjs +92 -30
  22. package/dist/cjs-legacy/queue.cjs +176 -2
  23. package/dist/cjs-legacy/stack.cjs +48 -2
  24. package/dist/cjs-legacy/trie.cjs +78 -28
  25. package/dist/esm/binary-tree.mjs +2723 -139
  26. package/dist/esm/graph.mjs +192 -6
  27. package/dist/esm/hash.mjs +63 -15
  28. package/dist/esm/heap.mjs +93 -31
  29. package/dist/esm/index.mjs +3514 -380
  30. package/dist/esm/linked-list.mjs +237 -31
  31. package/dist/esm/matrix.mjs +47 -9
  32. package/dist/esm/priority-queue.mjs +92 -30
  33. package/dist/esm/queue.mjs +176 -2
  34. package/dist/esm/stack.mjs +48 -2
  35. package/dist/esm/trie.mjs +78 -28
  36. package/dist/esm-legacy/binary-tree.mjs +2725 -136
  37. package/dist/esm-legacy/graph.mjs +192 -6
  38. package/dist/esm-legacy/hash.mjs +63 -15
  39. package/dist/esm-legacy/heap.mjs +93 -31
  40. package/dist/esm-legacy/index.mjs +3389 -250
  41. package/dist/esm-legacy/linked-list.mjs +237 -31
  42. package/dist/esm-legacy/matrix.mjs +47 -9
  43. package/dist/esm-legacy/priority-queue.mjs +92 -30
  44. package/dist/esm-legacy/queue.mjs +176 -2
  45. package/dist/esm-legacy/stack.mjs +48 -2
  46. package/dist/esm-legacy/trie.mjs +78 -28
  47. package/dist/types/common/error.d.ts +9 -0
  48. package/dist/types/common/index.d.ts +1 -1
  49. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +48 -0
  50. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +56 -0
  51. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +102 -2
  52. package/dist/types/data-structures/binary-tree/bst.d.ts +195 -0
  53. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +76 -0
  54. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +24 -0
  55. package/dist/types/data-structures/binary-tree/tree-map.d.ts +528 -0
  56. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +531 -6
  57. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +435 -6
  58. package/dist/types/data-structures/binary-tree/tree-set.d.ts +505 -0
  59. package/dist/types/data-structures/graph/directed-graph.d.ts +40 -0
  60. package/dist/types/data-structures/graph/undirected-graph.d.ts +36 -0
  61. package/dist/types/data-structures/hash/hash-map.d.ts +44 -0
  62. package/dist/types/data-structures/heap/heap.d.ts +56 -0
  63. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +68 -0
  64. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +60 -0
  65. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +72 -0
  66. package/dist/types/data-structures/matrix/matrix.d.ts +32 -0
  67. package/dist/types/data-structures/queue/deque.d.ts +60 -0
  68. package/dist/types/data-structures/queue/queue.d.ts +48 -0
  69. package/dist/types/data-structures/stack/stack.d.ts +40 -0
  70. package/dist/types/data-structures/trie/trie.d.ts +48 -0
  71. package/dist/types/types/data-structures/binary-tree/bst.d.ts +1 -0
  72. package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +5 -0
  73. package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +4 -0
  74. package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +4 -0
  75. package/dist/umd/data-structure-typed.js +3404 -265
  76. package/dist/umd/data-structure-typed.min.js +5 -5
  77. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +650 -136
  78. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
  79. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +71 -71
  80. package/docs-site-docusaurus/docs/api/classes/BST.md +591 -129
  81. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
  82. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
  83. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +107 -107
  84. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  85. package/docs-site-docusaurus/docs/api/classes/Deque.md +82 -82
  86. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +82 -82
  87. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +74 -74
  88. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
  89. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
  90. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  91. package/docs-site-docusaurus/docs/api/classes/HashMap.md +47 -47
  92. package/docs-site-docusaurus/docs/api/classes/Heap.md +45 -45
  93. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
  94. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +33 -33
  95. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +50 -50
  96. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +55 -55
  97. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +49 -49
  98. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
  99. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +78 -78
  100. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +82 -82
  101. package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
  102. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +45 -45
  103. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +45 -45
  104. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +45 -45
  105. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +45 -45
  106. package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
  107. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +44 -44
  108. package/docs-site-docusaurus/docs/api/classes/Queue.md +60 -60
  109. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +660 -146
  110. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
  111. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +78 -78
  112. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
  113. package/docs-site-docusaurus/docs/api/classes/SkipList.md +44 -44
  114. package/docs-site-docusaurus/docs/api/classes/Stack.md +39 -39
  115. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +165 -33
  116. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +162 -46
  117. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +161 -32
  118. package/docs-site-docusaurus/docs/api/classes/Trie.md +47 -47
  119. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  120. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +81 -81
  121. package/docs-site-docusaurus/docs/guide/architecture.md +2 -0
  122. package/docs-site-docusaurus/docs/guide/concepts.md +32 -1
  123. package/docs-site-docusaurus/docs/guide/faq.md +180 -0
  124. package/docs-site-docusaurus/docs/guide/guides.md +40 -54
  125. package/docs-site-docusaurus/docs/guide/installation.md +2 -0
  126. package/docs-site-docusaurus/docs/guide/integrations.md +2 -0
  127. package/docs-site-docusaurus/docs/guide/overview.md +7 -0
  128. package/docs-site-docusaurus/docs/guide/performance.md +2 -0
  129. package/docs-site-docusaurus/docs/guide/quick-start.md +31 -0
  130. package/docs-site-docusaurus/docs/guide/use-cases/_category_.json +6 -0
  131. package/docs-site-docusaurus/docs/guide/use-cases/array-sort-alternative.md +158 -0
  132. package/docs-site-docusaurus/docs/guide/use-cases/heap-vs-sorting.md +92 -0
  133. package/docs-site-docusaurus/docs/guide/use-cases/map-vs-treemap.md +151 -0
  134. package/docs-site-docusaurus/docs/guide/use-cases/priority-queue-typescript.md +113 -0
  135. package/docs-site-docusaurus/docs/guide/use-cases/treemap-javascript.md +151 -0
  136. package/docs-site-docusaurus/docusaurus.config.ts +1 -1
  137. package/docs-site-docusaurus/src/pages/index.tsx +51 -2
  138. package/docs-site-docusaurus/static/llms.txt +37 -0
  139. package/llms.txt +37 -0
  140. package/package.json +64 -56
  141. package/src/common/error.ts +19 -1
  142. package/src/common/index.ts +1 -1
  143. package/src/data-structures/base/iterable-element-base.ts +3 -2
  144. package/src/data-structures/binary-tree/avl-tree.ts +47 -0
  145. package/src/data-structures/binary-tree/binary-indexed-tree.ts +46 -4
  146. package/src/data-structures/binary-tree/binary-tree.ts +79 -4
  147. package/src/data-structures/binary-tree/bst.ts +441 -6
  148. package/src/data-structures/binary-tree/red-black-tree.ts +73 -0
  149. package/src/data-structures/binary-tree/segment-tree.ts +18 -0
  150. package/src/data-structures/binary-tree/tree-map.ts +434 -9
  151. package/src/data-structures/binary-tree/tree-multi-map.ts +426 -5
  152. package/src/data-structures/binary-tree/tree-multi-set.ts +350 -6
  153. package/src/data-structures/binary-tree/tree-set.ts +410 -8
  154. package/src/data-structures/graph/abstract-graph.ts +2 -2
  155. package/src/data-structures/graph/directed-graph.ts +30 -0
  156. package/src/data-structures/graph/undirected-graph.ts +27 -0
  157. package/src/data-structures/hash/hash-map.ts +35 -4
  158. package/src/data-structures/heap/heap.ts +46 -4
  159. package/src/data-structures/heap/max-heap.ts +2 -2
  160. package/src/data-structures/linked-list/doubly-linked-list.ts +51 -0
  161. package/src/data-structures/linked-list/singly-linked-list.ts +45 -0
  162. package/src/data-structures/linked-list/skip-linked-list.ts +59 -5
  163. package/src/data-structures/matrix/matrix.ts +33 -9
  164. package/src/data-structures/priority-queue/max-priority-queue.ts +2 -2
  165. package/src/data-structures/queue/deque.ts +45 -0
  166. package/src/data-structures/queue/queue.ts +36 -0
  167. package/src/data-structures/stack/stack.ts +30 -0
  168. package/src/data-structures/trie/trie.ts +38 -2
  169. package/src/types/data-structures/binary-tree/bst.ts +1 -0
  170. package/src/types/data-structures/binary-tree/tree-map.ts +6 -0
  171. package/src/types/data-structures/binary-tree/tree-multi-set.ts +5 -0
  172. package/src/types/data-structures/binary-tree/tree-set.ts +5 -0
@@ -171,6 +171,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
171
171
 
172
172
 
173
173
 
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
174
194
 
175
195
 
176
196
 
@@ -321,6 +341,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
321
341
 
322
342
 
323
343
 
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
324
364
 
325
365
 
326
366
 
@@ -486,6 +526,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
486
526
 
487
527
 
488
528
 
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
489
549
 
490
550
 
491
551
 
@@ -647,6 +707,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
647
707
 
648
708
 
649
709
 
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
650
730
 
651
731
 
652
732
 
@@ -796,6 +876,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
796
876
 
797
877
 
798
878
 
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
799
899
 
800
900
 
801
901
 
@@ -943,6 +1043,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
943
1043
 
944
1044
 
945
1045
 
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
946
1066
 
947
1067
 
948
1068
 
@@ -1091,6 +1211,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1091
1211
 
1092
1212
 
1093
1213
 
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1094
1234
 
1095
1235
 
1096
1236
 
@@ -1239,6 +1379,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1239
1379
 
1240
1380
 
1241
1381
 
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1242
1402
 
1243
1403
 
1244
1404
 
@@ -1388,6 +1548,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1388
1548
 
1389
1549
 
1390
1550
 
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1391
1571
 
1392
1572
 
1393
1573
 
@@ -1539,6 +1719,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1539
1719
 
1540
1720
 
1541
1721
 
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1542
1742
 
1543
1743
 
1544
1744
 
@@ -1689,6 +1889,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1689
1889
 
1690
1890
 
1691
1891
 
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1692
1912
 
1693
1913
 
1694
1914
 
@@ -1837,6 +2057,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1837
2057
 
1838
2058
 
1839
2059
 
2060
+
2061
+
2062
+
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+
1840
2080
 
1841
2081
 
1842
2082
 
@@ -1983,6 +2223,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
1983
2223
 
1984
2224
 
1985
2225
 
2226
+
2227
+
2228
+
2229
+
2230
+
2231
+
2232
+
2233
+
2234
+
2235
+
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+
2244
+
2245
+
1986
2246
 
1987
2247
 
1988
2248
 
@@ -2128,6 +2388,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2128
2388
 
2129
2389
 
2130
2390
 
2391
+
2392
+
2393
+
2394
+
2395
+
2396
+
2397
+
2398
+
2399
+
2400
+
2401
+
2402
+
2403
+
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+
2410
+
2131
2411
 
2132
2412
 
2133
2413
 
@@ -2273,6 +2553,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2273
2553
 
2274
2554
 
2275
2555
 
2556
+
2557
+
2558
+
2559
+
2560
+
2561
+
2562
+
2563
+
2564
+
2565
+
2566
+
2567
+
2568
+
2569
+
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+
2276
2576
 
2277
2577
 
2278
2578
 
@@ -2421,6 +2721,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2421
2721
 
2422
2722
 
2423
2723
 
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+
2740
+
2741
+
2742
+
2743
+
2424
2744
 
2425
2745
 
2426
2746
 
@@ -2568,6 +2888,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2568
2888
 
2569
2889
 
2570
2890
 
2891
+
2892
+
2893
+
2894
+
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+
2903
+
2904
+
2905
+
2906
+
2907
+
2908
+
2909
+
2910
+
2571
2911
 
2572
2912
 
2573
2913
 
@@ -2623,6 +2963,10 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2623
2963
 
2624
2964
 
2625
2965
 
2966
+
2967
+
2968
+
2969
+
2626
2970
 
2627
2971
 
2628
2972
 
@@ -2685,6 +3029,10 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2685
3029
 
2686
3030
 
2687
3031
 
3032
+
3033
+
3034
+
3035
+
2688
3036
 
2689
3037
 
2690
3038
 
@@ -2725,6 +3073,10 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2725
3073
 
2726
3074
 
2727
3075
 
3076
+
3077
+
3078
+
3079
+
2728
3080
 
2729
3081
 
2730
3082
 
@@ -2767,6 +3119,10 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2767
3119
 
2768
3120
 
2769
3121
 
3122
+
3123
+
3124
+
3125
+
2770
3126
 
2771
3127
 
2772
3128
 
@@ -2883,6 +3239,22 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
2883
3239
 
2884
3240
 
2885
3241
 
3242
+
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+
3249
+
3250
+
3251
+
3252
+
3253
+
3254
+
3255
+
3256
+
3257
+
2886
3258
 
2887
3259
 
2888
3260
 
@@ -3021,6 +3393,22 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
3021
3393
 
3022
3394
 
3023
3395
 
3396
+
3397
+
3398
+
3399
+
3400
+
3401
+
3402
+
3403
+
3404
+
3405
+
3406
+
3407
+
3408
+
3409
+
3410
+
3411
+
3024
3412
 
3025
3413
 
3026
3414
 
@@ -3151,6 +3539,22 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
3151
3539
 
3152
3540
 
3153
3541
 
3542
+
3543
+
3544
+
3545
+
3546
+
3547
+
3548
+
3549
+
3550
+
3551
+
3552
+
3553
+
3554
+
3555
+
3556
+
3557
+
3154
3558
 
3155
3559
 
3156
3560
 
@@ -3279,6 +3683,22 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
3279
3683
 
3280
3684
 
3281
3685
 
3686
+
3687
+
3688
+
3689
+
3690
+
3691
+
3692
+
3693
+
3694
+
3695
+
3696
+
3697
+
3698
+
3699
+
3700
+
3701
+
3282
3702
 
3283
3703
 
3284
3704
 
@@ -3410,6 +3830,22 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
3410
3830
 
3411
3831
 
3412
3832
 
3833
+
3834
+
3835
+
3836
+
3837
+
3838
+
3839
+
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+
3846
+
3847
+
3848
+
3413
3849
 
3414
3850
 
3415
3851
 
@@ -3446,6 +3882,55 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
3446
3882
  * console.log(blocklist.has(167772800)); // false;
3447
3883
  */
3448
3884
  rangeSearch(range: [K, K], options?: TreeSetRangeOptions): K[];
3885
+ /**
3886
+ * Returns the element at the k-th position in tree order (0-indexed).
3887
+ * @remarks Time O(log n). Requires `enableOrderStatistic: true`.
3888
+
3889
+
3890
+
3891
+ * @example
3892
+ * // Find k-th element in a TreeSet
3893
+ * const set = new TreeSet<number>([30, 10, 50, 20, 40], { enableOrderStatistic: true });
3894
+ * console.log(set.getByRank(0)); // 10;
3895
+ * console.log(set.getByRank(2)); // 30;
3896
+ * console.log(set.getRank(30)); // 2;
3897
+ */
3898
+ getByRank(k: number): K | undefined;
3899
+ /**
3900
+ * Returns the 0-based rank of a key (number of elements that precede it in tree order).
3901
+ * @remarks Time O(log n). Requires `enableOrderStatistic: true`.
3902
+ * @example
3903
+ * // Get the rank of a key in sorted order
3904
+ * const tree = new TreeSet<number>(
3905
+ * [10, 20, 30, 40, 50],
3906
+ * { enableOrderStatistic: true }
3907
+ * );
3908
+ * console.log(tree.getRank(10)); // 0; // smallest → rank 0
3909
+ * console.log(tree.getRank(30)); // 2; // 2 elements before 30 in tree order
3910
+ * console.log(tree.getRank(50)); // 4; // largest → rank 4
3911
+ * console.log(tree.getRank(25)); // 2;
3912
+ */
3913
+ getRank(key: K): number;
3914
+ /**
3915
+ * Returns elements by rank range (0-indexed, inclusive on both ends).
3916
+ * @remarks Time O(log n + k). Requires `enableOrderStatistic: true`.
3917
+
3918
+ * @example
3919
+ * // Pagination with rangeByRank
3920
+ * const tree = new TreeSet<number>(
3921
+ * [10, 20, 30, 40, 50, 60, 70, 80, 90],
3922
+ * { enableOrderStatistic: true }
3923
+ * );
3924
+ * const pageSize = 3;
3925
+ *
3926
+ * // Page 1
3927
+ * console.log(tree.rangeByRank(0, pageSize - 1)); // [10, 20, 30];
3928
+ * // Page 2
3929
+ * console.log(tree.rangeByRank(pageSize, 2 * pageSize - 1)); // [40, 50, 60];
3930
+ * // Page 3
3931
+ * console.log(tree.rangeByRank(2 * pageSize, 3 * pageSize - 1)); // [70, 80, 90];
3932
+ */
3933
+ rangeByRank(start: number, end: number): K[];
3449
3934
  /**
3450
3935
  * Creates a shallow clone of this set.
3451
3936
  * @remarks Time O(n log n), Space O(n)
@@ -3567,6 +4052,26 @@ export declare class TreeSet<K = any, R = K> implements Iterable<K> {
3567
4052
 
3568
4053
 
3569
4054
 
4055
+
4056
+
4057
+
4058
+
4059
+
4060
+
4061
+
4062
+
4063
+
4064
+
4065
+
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
4074
+
3570
4075
 
3571
4076
 
3572
4077