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.
- package/.husky/pre-commit +3 -0
- package/CHANGELOG.md +3 -1
- package/MIGRATION.md +217 -0
- package/README.md +80 -8
- package/README_CN.md +569 -143
- package/SPECIFICATION.md +44 -14
- package/SPECIFICATION.zh-CN.md +44 -14
- package/dist/cjs/binary-tree.cjs +5841 -1678
- package/dist/cjs/graph.cjs +422 -14
- package/dist/cjs/hash.cjs +95 -7
- package/dist/cjs/heap.cjs +174 -16
- package/dist/cjs/index.cjs +7751 -2449
- package/dist/cjs/linked-list.cjs +443 -2
- package/dist/cjs/matrix.cjs +56 -0
- package/dist/cjs/priority-queue.cjs +172 -14
- package/dist/cjs/queue.cjs +435 -0
- package/dist/cjs/stack.cjs +103 -4
- package/dist/cjs/trie.cjs +106 -0
- package/dist/cjs-legacy/binary-tree.cjs +5933 -1772
- package/dist/cjs-legacy/graph.cjs +422 -14
- package/dist/cjs-legacy/hash.cjs +95 -7
- package/dist/cjs-legacy/heap.cjs +174 -16
- package/dist/cjs-legacy/index.cjs +8154 -2854
- package/dist/cjs-legacy/linked-list.cjs +443 -2
- package/dist/cjs-legacy/matrix.cjs +56 -0
- package/dist/cjs-legacy/priority-queue.cjs +172 -14
- package/dist/cjs-legacy/queue.cjs +435 -0
- package/dist/cjs-legacy/stack.cjs +103 -4
- package/dist/cjs-legacy/trie.cjs +106 -0
- package/dist/esm/binary-tree.mjs +5841 -1678
- package/dist/esm/graph.mjs +422 -14
- package/dist/esm/hash.mjs +95 -7
- package/dist/esm/heap.mjs +174 -16
- package/dist/esm/index.mjs +7751 -2449
- package/dist/esm/linked-list.mjs +443 -2
- package/dist/esm/matrix.mjs +56 -0
- package/dist/esm/priority-queue.mjs +172 -14
- package/dist/esm/queue.mjs +435 -0
- package/dist/esm/stack.mjs +103 -4
- package/dist/esm/trie.mjs +106 -0
- package/dist/esm-legacy/binary-tree.mjs +5933 -1772
- package/dist/esm-legacy/graph.mjs +422 -14
- package/dist/esm-legacy/hash.mjs +95 -7
- package/dist/esm-legacy/heap.mjs +174 -16
- package/dist/esm-legacy/index.mjs +8154 -2854
- package/dist/esm-legacy/linked-list.mjs +443 -2
- package/dist/esm-legacy/matrix.mjs +56 -0
- package/dist/esm-legacy/priority-queue.mjs +172 -14
- package/dist/esm-legacy/queue.mjs +435 -0
- package/dist/esm-legacy/stack.mjs +103 -4
- package/dist/esm-legacy/trie.mjs +106 -0
- package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
- package/dist/types/data-structures/base/linear-base.d.ts +6 -0
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +86 -2
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +98 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +191 -15
- package/dist/types/data-structures/binary-tree/bst.d.ts +171 -3
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +136 -8
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +42 -0
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +1061 -167
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1232 -355
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +916 -194
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +1078 -141
- package/dist/types/data-structures/graph/directed-graph.d.ts +70 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +63 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +84 -6
- package/dist/types/data-structures/heap/heap.d.ts +140 -12
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +150 -2
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +106 -1
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +126 -0
- package/dist/types/data-structures/matrix/matrix.d.ts +56 -0
- package/dist/types/data-structures/queue/deque.d.ts +171 -0
- package/dist/types/data-structures/queue/queue.d.ts +97 -0
- package/dist/types/data-structures/stack/stack.d.ts +72 -2
- package/dist/types/data-structures/trie/trie.d.ts +84 -0
- package/dist/types/interfaces/binary-tree.d.ts +2 -3
- package/dist/umd/data-structure-typed.js +7784 -2484
- package/dist/umd/data-structure-typed.min.js +4 -4
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +188 -200
- package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
- package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +62 -62
- package/docs-site-docusaurus/docs/api/classes/BST.md +183 -195
- package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +143 -155
- package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/Deque.md +99 -85
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +73 -73
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +100 -70
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +38 -38
- package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
- package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +48 -48
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +52 -52
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +46 -42
- package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +74 -74
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +73 -73
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
- package/docs-site-docusaurus/docs/api/classes/Queue.md +111 -59
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +200 -212
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +75 -75
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +37 -37
- package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +107 -36
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +43 -43
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +106 -35
- package/docs-site-docusaurus/docs/api/classes/Trie.md +43 -43
- package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +72 -72
- package/docs-site-docusaurus/docs/guide/architecture.md +75 -7
- package/docs-site-docusaurus/docs/guide/concepts.md +53 -34
- package/docs-site-docusaurus/docs/guide/faq.md +53 -0
- package/docs-site-docusaurus/docs/guide/guides.md +8 -9
- package/docs-site-docusaurus/docs/guide/integrations.md +74 -177
- package/docs-site-docusaurus/docs/guide/overview.md +131 -17
- package/docs-site-docusaurus/src/pages/index.tsx +4 -0
- package/docs-site-docusaurus/typedoc.json +1 -0
- package/jest.integration.config.js +1 -2
- package/package.json +10 -7
- package/src/data-structures/base/iterable-element-base.ts +32 -0
- package/src/data-structures/base/linear-base.ts +11 -0
- package/src/data-structures/binary-tree/avl-tree.ts +88 -5
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +98 -0
- package/src/data-structures/binary-tree/binary-tree.ts +242 -81
- package/src/data-structures/binary-tree/bst.ts +173 -7
- package/src/data-structures/binary-tree/red-black-tree.ts +139 -15
- package/src/data-structures/binary-tree/segment-tree.ts +42 -0
- package/src/data-structures/binary-tree/tree-map.ts +948 -36
- package/src/data-structures/binary-tree/tree-multi-map.ts +893 -13
- package/src/data-structures/binary-tree/tree-multi-set.ts +761 -33
- package/src/data-structures/binary-tree/tree-set.ts +1260 -251
- package/src/data-structures/graph/directed-graph.ts +71 -1
- package/src/data-structures/graph/undirected-graph.ts +64 -1
- package/src/data-structures/hash/hash-map.ts +100 -12
- package/src/data-structures/heap/heap.ts +149 -19
- package/src/data-structures/linked-list/doubly-linked-list.ts +178 -2
- package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
- package/src/data-structures/linked-list/skip-linked-list.ts +126 -0
- package/src/data-structures/matrix/matrix.ts +56 -0
- package/src/data-structures/queue/deque.ts +187 -0
- package/src/data-structures/queue/queue.ts +109 -0
- package/src/data-structures/stack/stack.ts +75 -5
- package/src/data-structures/trie/trie.ts +84 -0
- package/src/interfaces/binary-tree.ts +1 -9
- package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
- package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
- package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +0 -347
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Abstract Class: LinearLinkedBase\<E, R, NODE\>
|
|
8
8
|
|
|
9
|
-
Defined in: [data-structures/base/linear-base.ts:402](https://github.com/zrwusa/data-structure-typed/blob/
|
|
9
|
+
Defined in: [data-structures/base/linear-base.ts:402](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L402)
|
|
10
10
|
|
|
11
11
|
Linked-list specialized linear container.
|
|
12
12
|
|
|
@@ -53,7 +53,7 @@ Linked node type.
|
|
|
53
53
|
get abstract length(): number;
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
Defined in: [data-structures/base/linear-base.ts:91](https://github.com/zrwusa/data-structure-typed/blob/
|
|
56
|
+
Defined in: [data-structures/base/linear-base.ts:91](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L91)
|
|
57
57
|
|
|
58
58
|
Element count.
|
|
59
59
|
|
|
@@ -81,7 +81,7 @@ Number of elements.
|
|
|
81
81
|
get maxLen(): number;
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
Defined in: [data-structures/base/linear-base.ts:100](https://github.com/zrwusa/data-structure-typed/blob/
|
|
84
|
+
Defined in: [data-structures/base/linear-base.ts:100](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L100)
|
|
85
85
|
|
|
86
86
|
Upper bound for length (if positive), or `-1` when unbounded.
|
|
87
87
|
|
|
@@ -109,7 +109,7 @@ Maximum allowed length.
|
|
|
109
109
|
get toElementFn(): ((rawElement) => E) | undefined;
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
Defined in: [data-structures/base/iterable-element-base.ts:48](https://github.com/zrwusa/data-structure-typed/blob/
|
|
112
|
+
Defined in: [data-structures/base/iterable-element-base.ts:48](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L48)
|
|
113
113
|
|
|
114
114
|
Exposes the current `toElementFn`, if configured.
|
|
115
115
|
|
|
@@ -135,7 +135,7 @@ The converter function or `undefined` when not set.
|
|
|
135
135
|
iterator: IterableIterator<E>;
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
-
Defined in: [data-structures/base/iterable-element-base.ts:61](https://github.com/zrwusa/data-structure-typed/blob/
|
|
138
|
+
Defined in: [data-structures/base/iterable-element-base.ts:61](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L61)
|
|
139
139
|
|
|
140
140
|
Returns an iterator over the structure's elements.
|
|
141
141
|
|
|
@@ -169,7 +169,7 @@ Producing the iterator is O(1); consuming the entire iterator is Time O(n) with
|
|
|
169
169
|
abstract addAfter(existingElementOrNode, newElementOrNode): boolean;
|
|
170
170
|
```
|
|
171
171
|
|
|
172
|
-
Defined in: [data-structures/base/linear-base.ts:609](https://github.com/zrwusa/data-structure-typed/blob/
|
|
172
|
+
Defined in: [data-structures/base/linear-base.ts:609](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L609)
|
|
173
173
|
|
|
174
174
|
Insert new element/node after an existing node.
|
|
175
175
|
|
|
@@ -205,7 +205,7 @@ Time O(1)~O(n) depending on reference access, Space O(1)
|
|
|
205
205
|
abstract addAt(index, newElementOrNode): boolean;
|
|
206
206
|
```
|
|
207
207
|
|
|
208
|
-
Defined in: [data-structures/base/linear-base.ts:377](https://github.com/zrwusa/data-structure-typed/blob/
|
|
208
|
+
Defined in: [data-structures/base/linear-base.ts:377](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L377)
|
|
209
209
|
|
|
210
210
|
Insert an element/node at a position.
|
|
211
211
|
|
|
@@ -245,7 +245,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
245
245
|
abstract addBefore(existingElementOrNode, newElementOrNode): boolean;
|
|
246
246
|
```
|
|
247
247
|
|
|
248
|
-
Defined in: [data-structures/base/linear-base.ts:600](https://github.com/zrwusa/data-structure-typed/blob/
|
|
248
|
+
Defined in: [data-structures/base/linear-base.ts:600](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L600)
|
|
249
249
|
|
|
250
250
|
Insert new element/node before an existing node.
|
|
251
251
|
|
|
@@ -281,7 +281,7 @@ Time O(1)~O(n) depending on reference access, Space O(1)
|
|
|
281
281
|
abstract at(index): E | undefined;
|
|
282
282
|
```
|
|
283
283
|
|
|
284
|
-
Defined in: [data-structures/base/linear-base.ts:360](https://github.com/zrwusa/data-structure-typed/blob/
|
|
284
|
+
Defined in: [data-structures/base/linear-base.ts:360](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L360)
|
|
285
285
|
|
|
286
286
|
Get element at an index.
|
|
287
287
|
|
|
@@ -315,7 +315,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
315
315
|
abstract clear(): void;
|
|
316
316
|
```
|
|
317
317
|
|
|
318
|
-
Defined in: [data-structures/base/iterable-element-base.ts:289](https://github.com/zrwusa/data-structure-typed/blob/
|
|
318
|
+
Defined in: [data-structures/base/iterable-element-base.ts:289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L289)
|
|
319
319
|
|
|
320
320
|
Removes all elements from the structure.
|
|
321
321
|
|
|
@@ -341,7 +341,7 @@ Expected Time O(1) or O(n) depending on the implementation; Space O(1).
|
|
|
341
341
|
abstract clone(): this;
|
|
342
342
|
```
|
|
343
343
|
|
|
344
|
-
Defined in: [data-structures/base/linear-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/
|
|
344
|
+
Defined in: [data-structures/base/linear-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L321)
|
|
345
345
|
|
|
346
346
|
Deep clone while preserving concrete subtype.
|
|
347
347
|
|
|
@@ -367,7 +367,7 @@ Time O(n), Space O(n)
|
|
|
367
367
|
concat(...items): this;
|
|
368
368
|
```
|
|
369
369
|
|
|
370
|
-
Defined in: [data-structures/base/linear-base.ts:473](https://github.com/zrwusa/data-structure-typed/blob/
|
|
370
|
+
Defined in: [data-structures/base/linear-base.ts:473](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L473)
|
|
371
371
|
|
|
372
372
|
Concatenate lists/elements preserving order.
|
|
373
373
|
|
|
@@ -403,7 +403,7 @@ Time O(sum(length)), Space O(sum(length))
|
|
|
403
403
|
abstract delete(elementOrNode): boolean;
|
|
404
404
|
```
|
|
405
405
|
|
|
406
|
-
Defined in: [data-structures/base/linear-base.ts:591](https://github.com/zrwusa/data-structure-typed/blob/
|
|
406
|
+
Defined in: [data-structures/base/linear-base.ts:591](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L591)
|
|
407
407
|
|
|
408
408
|
Delete by element or node in a linked list.
|
|
409
409
|
|
|
@@ -437,7 +437,7 @@ Time O(1)~O(n) depending on availability of links, Space O(1)
|
|
|
437
437
|
abstract deleteAt(pos): E | undefined;
|
|
438
438
|
```
|
|
439
439
|
|
|
440
|
-
Defined in: [data-structures/base/linear-base.ts:368](https://github.com/zrwusa/data-structure-typed/blob/
|
|
440
|
+
Defined in: [data-structures/base/linear-base.ts:368](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L368)
|
|
441
441
|
|
|
442
442
|
Remove element at a position.
|
|
443
443
|
|
|
@@ -471,7 +471,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
471
471
|
every(predicate, thisArg?): boolean;
|
|
472
472
|
```
|
|
473
473
|
|
|
474
|
-
Defined in: [data-structures/base/iterable-element-base.ts:87](https://github.com/zrwusa/data-structure-typed/blob/
|
|
474
|
+
Defined in: [data-structures/base/iterable-element-base.ts:87](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L87)
|
|
475
475
|
|
|
476
476
|
Tests whether all elements satisfy the predicate.
|
|
477
477
|
|
|
@@ -514,7 +514,7 @@ fill(
|
|
|
514
514
|
end?): this;
|
|
515
515
|
```
|
|
516
516
|
|
|
517
|
-
Defined in: [data-structures/base/linear-base.ts:292](https://github.com/zrwusa/data-structure-typed/blob/
|
|
517
|
+
Defined in: [data-structures/base/linear-base.ts:292](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L292)
|
|
518
518
|
|
|
519
519
|
Fill a range with a value.
|
|
520
520
|
|
|
@@ -560,7 +560,7 @@ Time O(n), Space O(1)
|
|
|
560
560
|
abstract filter(predicate, thisArg?): this;
|
|
561
561
|
```
|
|
562
562
|
|
|
563
|
-
Defined in: [data-structures/base/iterable-element-base.ts:341](https://github.com/zrwusa/data-structure-typed/blob/
|
|
563
|
+
Defined in: [data-structures/base/iterable-element-base.ts:341](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L341)
|
|
564
564
|
|
|
565
565
|
Filters elements using the provided predicate and returns the same concrete structure type.
|
|
566
566
|
|
|
@@ -602,7 +602,7 @@ Time O(n), Space O(k) where `k` is the number of kept elements.
|
|
|
602
602
|
find<S>(predicate, thisArg?): S | undefined;
|
|
603
603
|
```
|
|
604
604
|
|
|
605
|
-
Defined in: [data-structures/base/iterable-element-base.ts:163](https://github.com/zrwusa/data-structure-typed/blob/
|
|
605
|
+
Defined in: [data-structures/base/iterable-element-base.ts:163](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L163)
|
|
606
606
|
|
|
607
607
|
Finds the first element that satisfies the predicate and returns it.
|
|
608
608
|
|
|
@@ -648,7 +648,7 @@ Time O(n) in the worst case; may exit early on the first match. Space O(1).
|
|
|
648
648
|
find(predicate, thisArg?): E | undefined;
|
|
649
649
|
```
|
|
650
650
|
|
|
651
|
-
Defined in: [data-structures/base/iterable-element-base.ts:164](https://github.com/zrwusa/data-structure-typed/blob/
|
|
651
|
+
Defined in: [data-structures/base/iterable-element-base.ts:164](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L164)
|
|
652
652
|
|
|
653
653
|
Finds the first element that satisfies the predicate and returns it.
|
|
654
654
|
|
|
@@ -690,7 +690,7 @@ Time O(n) in the worst case; may exit early on the first match. Space O(1).
|
|
|
690
690
|
findIndex(predicate, thisArg?): number;
|
|
691
691
|
```
|
|
692
692
|
|
|
693
|
-
Defined in: [data-structures/base/linear-base.ts:151](https://github.com/zrwusa/data-structure-typed/blob/
|
|
693
|
+
Defined in: [data-structures/base/linear-base.ts:151](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L151)
|
|
694
694
|
|
|
695
695
|
Find the first index matching a predicate.
|
|
696
696
|
|
|
@@ -730,7 +730,7 @@ Time O(n), Space O(1)
|
|
|
730
730
|
forEach(callbackfn, thisArg?): void;
|
|
731
731
|
```
|
|
732
732
|
|
|
733
|
-
Defined in: [data-structures/base/iterable-element-base.ts:133](https://github.com/zrwusa/data-structure-typed/blob/
|
|
733
|
+
Defined in: [data-structures/base/iterable-element-base.ts:133](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L133)
|
|
734
734
|
|
|
735
735
|
Invokes a callback for each element in iteration order.
|
|
736
736
|
|
|
@@ -770,7 +770,7 @@ Time O(n), Space O(1).
|
|
|
770
770
|
abstract getNodeAt(index): NODE | undefined;
|
|
771
771
|
```
|
|
772
772
|
|
|
773
|
-
Defined in: [data-structures/base/linear-base.ts:617](https://github.com/zrwusa/data-structure-typed/blob/
|
|
773
|
+
Defined in: [data-structures/base/linear-base.ts:617](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L617)
|
|
774
774
|
|
|
775
775
|
Node at index (for random-access emulation).
|
|
776
776
|
|
|
@@ -800,7 +800,7 @@ Time O(n), Space O(1)
|
|
|
800
800
|
has(element): boolean;
|
|
801
801
|
```
|
|
802
802
|
|
|
803
|
-
Defined in: [data-structures/base/iterable-element-base.ts:189](https://github.com/zrwusa/data-structure-typed/blob/
|
|
803
|
+
Defined in: [data-structures/base/iterable-element-base.ts:189](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L189)
|
|
804
804
|
|
|
805
805
|
Checks whether a strictly-equal element exists in the structure.
|
|
806
806
|
|
|
@@ -834,7 +834,7 @@ Time O(n) in the worst case. Space O(1).
|
|
|
834
834
|
indexOf(searchElement, fromIndex?): number;
|
|
835
835
|
```
|
|
836
836
|
|
|
837
|
-
Defined in: [data-structures/base/linear-base.ts:422](https://github.com/zrwusa/data-structure-typed/blob/
|
|
837
|
+
Defined in: [data-structures/base/linear-base.ts:422](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L422)
|
|
838
838
|
|
|
839
839
|
Linked-list optimized `indexOf` (forwards scan).
|
|
840
840
|
|
|
@@ -874,7 +874,7 @@ Time O(n), Space O(1)
|
|
|
874
874
|
abstract isEmpty(): boolean;
|
|
875
875
|
```
|
|
876
876
|
|
|
877
|
-
Defined in: [data-structures/base/iterable-element-base.ts:280](https://github.com/zrwusa/data-structure-typed/blob/
|
|
877
|
+
Defined in: [data-structures/base/iterable-element-base.ts:280](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L280)
|
|
878
878
|
|
|
879
879
|
Indicates whether the structure currently contains no elements.
|
|
880
880
|
|
|
@@ -900,7 +900,7 @@ Expected Time O(1), Space O(1) for most implementations.
|
|
|
900
900
|
join(separator?): string;
|
|
901
901
|
```
|
|
902
902
|
|
|
903
|
-
Defined in: [data-structures/base/linear-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/
|
|
903
|
+
Defined in: [data-structures/base/linear-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L228)
|
|
904
904
|
|
|
905
905
|
Join all elements into a string.
|
|
906
906
|
|
|
@@ -934,7 +934,7 @@ Time O(n), Space O(n)
|
|
|
934
934
|
lastIndexOf(searchElement, fromIndex?): number;
|
|
935
935
|
```
|
|
936
936
|
|
|
937
|
-
Defined in: [data-structures/base/linear-base.ts:448](https://github.com/zrwusa/data-structure-typed/blob/
|
|
937
|
+
Defined in: [data-structures/base/linear-base.ts:448](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L448)
|
|
938
938
|
|
|
939
939
|
Linked-list optimized `lastIndexOf` (reverse scan).
|
|
940
940
|
|
|
@@ -977,7 +977,7 @@ abstract map<EM, RM>(
|
|
|
977
977
|
thisArg?): IterableElementBase<EM, RM>;
|
|
978
978
|
```
|
|
979
979
|
|
|
980
|
-
Defined in: [data-structures/base/iterable-element-base.ts:313](https://github.com/zrwusa/data-structure-typed/blob/
|
|
980
|
+
Defined in: [data-structures/base/iterable-element-base.ts:313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L313)
|
|
981
981
|
|
|
982
982
|
Maps each element to a new element and returns a new iterable structure.
|
|
983
983
|
|
|
@@ -1037,7 +1037,7 @@ Time O(n), Space O(n).
|
|
|
1037
1037
|
abstract mapSame(callback, thisArg?): this;
|
|
1038
1038
|
```
|
|
1039
1039
|
|
|
1040
|
-
Defined in: [data-structures/base/iterable-element-base.ts:329](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1040
|
+
Defined in: [data-structures/base/iterable-element-base.ts:329](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L329)
|
|
1041
1041
|
|
|
1042
1042
|
Maps each element to the same element type and returns the same concrete structure type.
|
|
1043
1043
|
|
|
@@ -1077,7 +1077,7 @@ Time O(n), Space O(n).
|
|
|
1077
1077
|
print(): void;
|
|
1078
1078
|
```
|
|
1079
1079
|
|
|
1080
|
-
Defined in: [data-structures/base/iterable-element-base.ts:269](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1080
|
+
Defined in: [data-structures/base/iterable-element-base.ts:269](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L269)
|
|
1081
1081
|
|
|
1082
1082
|
Prints `toVisual()` to the console. Intended for quick debugging.
|
|
1083
1083
|
|
|
@@ -1103,7 +1103,7 @@ Time O(n) due to materialization, Space O(n) for the intermediate representation
|
|
|
1103
1103
|
abstract push(elementOrNode): boolean;
|
|
1104
1104
|
```
|
|
1105
1105
|
|
|
1106
|
-
Defined in: [data-structures/base/linear-base.ts:336](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1106
|
+
Defined in: [data-structures/base/linear-base.ts:336](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L336)
|
|
1107
1107
|
|
|
1108
1108
|
Append one element or node to the tail.
|
|
1109
1109
|
|
|
@@ -1137,7 +1137,7 @@ Time O(1) amortized typical, Space O(1)
|
|
|
1137
1137
|
abstract pushMany(elements): boolean[];
|
|
1138
1138
|
```
|
|
1139
1139
|
|
|
1140
|
-
Defined in: [data-structures/base/linear-base.ts:344](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1140
|
+
Defined in: [data-structures/base/linear-base.ts:344](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L344)
|
|
1141
1141
|
|
|
1142
1142
|
Append many elements/nodes at once.
|
|
1143
1143
|
|
|
@@ -1205,7 +1205,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
|
|
|
1205
1205
|
reduce(callbackfn): E;
|
|
1206
1206
|
```
|
|
1207
1207
|
|
|
1208
|
-
Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1208
|
+
Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L194)
|
|
1209
1209
|
|
|
1210
1210
|
##### Parameters
|
|
1211
1211
|
|
|
@@ -1227,7 +1227,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
|
|
|
1227
1227
|
reduce(callbackfn, initialValue): E;
|
|
1228
1228
|
```
|
|
1229
1229
|
|
|
1230
|
-
Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1230
|
+
Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L195)
|
|
1231
1231
|
|
|
1232
1232
|
##### Parameters
|
|
1233
1233
|
|
|
@@ -1253,7 +1253,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
|
|
|
1253
1253
|
reduce<U>(callbackfn, initialValue): U;
|
|
1254
1254
|
```
|
|
1255
1255
|
|
|
1256
|
-
Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1256
|
+
Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L196)
|
|
1257
1257
|
|
|
1258
1258
|
##### Type Parameters
|
|
1259
1259
|
|
|
@@ -1287,7 +1287,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.c
|
|
|
1287
1287
|
reduceRight<U>(callbackfn, initialValue): U;
|
|
1288
1288
|
```
|
|
1289
1289
|
|
|
1290
|
-
Defined in: [data-structures/base/linear-base.ts:574](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1290
|
+
Defined in: [data-structures/base/linear-base.ts:574](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L574)
|
|
1291
1291
|
|
|
1292
1292
|
Right-to-left reduction using reverse iterator.
|
|
1293
1293
|
|
|
@@ -1333,7 +1333,7 @@ Time O(n), Space O(1)
|
|
|
1333
1333
|
abstract reverse(): this;
|
|
1334
1334
|
```
|
|
1335
1335
|
|
|
1336
|
-
Defined in: [data-structures/base/linear-base.ts:328](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1336
|
+
Defined in: [data-structures/base/linear-base.ts:328](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L328)
|
|
1337
1337
|
|
|
1338
1338
|
Reverse the order of elements in-place (or equivalent).
|
|
1339
1339
|
|
|
@@ -1359,7 +1359,7 @@ Time O(n), Space O(1)
|
|
|
1359
1359
|
abstract setAt(index, value): boolean;
|
|
1360
1360
|
```
|
|
1361
1361
|
|
|
1362
|
-
Defined in: [data-structures/base/linear-base.ts:314](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1362
|
+
Defined in: [data-structures/base/linear-base.ts:314](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L314)
|
|
1363
1363
|
|
|
1364
1364
|
Set the value at an index.
|
|
1365
1365
|
|
|
@@ -1399,7 +1399,7 @@ Time O(1) typical, Space O(1)
|
|
|
1399
1399
|
slice(start?, end?): this;
|
|
1400
1400
|
```
|
|
1401
1401
|
|
|
1402
|
-
Defined in: [data-structures/base/linear-base.ts:494](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1402
|
+
Defined in: [data-structures/base/linear-base.ts:494](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L494)
|
|
1403
1403
|
|
|
1404
1404
|
Slice via forward iteration (no random access required).
|
|
1405
1405
|
|
|
@@ -1439,7 +1439,7 @@ Time O(n), Space O(n)
|
|
|
1439
1439
|
some(predicate, thisArg?): boolean;
|
|
1440
1440
|
```
|
|
1441
1441
|
|
|
1442
|
-
Defined in: [data-structures/base/iterable-element-base.ts:110](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1442
|
+
Defined in: [data-structures/base/iterable-element-base.ts:110](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L110)
|
|
1443
1443
|
|
|
1444
1444
|
Tests whether at least one element satisfies the predicate.
|
|
1445
1445
|
|
|
@@ -1479,7 +1479,7 @@ Time O(n) in the worst case; may exit early on first success. Space O(1).
|
|
|
1479
1479
|
sort(compareFn?): this;
|
|
1480
1480
|
```
|
|
1481
1481
|
|
|
1482
|
-
Defined in: [data-structures/base/linear-base.ts:185](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1482
|
+
Defined in: [data-structures/base/linear-base.ts:185](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L185)
|
|
1483
1483
|
|
|
1484
1484
|
In-place stable order via array sort semantics.
|
|
1485
1485
|
|
|
@@ -1516,7 +1516,7 @@ splice(
|
|
|
1516
1516
|
items): this;
|
|
1517
1517
|
```
|
|
1518
1518
|
|
|
1519
|
-
Defined in: [data-structures/base/linear-base.ts:522](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1519
|
+
Defined in: [data-structures/base/linear-base.ts:522](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L522)
|
|
1520
1520
|
|
|
1521
1521
|
Splice by walking node iterators from the start index.
|
|
1522
1522
|
|
|
@@ -1562,7 +1562,7 @@ Time O(n + m), Space O(min(n, m)) where `m = items.length`
|
|
|
1562
1562
|
toArray(): E[];
|
|
1563
1563
|
```
|
|
1564
1564
|
|
|
1565
|
-
Defined in: [data-structures/base/iterable-element-base.ts:246](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1565
|
+
Defined in: [data-structures/base/iterable-element-base.ts:246](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L246)
|
|
1566
1566
|
|
|
1567
1567
|
Materializes the elements into a new array.
|
|
1568
1568
|
|
|
@@ -1588,7 +1588,7 @@ Time O(n), Space O(n).
|
|
|
1588
1588
|
toReversedArray(): E[];
|
|
1589
1589
|
```
|
|
1590
1590
|
|
|
1591
|
-
Defined in: [data-structures/base/linear-base.ts:237](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1591
|
+
Defined in: [data-structures/base/linear-base.ts:237](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L237)
|
|
1592
1592
|
|
|
1593
1593
|
Snapshot elements into a reversed array.
|
|
1594
1594
|
|
|
@@ -1614,7 +1614,7 @@ Time O(n), Space O(n)
|
|
|
1614
1614
|
toVisual(): E[];
|
|
1615
1615
|
```
|
|
1616
1616
|
|
|
1617
|
-
Defined in: [data-structures/base/iterable-element-base.ts:258](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1617
|
+
Defined in: [data-structures/base/iterable-element-base.ts:258](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L258)
|
|
1618
1618
|
|
|
1619
1619
|
Returns a representation of the structure suitable for quick visualization.
|
|
1620
1620
|
Defaults to an array of elements; subclasses may override to provide richer visuals.
|
|
@@ -1641,7 +1641,7 @@ Time O(n), Space O(n).
|
|
|
1641
1641
|
values(): IterableIterator<E>;
|
|
1642
1642
|
```
|
|
1643
1643
|
|
|
1644
|
-
Defined in: [data-structures/base/iterable-element-base.ts:72](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1644
|
+
Defined in: [data-structures/base/iterable-element-base.ts:72](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L72)
|
|
1645
1645
|
|
|
1646
1646
|
Returns an iterator over the values (alias of the default iterator).
|
|
1647
1647
|
|
|
@@ -1670,7 +1670,7 @@ Creating the iterator is O(1); full iteration is Time O(n), Space O(1).
|
|
|
1670
1670
|
protected optional _toElementFn?: (rawElement) => E;
|
|
1671
1671
|
```
|
|
1672
1672
|
|
|
1673
|
-
Defined in: [data-structures/base/iterable-element-base.ts:39](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1673
|
+
Defined in: [data-structures/base/iterable-element-base.ts:39](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L39)
|
|
1674
1674
|
|
|
1675
1675
|
The converter used to transform a raw element (`R`) into a public element (`E`).
|
|
1676
1676
|
|
|
@@ -1700,7 +1700,7 @@ Time O(1), Space O(1).
|
|
|
1700
1700
|
abstract protected _createInstance(options?): this;
|
|
1701
1701
|
```
|
|
1702
1702
|
|
|
1703
|
-
Defined in: [data-structures/base/linear-base.ts:385](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1703
|
+
Defined in: [data-structures/base/linear-base.ts:385](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L385)
|
|
1704
1704
|
|
|
1705
1705
|
Create an empty list of the same species.
|
|
1706
1706
|
|
|
@@ -1734,7 +1734,7 @@ Time O(1), Space O(1)
|
|
|
1734
1734
|
abstract protected _getIterator(...args): IterableIterator<E>;
|
|
1735
1735
|
```
|
|
1736
1736
|
|
|
1737
|
-
Defined in: [data-structures/base/iterable-element-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1737
|
+
Defined in: [data-structures/base/iterable-element-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L352)
|
|
1738
1738
|
|
|
1739
1739
|
Internal iterator factory used by the default iterator.
|
|
1740
1740
|
|
|
@@ -1768,7 +1768,7 @@ Implementations should yield in O(1) per element with O(1) extra space when poss
|
|
|
1768
1768
|
abstract protected _getNodeIterator(...args): IterableIterator<NODE>;
|
|
1769
1769
|
```
|
|
1770
1770
|
|
|
1771
|
-
Defined in: [data-structures/base/linear-base.ts:624](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1771
|
+
Defined in: [data-structures/base/linear-base.ts:624](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L624)
|
|
1772
1772
|
|
|
1773
1773
|
Iterate linked nodes from head to tail.
|
|
1774
1774
|
|
|
@@ -1796,7 +1796,7 @@ Time O(n), Space O(1)
|
|
|
1796
1796
|
abstract protected _getPrevNode(node): NODE | undefined;
|
|
1797
1797
|
```
|
|
1798
1798
|
|
|
1799
|
-
Defined in: [data-structures/base/linear-base.ts:632](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1799
|
+
Defined in: [data-structures/base/linear-base.ts:632](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L632)
|
|
1800
1800
|
|
|
1801
1801
|
Get previous node of a given node.
|
|
1802
1802
|
|
|
@@ -1826,7 +1826,7 @@ Time O(1)~O(n) depending on list variant (singly vs doubly), Space O(1)
|
|
|
1826
1826
|
abstract protected _getReverseIterator(...args): IterableIterator<E>;
|
|
1827
1827
|
```
|
|
1828
1828
|
|
|
1829
|
-
Defined in: [data-structures/base/linear-base.ts:392](https://github.com/zrwusa/data-structure-typed/blob/
|
|
1829
|
+
Defined in: [data-structures/base/linear-base.ts:392](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L392)
|
|
1830
1830
|
|
|
1831
1831
|
Reverse-direction iterator over elements.
|
|
1832
1832
|
|