data-structure-typed 2.6.0 → 2.6.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.
- package/.github/workflows/ci.yml +7 -2
- package/.github/workflows/release-package.yml +9 -2
- package/CHANGELOG.md +9 -1
- package/dist/cjs/binary-tree.cjs +2927 -23688
- package/dist/cjs/graph.cjs +845 -2634
- package/dist/cjs/hash.cjs +185 -616
- package/dist/cjs/heap.cjs +266 -818
- package/dist/cjs/index.cjs +5116 -31358
- package/dist/cjs/linked-list.cjs +644 -2615
- package/dist/cjs/matrix.cjs +220 -535
- package/dist/cjs/priority-queue.cjs +266 -818
- package/dist/cjs/queue.cjs +637 -2343
- package/dist/cjs/stack.cjs +124 -530
- package/dist/cjs/trie.cjs +145 -592
- package/dist/cjs-legacy/binary-tree.cjs +4352 -25113
- package/dist/cjs-legacy/graph.cjs +847 -2636
- package/dist/cjs-legacy/hash.cjs +181 -612
- package/dist/cjs-legacy/heap.cjs +266 -818
- package/dist/cjs-legacy/index.cjs +6657 -32899
- package/dist/cjs-legacy/linked-list.cjs +640 -2611
- package/dist/cjs-legacy/matrix.cjs +220 -535
- package/dist/cjs-legacy/priority-queue.cjs +266 -818
- package/dist/cjs-legacy/queue.cjs +634 -2340
- package/dist/cjs-legacy/stack.cjs +124 -530
- package/dist/cjs-legacy/trie.cjs +145 -592
- package/dist/esm/binary-tree.mjs +2927 -23688
- package/dist/esm/graph.mjs +845 -2634
- package/dist/esm/hash.mjs +185 -616
- package/dist/esm/heap.mjs +266 -818
- package/dist/esm/index.mjs +5116 -31358
- package/dist/esm/linked-list.mjs +644 -2615
- package/dist/esm/matrix.mjs +220 -535
- package/dist/esm/priority-queue.mjs +266 -818
- package/dist/esm/queue.mjs +637 -2343
- package/dist/esm/stack.mjs +124 -530
- package/dist/esm/trie.mjs +145 -592
- package/dist/esm-legacy/binary-tree.mjs +4352 -25113
- package/dist/esm-legacy/graph.mjs +847 -2636
- package/dist/esm-legacy/hash.mjs +181 -612
- package/dist/esm-legacy/heap.mjs +266 -818
- package/dist/esm-legacy/index.mjs +6657 -32899
- package/dist/esm-legacy/linked-list.mjs +640 -2611
- package/dist/esm-legacy/matrix.mjs +220 -535
- package/dist/esm-legacy/priority-queue.mjs +266 -818
- package/dist/esm-legacy/queue.mjs +634 -2340
- package/dist/esm-legacy/stack.mjs +124 -530
- package/dist/esm-legacy/trie.mjs +145 -592
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +29 -500
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +38 -563
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +230 -1212
- package/dist/types/data-structures/binary-tree/bst.d.ts +124 -1063
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +99 -854
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +62 -314
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +366 -5057
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +277 -4885
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +253 -3929
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +261 -4782
- package/dist/types/data-structures/graph/abstract-graph.d.ts +44 -44
- package/dist/types/data-structures/graph/directed-graph.d.ts +130 -527
- package/dist/types/data-structures/graph/undirected-graph.d.ts +125 -482
- package/dist/types/data-structures/hash/hash-map.d.ts +132 -562
- package/dist/types/data-structures/heap/heap.d.ts +194 -746
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +120 -809
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +121 -733
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +193 -863
- package/dist/types/data-structures/matrix/matrix.d.ts +159 -474
- package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +1 -6
- package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +6 -11
- package/dist/types/data-structures/priority-queue/priority-queue.d.ts +1 -1
- package/dist/types/data-structures/queue/deque.d.ts +196 -804
- package/dist/types/data-structures/queue/queue.d.ts +99 -585
- package/dist/types/data-structures/stack/stack.d.ts +75 -481
- package/dist/types/data-structures/trie/trie.d.ts +98 -584
- package/dist/umd/data-structure-typed.js +6580 -32822
- package/dist/umd/data-structure-typed.min.js +3 -3
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +162 -215
- package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +9 -9
- package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +47 -47
- package/docs-site-docusaurus/docs/api/classes/BST.md +155 -208
- package/docs-site-docusaurus/docs/api/classes/BSTNode.md +7 -7
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -29
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +104 -158
- package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/Deque.md +253 -101
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +60 -80
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +244 -114
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +52 -48
- package/docs-site-docusaurus/docs/api/classes/Heap.md +119 -64
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +84 -14
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +138 -34
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +149 -41
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +172 -92
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +60 -80
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +57 -52
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -62
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +120 -70
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -62
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +125 -75
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +119 -64
- package/docs-site-docusaurus/docs/api/classes/Queue.md +158 -74
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +171 -225
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -22
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +172 -94
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +4 -4
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +98 -75
- package/docs-site-docusaurus/docs/api/classes/Stack.md +112 -50
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +104 -129
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +90 -121
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +298 -107
- package/docs-site-docusaurus/docs/api/classes/Trie.md +116 -58
- package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +59 -77
- package/package.json +45 -46
- package/src/common/error.ts +15 -32
- package/src/common/index.ts +0 -3
- package/src/data-structures/base/iterable-element-base.ts +0 -3
- package/src/data-structures/base/linear-base.ts +2 -36
- package/src/data-structures/binary-tree/avl-tree.ts +31 -529
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -572
- package/src/data-structures/binary-tree/binary-tree.ts +326 -1311
- package/src/data-structures/binary-tree/bst.ts +158 -1082
- package/src/data-structures/binary-tree/red-black-tree.ts +451 -1290
- package/src/data-structures/binary-tree/segment-tree.ts +73 -351
- package/src/data-structures/binary-tree/tree-map.ts +462 -5124
- package/src/data-structures/binary-tree/tree-multi-map.ts +302 -4914
- package/src/data-structures/binary-tree/tree-multi-set.ts +299 -3983
- package/src/data-structures/binary-tree/tree-set.ts +338 -4836
- package/src/data-structures/graph/abstract-graph.ts +98 -167
- package/src/data-structures/graph/directed-graph.ts +137 -562
- package/src/data-structures/graph/map-graph.ts +0 -3
- package/src/data-structures/graph/undirected-graph.ts +132 -511
- package/src/data-structures/hash/hash-map.ts +154 -582
- package/src/data-structures/heap/heap.ts +200 -795
- package/src/data-structures/linked-list/doubly-linked-list.ts +121 -865
- package/src/data-structures/linked-list/singly-linked-list.ts +122 -794
- package/src/data-structures/linked-list/skip-linked-list.ts +211 -918
- package/src/data-structures/matrix/matrix.ts +179 -518
- package/src/data-structures/matrix/navigator.ts +0 -1
- package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
- package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
- package/src/data-structures/priority-queue/priority-queue.ts +1 -2
- package/src/data-structures/queue/deque.ts +214 -882
- package/src/data-structures/queue/queue.ts +102 -625
- package/src/data-structures/stack/stack.ts +76 -505
- package/src/data-structures/trie/trie.ts +98 -628
- package/src/types/common.ts +0 -10
- package/src/types/data-structures/binary-tree/bst.ts +0 -7
- package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
- package/src/types/data-structures/graph/abstract-graph.ts +0 -2
- package/src/types/data-structures/hash/hash-map.ts +0 -3
- package/src/types/data-structures/hash/index.ts +0 -1
- package/src/types/data-structures/matrix/navigator.ts +0 -2
- package/src/types/utils/utils.ts +0 -7
- package/src/types/utils/validate-type.ts +0 -7
- package/src/utils/number.ts +0 -2
- package/src/utils/utils.ts +0 -5
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: SegmentTree\<E\>
|
|
8
8
|
|
|
9
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
9
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:29](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L29)
|
|
10
10
|
|
|
11
11
|
Generic Segment Tree with flat array internals.
|
|
12
12
|
|
|
@@ -43,7 +43,7 @@ minTree.query(0, 4); // 1
|
|
|
43
43
|
iterator: IterableIterator<E>;
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
46
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:328](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L328)
|
|
47
47
|
|
|
48
48
|
Iterates over leaf values in index order.
|
|
49
49
|
|
|
@@ -65,13 +65,11 @@ Iterable.[iterator]
|
|
|
65
65
|
get(index): E;
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
68
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:200](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L200)
|
|
69
69
|
|
|
70
70
|
Get element at index.
|
|
71
71
|
Time: O(1)
|
|
72
72
|
|
|
73
|
-
*
|
|
74
|
-
|
|
75
73
|
#### Parameters
|
|
76
74
|
|
|
77
75
|
##### index
|
|
@@ -99,15 +97,13 @@ Time: O(1)
|
|
|
99
97
|
maxRight(left, predicate): number;
|
|
100
98
|
```
|
|
101
99
|
|
|
102
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
100
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:219](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L219)
|
|
103
101
|
|
|
104
102
|
Find the largest r such that predicate(query(left, r)) is true.
|
|
105
103
|
Returns left-1 if predicate(identity) is false.
|
|
106
104
|
Returns n-1 if predicate holds for the entire range [left, n-1].
|
|
107
105
|
Time: O(log n)
|
|
108
106
|
|
|
109
|
-
*
|
|
110
|
-
|
|
111
107
|
#### Parameters
|
|
112
108
|
|
|
113
109
|
##### left
|
|
@@ -142,15 +138,13 @@ Time: O(log n)
|
|
|
142
138
|
minLeft(right, predicate): number;
|
|
143
139
|
```
|
|
144
140
|
|
|
145
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
141
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:269](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L269)
|
|
146
142
|
|
|
147
143
|
Find the smallest l such that predicate(query(l, right)) is true.
|
|
148
144
|
Returns right+1 if predicate(identity) is false.
|
|
149
145
|
Returns 0 if predicate holds for the entire range [0, right].
|
|
150
146
|
Time: O(log n)
|
|
151
147
|
|
|
152
|
-
*
|
|
153
|
-
|
|
154
148
|
#### Parameters
|
|
155
149
|
|
|
156
150
|
##### right
|
|
@@ -184,13 +178,11 @@ Time: O(log n)
|
|
|
184
178
|
query(start, end): E;
|
|
185
179
|
```
|
|
186
180
|
|
|
187
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
181
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:166](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L166)
|
|
188
182
|
|
|
189
183
|
Range query: returns merger result over [start, end] (inclusive).
|
|
190
184
|
Time: O(log n)
|
|
191
185
|
|
|
192
|
-
*
|
|
193
|
-
|
|
194
186
|
#### Parameters
|
|
195
187
|
|
|
196
188
|
##### start
|
|
@@ -229,13 +221,11 @@ Time: O(log n)
|
|
|
229
221
|
update(index, value): void;
|
|
230
222
|
```
|
|
231
223
|
|
|
232
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
224
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:138](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L138)
|
|
233
225
|
|
|
234
226
|
Point update: set element at index to value.
|
|
235
227
|
Time: O(log n)
|
|
236
228
|
|
|
237
|
-
*
|
|
238
|
-
|
|
239
229
|
#### Parameters
|
|
240
230
|
|
|
241
231
|
##### index
|
|
@@ -279,7 +269,7 @@ Time: O(log n)
|
|
|
279
269
|
static max(elements): SegmentTree<number>;
|
|
280
270
|
```
|
|
281
271
|
|
|
282
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
272
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:110](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L110)
|
|
283
273
|
|
|
284
274
|
Create a max segment tree.
|
|
285
275
|
|
|
@@ -308,12 +298,10 @@ st.query(1, 4); // 5
|
|
|
308
298
|
static min(elements): SegmentTree<number>;
|
|
309
299
|
```
|
|
310
300
|
|
|
311
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
301
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:93](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L93)
|
|
312
302
|
|
|
313
303
|
Create a min segment tree.
|
|
314
304
|
|
|
315
|
-
*
|
|
316
|
-
|
|
317
305
|
#### Parameters
|
|
318
306
|
|
|
319
307
|
##### elements
|
|
@@ -348,7 +336,7 @@ Create a min segment tree.
|
|
|
348
336
|
static sum(elements): SegmentTree<number>;
|
|
349
337
|
```
|
|
350
338
|
|
|
351
|
-
Defined in: [data-structures/binary-tree/segment-tree.ts:
|
|
339
|
+
Defined in: [data-structures/binary-tree/segment-tree.ts:71](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/binary-tree/segment-tree.ts#L71)
|
|
352
340
|
|
|
353
341
|
Create a sum segment tree.
|
|
354
342
|
|