data-structure-typed 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/.husky/pre-commit +3 -0
  2. package/CHANGELOG.md +3 -1
  3. package/MIGRATION.md +217 -0
  4. package/README.md +80 -8
  5. package/README_CN.md +569 -143
  6. package/SPECIFICATION.md +44 -14
  7. package/SPECIFICATION.zh-CN.md +44 -14
  8. package/dist/cjs/binary-tree.cjs +5841 -1678
  9. package/dist/cjs/graph.cjs +422 -14
  10. package/dist/cjs/hash.cjs +95 -7
  11. package/dist/cjs/heap.cjs +174 -16
  12. package/dist/cjs/index.cjs +7751 -2449
  13. package/dist/cjs/linked-list.cjs +443 -2
  14. package/dist/cjs/matrix.cjs +56 -0
  15. package/dist/cjs/priority-queue.cjs +172 -14
  16. package/dist/cjs/queue.cjs +435 -0
  17. package/dist/cjs/stack.cjs +103 -4
  18. package/dist/cjs/trie.cjs +106 -0
  19. package/dist/cjs-legacy/binary-tree.cjs +5933 -1772
  20. package/dist/cjs-legacy/graph.cjs +422 -14
  21. package/dist/cjs-legacy/hash.cjs +95 -7
  22. package/dist/cjs-legacy/heap.cjs +174 -16
  23. package/dist/cjs-legacy/index.cjs +8154 -2854
  24. package/dist/cjs-legacy/linked-list.cjs +443 -2
  25. package/dist/cjs-legacy/matrix.cjs +56 -0
  26. package/dist/cjs-legacy/priority-queue.cjs +172 -14
  27. package/dist/cjs-legacy/queue.cjs +435 -0
  28. package/dist/cjs-legacy/stack.cjs +103 -4
  29. package/dist/cjs-legacy/trie.cjs +106 -0
  30. package/dist/esm/binary-tree.mjs +5841 -1678
  31. package/dist/esm/graph.mjs +422 -14
  32. package/dist/esm/hash.mjs +95 -7
  33. package/dist/esm/heap.mjs +174 -16
  34. package/dist/esm/index.mjs +7751 -2449
  35. package/dist/esm/linked-list.mjs +443 -2
  36. package/dist/esm/matrix.mjs +56 -0
  37. package/dist/esm/priority-queue.mjs +172 -14
  38. package/dist/esm/queue.mjs +435 -0
  39. package/dist/esm/stack.mjs +103 -4
  40. package/dist/esm/trie.mjs +106 -0
  41. package/dist/esm-legacy/binary-tree.mjs +5933 -1772
  42. package/dist/esm-legacy/graph.mjs +422 -14
  43. package/dist/esm-legacy/hash.mjs +95 -7
  44. package/dist/esm-legacy/heap.mjs +174 -16
  45. package/dist/esm-legacy/index.mjs +8154 -2854
  46. package/dist/esm-legacy/linked-list.mjs +443 -2
  47. package/dist/esm-legacy/matrix.mjs +56 -0
  48. package/dist/esm-legacy/priority-queue.mjs +172 -14
  49. package/dist/esm-legacy/queue.mjs +435 -0
  50. package/dist/esm-legacy/stack.mjs +103 -4
  51. package/dist/esm-legacy/trie.mjs +106 -0
  52. package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
  53. package/dist/types/data-structures/base/linear-base.d.ts +6 -0
  54. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +86 -2
  55. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +98 -0
  56. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +191 -15
  57. package/dist/types/data-structures/binary-tree/bst.d.ts +171 -3
  58. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +136 -8
  59. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +42 -0
  60. package/dist/types/data-structures/binary-tree/tree-map.d.ts +1061 -167
  61. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1232 -355
  62. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +916 -194
  63. package/dist/types/data-structures/binary-tree/tree-set.d.ts +1078 -141
  64. package/dist/types/data-structures/graph/directed-graph.d.ts +70 -0
  65. package/dist/types/data-structures/graph/undirected-graph.d.ts +63 -0
  66. package/dist/types/data-structures/hash/hash-map.d.ts +84 -6
  67. package/dist/types/data-structures/heap/heap.d.ts +140 -12
  68. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +150 -2
  69. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +106 -1
  70. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +126 -0
  71. package/dist/types/data-structures/matrix/matrix.d.ts +56 -0
  72. package/dist/types/data-structures/queue/deque.d.ts +171 -0
  73. package/dist/types/data-structures/queue/queue.d.ts +97 -0
  74. package/dist/types/data-structures/stack/stack.d.ts +72 -2
  75. package/dist/types/data-structures/trie/trie.d.ts +84 -0
  76. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  77. package/dist/umd/data-structure-typed.js +7784 -2484
  78. package/dist/umd/data-structure-typed.min.js +4 -4
  79. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +188 -200
  80. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
  81. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +62 -62
  82. package/docs-site-docusaurus/docs/api/classes/BST.md +183 -195
  83. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
  84. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
  85. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +143 -155
  86. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  87. package/docs-site-docusaurus/docs/api/classes/Deque.md +99 -85
  88. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +73 -73
  89. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +100 -70
  90. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
  91. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
  92. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  93. package/docs-site-docusaurus/docs/api/classes/HashMap.md +38 -38
  94. package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
  95. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
  96. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +23 -23
  97. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +48 -48
  98. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +52 -52
  99. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +46 -42
  100. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
  101. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +74 -74
  102. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +73 -73
  103. package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
  104. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
  105. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
  106. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
  107. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
  108. package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
  109. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
  110. package/docs-site-docusaurus/docs/api/classes/Queue.md +111 -59
  111. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +200 -212
  112. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
  113. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +75 -75
  114. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
  115. package/docs-site-docusaurus/docs/api/classes/SkipList.md +37 -37
  116. package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
  117. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +107 -36
  118. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +43 -43
  119. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +106 -35
  120. package/docs-site-docusaurus/docs/api/classes/Trie.md +43 -43
  121. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  122. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +72 -72
  123. package/docs-site-docusaurus/docs/guide/architecture.md +75 -7
  124. package/docs-site-docusaurus/docs/guide/concepts.md +53 -34
  125. package/docs-site-docusaurus/docs/guide/faq.md +53 -0
  126. package/docs-site-docusaurus/docs/guide/guides.md +8 -9
  127. package/docs-site-docusaurus/docs/guide/integrations.md +74 -177
  128. package/docs-site-docusaurus/docs/guide/overview.md +131 -17
  129. package/docs-site-docusaurus/src/pages/index.tsx +4 -0
  130. package/docs-site-docusaurus/typedoc.json +1 -0
  131. package/jest.integration.config.js +1 -2
  132. package/package.json +10 -7
  133. package/src/data-structures/base/iterable-element-base.ts +32 -0
  134. package/src/data-structures/base/linear-base.ts +11 -0
  135. package/src/data-structures/binary-tree/avl-tree.ts +88 -5
  136. package/src/data-structures/binary-tree/binary-indexed-tree.ts +98 -0
  137. package/src/data-structures/binary-tree/binary-tree.ts +242 -81
  138. package/src/data-structures/binary-tree/bst.ts +173 -7
  139. package/src/data-structures/binary-tree/red-black-tree.ts +139 -15
  140. package/src/data-structures/binary-tree/segment-tree.ts +42 -0
  141. package/src/data-structures/binary-tree/tree-map.ts +948 -36
  142. package/src/data-structures/binary-tree/tree-multi-map.ts +893 -13
  143. package/src/data-structures/binary-tree/tree-multi-set.ts +761 -33
  144. package/src/data-structures/binary-tree/tree-set.ts +1260 -251
  145. package/src/data-structures/graph/directed-graph.ts +71 -1
  146. package/src/data-structures/graph/undirected-graph.ts +64 -1
  147. package/src/data-structures/hash/hash-map.ts +100 -12
  148. package/src/data-structures/heap/heap.ts +149 -19
  149. package/src/data-structures/linked-list/doubly-linked-list.ts +178 -2
  150. package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
  151. package/src/data-structures/linked-list/skip-linked-list.ts +126 -0
  152. package/src/data-structures/matrix/matrix.ts +56 -0
  153. package/src/data-structures/queue/deque.ts +187 -0
  154. package/src/data-structures/queue/queue.ts +109 -0
  155. package/src/data-structures/stack/stack.ts +75 -5
  156. package/src/data-structures/trie/trie.ts +84 -0
  157. package/src/interfaces/binary-tree.ts +1 -9
  158. package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
  159. package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
  160. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
  161. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
  162. package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +0 -347
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: BSTNode\<K, V\>
8
8
 
9
- Defined in: [data-structures/binary-tree/bst.ts:37](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L37)
9
+ Defined in: [data-structures/binary-tree/bst.ts:36](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L36)
10
10
 
11
11
  Represents a Node in a Binary Search Tree.
12
12
 
@@ -32,7 +32,7 @@ The type of the value.
32
32
  new BSTNode<K, V>(key, value?): BSTNode<K, V>;
33
33
  ```
34
34
 
35
- Defined in: [data-structures/binary-tree/bst.ts:49](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L49)
35
+ Defined in: [data-structures/binary-tree/bst.ts:48](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L48)
36
36
 
37
37
  Creates an instance of BSTNode.
38
38
 
@@ -68,7 +68,7 @@ Time O(1), Space O(1)
68
68
  get color(): RBTNColor;
69
69
  ```
70
70
 
71
- Defined in: [data-structures/binary-tree/bst.ts:133](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L133)
71
+ Defined in: [data-structures/binary-tree/bst.ts:132](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L132)
72
72
 
73
73
  Gets the color of the node (used in Red-Black trees).
74
74
 
@@ -88,7 +88,7 @@ The node's color.
88
88
  set color(value): void;
89
89
  ```
90
90
 
91
- Defined in: [data-structures/binary-tree/bst.ts:144](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L144)
91
+ Defined in: [data-structures/binary-tree/bst.ts:143](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L143)
92
92
 
93
93
  Sets the color of the node.
94
94
 
@@ -118,7 +118,7 @@ The new color.
118
118
  get count(): number;
119
119
  ```
120
120
 
121
- Defined in: [data-structures/binary-tree/bst.ts:157](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L157)
121
+ Defined in: [data-structures/binary-tree/bst.ts:156](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L156)
122
122
 
123
123
  Gets the count of nodes in the subtree rooted at this node (used in order-statistic trees).
124
124
 
@@ -138,7 +138,7 @@ The subtree node count.
138
138
  set count(value): void;
139
139
  ```
140
140
 
141
- Defined in: [data-structures/binary-tree/bst.ts:168](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L168)
141
+ Defined in: [data-structures/binary-tree/bst.ts:167](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L167)
142
142
 
143
143
  Sets the count of nodes in the subtree.
144
144
 
@@ -168,7 +168,7 @@ The new count.
168
168
  get familyPosition(): FamilyPosition;
169
169
  ```
170
170
 
171
- Defined in: [data-structures/binary-tree/bst.ts:178](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L178)
171
+ Defined in: [data-structures/binary-tree/bst.ts:177](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L177)
172
172
 
173
173
  Gets the position of the node relative to its parent.
174
174
 
@@ -192,7 +192,7 @@ The family position (e.g., 'ROOT', 'LEFT', 'RIGHT').
192
192
  get height(): number;
193
193
  ```
194
194
 
195
- Defined in: [data-structures/binary-tree/bst.ts:109](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L109)
195
+ Defined in: [data-structures/binary-tree/bst.ts:108](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L108)
196
196
 
197
197
  Gets the height of the node (used in self-balancing trees).
198
198
 
@@ -212,7 +212,7 @@ The height.
212
212
  set height(value): void;
213
213
  ```
214
214
 
215
- Defined in: [data-structures/binary-tree/bst.ts:120](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L120)
215
+ Defined in: [data-structures/binary-tree/bst.ts:119](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L119)
216
216
 
217
217
  Sets the height of the node.
218
218
 
@@ -242,7 +242,7 @@ The new height.
242
242
  get left(): BSTNode<K, V> | null | undefined;
243
243
  ```
244
244
 
245
- Defined in: [data-structures/binary-tree/bst.ts:62](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L62)
245
+ Defined in: [data-structures/binary-tree/bst.ts:61](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L61)
246
246
 
247
247
  Gets the left child of the node.
248
248
 
@@ -262,7 +262,7 @@ The left child.
262
262
  set left(v): void;
263
263
  ```
264
264
 
265
- Defined in: [data-structures/binary-tree/bst.ts:72](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L72)
265
+ Defined in: [data-structures/binary-tree/bst.ts:71](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L71)
266
266
 
267
267
  Sets the left child of the node and updates its parent reference.
268
268
 
@@ -292,7 +292,7 @@ The node to set as the left child.
292
292
  get right(): BSTNode<K, V> | null | undefined;
293
293
  ```
294
294
 
295
- Defined in: [data-structures/binary-tree/bst.ts:85](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L85)
295
+ Defined in: [data-structures/binary-tree/bst.ts:84](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L84)
296
296
 
297
297
  Gets the right child of the node.
298
298
 
@@ -312,7 +312,7 @@ The right child.
312
312
  set right(v): void;
313
313
  ```
314
314
 
315
- Defined in: [data-structures/binary-tree/bst.ts:95](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/bst.ts#L95)
315
+ Defined in: [data-structures/binary-tree/bst.ts:94](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/bst.ts#L94)
316
316
 
317
317
  Sets the right child of the node and updates its parent reference.
318
318
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: BinaryIndexedTree
8
8
 
9
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:30](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L30)
9
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:30](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L30)
10
10
 
11
11
  Binary Indexed Tree (Fenwick Tree).
12
12
 
@@ -40,7 +40,7 @@ bit.get(1); // point value at index 1 = 2
40
40
  new BinaryIndexedTree(sizeOrElements): BinaryIndexedTree;
41
41
  ```
42
42
 
43
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:38](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L38)
43
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:38](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L38)
44
44
 
45
45
  Construct a BIT of given size (all zeros), or from an initial values array.
46
46
 
@@ -64,7 +64,7 @@ number of elements, or an array of initial values
64
64
  iterator: IterableIterator<number>;
65
65
  ```
66
66
 
67
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:648](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L648)
67
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:704](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L704)
68
68
 
69
69
  Iterate over point values in index order.
70
70
 
@@ -86,7 +86,7 @@ Iterable.[iterator]
86
86
  get(index): number;
87
87
  ```
88
88
 
89
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:281](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L281)
89
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:305](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L305)
90
90
 
91
91
  Get the point value at index (0-based).
92
92
  Time: O(log n)
@@ -120,7 +120,7 @@ Time: O(log n)
120
120
  lowerBound(sum): number;
121
121
  ```
122
122
 
123
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:516](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L516)
123
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:564](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L564)
124
124
 
125
125
  Find the smallest index i such that prefix sum [0..i] >= sum.
126
126
  Requires all values to be non-negative (behavior undefined otherwise).
@@ -156,7 +156,7 @@ Time: O(log n)
156
156
  query(index): number;
157
157
  ```
158
158
 
159
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:357](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L357)
159
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:389](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L389)
160
160
 
161
161
  Prefix sum query: returns sum of elements [0..index] (inclusive, 0-based).
162
162
  Time: O(log n)
@@ -189,7 +189,7 @@ Time: O(log n)
189
189
  queryRange(start, end): number;
190
190
  ```
191
191
 
192
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:432](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L432)
192
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:472](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L472)
193
193
 
194
194
  Range sum query: returns sum of elements [start..end] (inclusive, 0-based).
195
195
  Time: O(log n)
@@ -226,7 +226,7 @@ Time: O(log n)
226
226
  set(index, value): void;
227
227
  ```
228
228
 
229
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:204](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L204)
229
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:220](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L220)
230
230
 
231
231
  Point set: set the value at index to an absolute value (0-based).
232
232
  Time: O(log n)
@@ -264,7 +264,7 @@ Time: O(log n)
264
264
  toArray(): number[];
265
265
  ```
266
266
 
267
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:637](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L637)
267
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:693](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L693)
268
268
 
269
269
  Returns the point values as a plain array.
270
270
  Time: O(n log n)
@@ -291,7 +291,7 @@ Time: O(n log n)
291
291
  update(index, delta): void;
292
292
  ```
293
293
 
294
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:127](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L127)
294
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:135](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L135)
295
295
 
296
296
  Point update: add delta to the value at index (0-based).
297
297
  Time: O(log n)
@@ -329,7 +329,7 @@ Time: O(log n)
329
329
  upperBound(sum): number;
330
330
  ```
331
331
 
332
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:569](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L569)
332
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:621](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L621)
333
333
 
334
334
  Find the smallest index i such that prefix sum [0..i] > sum.
335
335
  Requires all values to be non-negative (behavior undefined otherwise).
@@ -368,7 +368,7 @@ Time: O(log n)
368
368
  protected _highBit(n): number;
369
369
  ```
370
370
 
371
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:718](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L718)
371
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:774](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L774)
372
372
 
373
373
  Returns highest power of 2 <= n.
374
374
 
@@ -390,7 +390,7 @@ Returns highest power of 2 <= n.
390
390
  protected _pointQuery(pos): number;
391
391
  ```
392
392
 
393
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:697](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L697)
393
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:753](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L753)
394
394
 
395
395
  1-based point query: get exact value at pos.
396
396
 
@@ -412,7 +412,7 @@ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:697](https://git
412
412
  protected _pointUpdate(pos, delta): void;
413
413
  ```
414
414
 
415
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:689](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L689)
415
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:745](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L745)
416
416
 
417
417
  1-based point update: add delta to position pos.
418
418
 
@@ -438,7 +438,7 @@ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:689](https://git
438
438
  protected _prefixSum(pos): number;
439
439
  ```
440
440
 
441
- Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:679](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/binary-tree/binary-indexed-tree.ts#L679)
441
+ Defined in: [data-structures/binary-tree/binary-indexed-tree.ts:735](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/binary-indexed-tree.ts#L735)
442
442
 
443
443
  1-based prefix sum up to pos (inclusive).
444
444