data-structure-typed 1.52.4 → 1.52.6
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/CHANGELOG.md +1 -1
- package/README.md +13 -13
- package/README_zh-CN.md +216 -26
- package/benchmark/report.html +13 -13
- package/benchmark/report.json +158 -158
- package/dist/cjs/data-structures/base/iterable-element-base.d.ts +1 -37
- package/dist/cjs/data-structures/base/iterable-element-base.js +1 -37
- package/dist/cjs/data-structures/base/iterable-element-base.js.map +1 -1
- package/dist/cjs/data-structures/base/iterable-entry-base.d.ts +2 -54
- package/dist/cjs/data-structures/base/iterable-entry-base.js +1 -49
- package/dist/cjs/data-structures/base/iterable-entry-base.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -32
- package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +9 -41
- package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +0 -46
- package/dist/cjs/data-structures/binary-tree/avl-tree.js +0 -46
- package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +82 -147
- package/dist/cjs/data-structures/binary-tree/binary-tree.js +300 -332
- package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/bst.d.ts +1 -40
- package/dist/cjs/data-structures/binary-tree/bst.js +12 -44
- package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +0 -48
- package/dist/cjs/data-structures/binary-tree/rb-tree.js +2 -50
- package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/tree-multi-map.d.ts +0 -32
- package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +9 -41
- package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
- package/dist/cjs/data-structures/graph/abstract-graph.d.ts +0 -75
- package/dist/cjs/data-structures/graph/abstract-graph.js +0 -75
- package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -1
- package/dist/cjs/data-structures/graph/directed-graph.d.ts +0 -98
- package/dist/cjs/data-structures/graph/directed-graph.js +0 -98
- package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -1
- package/dist/cjs/data-structures/graph/undirected-graph.d.ts +0 -50
- package/dist/cjs/data-structures/graph/undirected-graph.js +0 -50
- package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -1
- package/dist/cjs/data-structures/hash/hash-map.d.ts +5 -92
- package/dist/cjs/data-structures/hash/hash-map.js +27 -111
- package/dist/cjs/data-structures/hash/hash-map.js.map +1 -1
- package/dist/cjs/data-structures/heap/heap.d.ts +0 -32
- package/dist/cjs/data-structures/heap/heap.js +0 -32
- package/dist/cjs/data-structures/heap/heap.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +5 -88
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +5 -88
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +1 -83
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js +2 -84
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/skip-linked-list.d.ts +1 -35
- package/dist/cjs/data-structures/linked-list/skip-linked-list.js +1 -35
- package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/queue/deque.d.ts +1 -98
- package/dist/cjs/data-structures/queue/deque.js +3 -99
- package/dist/cjs/data-structures/queue/deque.js.map +1 -1
- package/dist/cjs/data-structures/queue/queue.d.ts +1 -54
- package/dist/cjs/data-structures/queue/queue.js +0 -53
- package/dist/cjs/data-structures/queue/queue.js.map +1 -1
- package/dist/cjs/data-structures/stack/stack.d.ts +1 -34
- package/dist/cjs/data-structures/stack/stack.js +1 -34
- package/dist/cjs/data-structures/stack/stack.js.map +1 -1
- package/dist/cjs/data-structures/tree/tree.js +2 -1
- package/dist/cjs/data-structures/tree/tree.js.map +1 -1
- package/dist/cjs/data-structures/trie/trie.d.ts +0 -64
- package/dist/cjs/data-structures/trie/trie.js +0 -64
- package/dist/cjs/data-structures/trie/trie.js.map +1 -1
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.d.ts +8 -0
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.js +6 -0
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/cjs/types/utils/utils.d.ts +13 -12
- package/dist/cjs/utils/number.d.ts +13 -0
- package/dist/cjs/utils/number.js +13 -0
- package/dist/cjs/utils/number.js.map +1 -1
- package/dist/cjs/utils/utils.d.ts +125 -3
- package/dist/cjs/utils/utils.js +177 -21
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/mjs/data-structures/base/iterable-element-base.d.ts +1 -37
- package/dist/mjs/data-structures/base/iterable-element-base.js +1 -37
- package/dist/mjs/data-structures/base/iterable-entry-base.d.ts +2 -54
- package/dist/mjs/data-structures/base/iterable-entry-base.js +1 -49
- package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -32
- package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.js +9 -41
- package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +0 -46
- package/dist/mjs/data-structures/binary-tree/avl-tree.js +0 -46
- package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +82 -147
- package/dist/mjs/data-structures/binary-tree/binary-tree.js +299 -333
- package/dist/mjs/data-structures/binary-tree/bst.d.ts +1 -40
- package/dist/mjs/data-structures/binary-tree/bst.js +12 -44
- package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +0 -48
- package/dist/mjs/data-structures/binary-tree/rb-tree.js +2 -50
- package/dist/mjs/data-structures/binary-tree/tree-multi-map.d.ts +0 -32
- package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +9 -41
- package/dist/mjs/data-structures/graph/abstract-graph.d.ts +0 -75
- package/dist/mjs/data-structures/graph/abstract-graph.js +0 -75
- package/dist/mjs/data-structures/graph/directed-graph.d.ts +0 -98
- package/dist/mjs/data-structures/graph/directed-graph.js +0 -98
- package/dist/mjs/data-structures/graph/undirected-graph.d.ts +0 -50
- package/dist/mjs/data-structures/graph/undirected-graph.js +0 -50
- package/dist/mjs/data-structures/hash/hash-map.d.ts +5 -92
- package/dist/mjs/data-structures/hash/hash-map.js +27 -111
- package/dist/mjs/data-structures/heap/heap.d.ts +0 -32
- package/dist/mjs/data-structures/heap/heap.js +0 -32
- package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +5 -88
- package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +5 -88
- package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +1 -83
- package/dist/mjs/data-structures/linked-list/singly-linked-list.js +2 -84
- package/dist/mjs/data-structures/linked-list/skip-linked-list.d.ts +1 -35
- package/dist/mjs/data-structures/linked-list/skip-linked-list.js +1 -35
- package/dist/mjs/data-structures/queue/deque.d.ts +1 -98
- package/dist/mjs/data-structures/queue/deque.js +3 -99
- package/dist/mjs/data-structures/queue/queue.d.ts +1 -54
- package/dist/mjs/data-structures/queue/queue.js +0 -53
- package/dist/mjs/data-structures/stack/stack.d.ts +1 -34
- package/dist/mjs/data-structures/stack/stack.js +1 -34
- package/dist/mjs/data-structures/tree/tree.js +2 -1
- package/dist/mjs/data-structures/trie/trie.d.ts +0 -64
- package/dist/mjs/data-structures/trie/trie.js +0 -64
- package/dist/mjs/types/data-structures/binary-tree/binary-tree.d.ts +8 -0
- package/dist/mjs/types/data-structures/binary-tree/binary-tree.js +5 -1
- package/dist/mjs/types/utils/utils.d.ts +13 -12
- package/dist/mjs/utils/number.d.ts +13 -0
- package/dist/mjs/utils/number.js +13 -0
- package/dist/mjs/utils/utils.d.ts +125 -3
- package/dist/mjs/utils/utils.js +177 -21
- package/dist/umd/data-structure-typed.js +411 -1475
- package/dist/umd/data-structure-typed.min.js +5 -4
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +6 -6
- package/src/data-structures/base/iterable-element-base.ts +2 -42
- package/src/data-structures/base/iterable-entry-base.ts +3 -62
- package/src/data-structures/binary-tree/avl-tree-multi-map.ts +8 -48
- package/src/data-structures/binary-tree/avl-tree.ts +0 -57
- package/src/data-structures/binary-tree/binary-tree.ts +330 -359
- package/src/data-structures/binary-tree/bst.ts +11 -54
- package/src/data-structures/binary-tree/rb-tree.ts +2 -62
- package/src/data-structures/binary-tree/tree-multi-map.ts +8 -48
- package/src/data-structures/graph/abstract-graph.ts +0 -92
- package/src/data-structures/graph/directed-graph.ts +0 -122
- package/src/data-structures/graph/undirected-graph.ts +0 -62
- package/src/data-structures/hash/hash-map.ts +29 -133
- package/src/data-structures/heap/heap.ts +0 -40
- package/src/data-structures/linked-list/doubly-linked-list.ts +5 -112
- package/src/data-structures/linked-list/singly-linked-list.ts +2 -104
- package/src/data-structures/linked-list/skip-linked-list.ts +1 -44
- package/src/data-structures/queue/deque.ts +2 -125
- package/src/data-structures/queue/queue.ts +1 -68
- package/src/data-structures/stack/stack.ts +1 -43
- package/src/data-structures/tree/tree.ts +1 -1
- package/src/data-structures/trie/trie.ts +0 -80
- package/src/types/data-structures/binary-tree/binary-tree.ts +8 -1
- package/src/types/utils/utils.ts +17 -15
- package/src/utils/number.ts +13 -0
- package/src/utils/utils.ts +174 -18
- package/test/config.ts +8 -0
- package/test/integration/all-in-one.test.ts +1 -1
- package/test/integration/avl-tree.test.ts +1 -1
- package/test/integration/bst.test.ts +2 -2
- package/test/unit/data-structures/binary-tree/avl-tree-multi-map.test.ts +13 -13
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +18 -13
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +577 -167
- package/test/unit/data-structures/binary-tree/bst.test.ts +167 -23
- package/test/unit/data-structures/binary-tree/overall.test.ts +1 -1
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +136 -13
- package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +18 -13
- package/test/unit/data-structures/graph/directed-graph.test.ts +46 -32
- package/test/unit/data-structures/graph/map-graph.test.ts +24 -2
- package/test/unit/data-structures/graph/undirected-graph.test.ts +24 -24
- package/test/unit/data-structures/hash/hash-map.test.ts +225 -35
- package/test/unit/data-structures/heap/heap.test.ts +47 -39
- package/test/unit/data-structures/heap/min-heap.test.ts +5 -5
- package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +34 -4
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +32 -0
- package/test/unit/data-structures/matrix/matrix.test.ts +35 -5
- package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +31 -0
- package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +18 -0
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +17 -0
- package/test/unit/data-structures/queue/deque.test.ts +288 -47
- package/test/unit/data-structures/queue/queue.test.ts +62 -37
- package/test/unit/data-structures/stack/stack.test.ts +30 -5
- package/test/unit/data-structures/tree/tree.test.ts +58 -0
- package/test/unit/data-structures/trie/trie.test.ts +46 -5
- package/test/unit/utils/utils.test.ts +169 -0
|
@@ -34,10 +34,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
34
34
|
* @returns {number} The size of the array, which is the difference between the length of the array and the offset.
|
|
35
35
|
*/
|
|
36
36
|
get size(): number;
|
|
37
|
-
/**
|
|
38
|
-
* Time Complexity: O(1)
|
|
39
|
-
* Space Complexity: O(1)
|
|
40
|
-
*/
|
|
41
37
|
/**
|
|
42
38
|
* Time Complexity: O(1)
|
|
43
39
|
* Space Complexity: O(1)
|
|
@@ -47,10 +43,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
47
43
|
* the `_offset` index. If the data structure is empty (size is 0), it returns `undefined`.
|
|
48
44
|
*/
|
|
49
45
|
get first(): E | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* Time Complexity: O(1)
|
|
52
|
-
* Space Complexity: O(1)
|
|
53
|
-
*/
|
|
54
46
|
/**
|
|
55
47
|
* Time Complexity: O(1)
|
|
56
48
|
* Space Complexity: O(1)
|
|
@@ -60,7 +52,7 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
60
52
|
* array is empty, it returns `undefined`.
|
|
61
53
|
*/
|
|
62
54
|
get last(): E | undefined;
|
|
63
|
-
_autoCompactRatio: number;
|
|
55
|
+
protected _autoCompactRatio: number;
|
|
64
56
|
/**
|
|
65
57
|
* This function returns the value of the autoCompactRatio property.
|
|
66
58
|
* @returns The `autoCompactRatio` property of the object, which is a number.
|
|
@@ -72,10 +64,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
72
64
|
* `_autoCompactRatio` property.
|
|
73
65
|
*/
|
|
74
66
|
set autoCompactRatio(v: number);
|
|
75
|
-
/**
|
|
76
|
-
* Time Complexity: O(n)
|
|
77
|
-
* Space Complexity: O(n)
|
|
78
|
-
*/
|
|
79
67
|
/**
|
|
80
68
|
* Time Complexity: O(n)
|
|
81
69
|
* Space Complexity: O(n)
|
|
@@ -87,10 +75,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
87
75
|
* array.
|
|
88
76
|
*/
|
|
89
77
|
static fromArray<E>(elements: E[]): Queue<E>;
|
|
90
|
-
/**
|
|
91
|
-
* Time Complexity: O(1)
|
|
92
|
-
* Space Complexity: O(1)
|
|
93
|
-
*/
|
|
94
78
|
/**
|
|
95
79
|
* Time Complexity: O(1)
|
|
96
80
|
* Space Complexity: O(1)
|
|
@@ -100,10 +84,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
100
84
|
* @returns Always returns true, indicating the element was successfully added.
|
|
101
85
|
*/
|
|
102
86
|
push(element: E): boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Time Complexity: O(1)
|
|
105
|
-
* Space Complexity: O(1)
|
|
106
|
-
*/
|
|
107
87
|
/**
|
|
108
88
|
* Time Complexity: O(1)
|
|
109
89
|
* Space Complexity: O(1)
|
|
@@ -125,10 +105,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
125
105
|
* @return A boolean value
|
|
126
106
|
*/
|
|
127
107
|
deleteAt(index: number): boolean;
|
|
128
|
-
/**
|
|
129
|
-
* Time Complexity: O(1)
|
|
130
|
-
* Space Complexity: O(1)
|
|
131
|
-
*/
|
|
132
108
|
/**
|
|
133
109
|
* Time Complexity: O(1)
|
|
134
110
|
* Space Complexity: O(1)
|
|
@@ -136,10 +112,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
136
112
|
* @param index
|
|
137
113
|
*/
|
|
138
114
|
at(index: number): E | undefined;
|
|
139
|
-
/**
|
|
140
|
-
* Time Complexity: O(1)
|
|
141
|
-
* Space Complexity: O(1)
|
|
142
|
-
*/
|
|
143
115
|
/**
|
|
144
116
|
* Time Complexity: O(1)
|
|
145
117
|
* Space Complexity: O(1)
|
|
@@ -148,10 +120,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
148
120
|
* @returns {boolean} A boolean value indicating whether the size of the object is 0 or not.
|
|
149
121
|
*/
|
|
150
122
|
isEmpty(): boolean;
|
|
151
|
-
/**
|
|
152
|
-
* Time Complexity: O(1)
|
|
153
|
-
* Space Complexity: O(n)
|
|
154
|
-
*/
|
|
155
123
|
/**
|
|
156
124
|
* Time Complexity: O(1)
|
|
157
125
|
* Space Complexity: O(n)
|
|
@@ -160,10 +128,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
160
128
|
* @returns An array of type E is being returned.
|
|
161
129
|
*/
|
|
162
130
|
toArray(): E[];
|
|
163
|
-
/**
|
|
164
|
-
* Time Complexity: O(1)
|
|
165
|
-
* Space Complexity: O(1)
|
|
166
|
-
*/
|
|
167
131
|
/**
|
|
168
132
|
* Time Complexity: O(1)
|
|
169
133
|
* Space Complexity: O(1)
|
|
@@ -177,11 +141,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
177
141
|
* @returns The `compact()` method is returning a boolean value of `true`.
|
|
178
142
|
*/
|
|
179
143
|
compact(): boolean;
|
|
180
|
-
/**
|
|
181
|
-
* Time Complexity: O(n)
|
|
182
|
-
* Space Complexity: O(n)
|
|
183
|
-
* where n is the number of elements in the queue. It creates a shallow copy of the internal array. the space required is proportional to the number of elements in the queue.
|
|
184
|
-
*/
|
|
185
144
|
/**
|
|
186
145
|
* Time Complexity: O(n)
|
|
187
146
|
* Space Complexity: O(n)
|
|
@@ -190,10 +149,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
190
149
|
* @returns The `clone()` method is returning a new instance of the `Queue` class.
|
|
191
150
|
*/
|
|
192
151
|
clone(): Queue<E, R>;
|
|
193
|
-
/**
|
|
194
|
-
* Time Complexity: O(n)
|
|
195
|
-
* Space Complexity: O(n)
|
|
196
|
-
*/
|
|
197
152
|
/**
|
|
198
153
|
* Time Complexity: O(n)
|
|
199
154
|
* Space Complexity: O(n)
|
|
@@ -216,10 +171,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
216
171
|
* Space Complexity: O(n)
|
|
217
172
|
*/
|
|
218
173
|
map<EM, RM>(callback: ElementCallback<E, R, EM, Queue<E, R>>, toElementFn?: (rawElement: RM) => EM, thisArg?: any): Queue<EM, RM>;
|
|
219
|
-
/**
|
|
220
|
-
* Time Complexity: O(n)
|
|
221
|
-
* Space Complexity: O(n)
|
|
222
|
-
*/
|
|
223
174
|
/**
|
|
224
175
|
* Time Complexity: O(n)
|
|
225
176
|
* Space Complexity: O(n)
|
|
@@ -235,10 +186,6 @@ export declare class Queue<E = any, R = any> extends IterableElementBase<E, R, Q
|
|
|
235
186
|
* 4. Frequent Enqueuing and Dequeuing Operations: If your application involves frequent enqueuing and dequeuing operations and is less concerned with random access, then LinkedListQueue is a good choice.
|
|
236
187
|
*/
|
|
237
188
|
export declare class LinkedListQueue<E = any, R = any> extends SinglyLinkedList<E, R> {
|
|
238
|
-
/**
|
|
239
|
-
* Time Complexity: O(n)
|
|
240
|
-
* Space Complexity: O(n)
|
|
241
|
-
*/
|
|
242
189
|
/**
|
|
243
190
|
* Time Complexity: O(n)
|
|
244
191
|
* Space Complexity: O(n)
|
|
@@ -52,10 +52,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
52
52
|
get size() {
|
|
53
53
|
return this.elements.length - this.offset;
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Time Complexity: O(1)
|
|
57
|
-
* Space Complexity: O(1)
|
|
58
|
-
*/
|
|
59
55
|
/**
|
|
60
56
|
* Time Complexity: O(1)
|
|
61
57
|
* Space Complexity: O(1)
|
|
@@ -67,10 +63,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
67
63
|
get first() {
|
|
68
64
|
return this.size > 0 ? this.elements[this.offset] : undefined;
|
|
69
65
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Time Complexity: O(1)
|
|
72
|
-
* Space Complexity: O(1)
|
|
73
|
-
*/
|
|
74
66
|
/**
|
|
75
67
|
* Time Complexity: O(1)
|
|
76
68
|
* Space Complexity: O(1)
|
|
@@ -97,10 +89,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
97
89
|
set autoCompactRatio(v) {
|
|
98
90
|
this._autoCompactRatio = v;
|
|
99
91
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Time Complexity: O(n)
|
|
102
|
-
* Space Complexity: O(n)
|
|
103
|
-
*/
|
|
104
92
|
/**
|
|
105
93
|
* Time Complexity: O(n)
|
|
106
94
|
* Space Complexity: O(n)
|
|
@@ -114,10 +102,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
114
102
|
static fromArray(elements) {
|
|
115
103
|
return new Queue(elements);
|
|
116
104
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Time Complexity: O(1)
|
|
119
|
-
* Space Complexity: O(1)
|
|
120
|
-
*/
|
|
121
105
|
/**
|
|
122
106
|
* Time Complexity: O(1)
|
|
123
107
|
* Space Complexity: O(1)
|
|
@@ -130,10 +114,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
130
114
|
this.elements.push(element);
|
|
131
115
|
return true;
|
|
132
116
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Time Complexity: O(1)
|
|
135
|
-
* Space Complexity: O(1)
|
|
136
|
-
*/
|
|
137
117
|
/**
|
|
138
118
|
* Time Complexity: O(1)
|
|
139
119
|
* Space Complexity: O(1)
|
|
@@ -169,10 +149,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
169
149
|
const spliced = this.elements.splice(index, 1);
|
|
170
150
|
return spliced.length === 1;
|
|
171
151
|
}
|
|
172
|
-
/**
|
|
173
|
-
* Time Complexity: O(1)
|
|
174
|
-
* Space Complexity: O(1)
|
|
175
|
-
*/
|
|
176
152
|
/**
|
|
177
153
|
* Time Complexity: O(1)
|
|
178
154
|
* Space Complexity: O(1)
|
|
@@ -182,10 +158,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
182
158
|
at(index) {
|
|
183
159
|
return this.elements[index + this._offset];
|
|
184
160
|
}
|
|
185
|
-
/**
|
|
186
|
-
* Time Complexity: O(1)
|
|
187
|
-
* Space Complexity: O(1)
|
|
188
|
-
*/
|
|
189
161
|
/**
|
|
190
162
|
* Time Complexity: O(1)
|
|
191
163
|
* Space Complexity: O(1)
|
|
@@ -196,10 +168,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
196
168
|
isEmpty() {
|
|
197
169
|
return this.size === 0;
|
|
198
170
|
}
|
|
199
|
-
/**
|
|
200
|
-
* Time Complexity: O(1)
|
|
201
|
-
* Space Complexity: O(n)
|
|
202
|
-
*/
|
|
203
171
|
/**
|
|
204
172
|
* Time Complexity: O(1)
|
|
205
173
|
* Space Complexity: O(n)
|
|
@@ -210,10 +178,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
210
178
|
toArray() {
|
|
211
179
|
return this.elements.slice(this.offset);
|
|
212
180
|
}
|
|
213
|
-
/**
|
|
214
|
-
* Time Complexity: O(1)
|
|
215
|
-
* Space Complexity: O(1)
|
|
216
|
-
*/
|
|
217
181
|
/**
|
|
218
182
|
* Time Complexity: O(1)
|
|
219
183
|
* Space Complexity: O(1)
|
|
@@ -234,11 +198,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
234
198
|
this._offset = 0;
|
|
235
199
|
return true;
|
|
236
200
|
}
|
|
237
|
-
/**
|
|
238
|
-
* Time Complexity: O(n)
|
|
239
|
-
* Space Complexity: O(n)
|
|
240
|
-
* where n is the number of elements in the queue. It creates a shallow copy of the internal array. the space required is proportional to the number of elements in the queue.
|
|
241
|
-
*/
|
|
242
201
|
/**
|
|
243
202
|
* Time Complexity: O(n)
|
|
244
203
|
* Space Complexity: O(n)
|
|
@@ -249,10 +208,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
249
208
|
clone() {
|
|
250
209
|
return new Queue(this.elements.slice(this.offset), { toElementFn: this.toElementFn });
|
|
251
210
|
}
|
|
252
|
-
/**
|
|
253
|
-
* Time Complexity: O(n)
|
|
254
|
-
* Space Complexity: O(n)
|
|
255
|
-
*/
|
|
256
211
|
/**
|
|
257
212
|
* Time Complexity: O(n)
|
|
258
213
|
* Space Complexity: O(n)
|
|
@@ -293,10 +248,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
293
248
|
}
|
|
294
249
|
return newDeque;
|
|
295
250
|
}
|
|
296
|
-
/**
|
|
297
|
-
* Time Complexity: O(n)
|
|
298
|
-
* Space Complexity: O(n)
|
|
299
|
-
*/
|
|
300
251
|
/**
|
|
301
252
|
* Time Complexity: O(n)
|
|
302
253
|
* Space Complexity: O(n)
|
|
@@ -317,10 +268,6 @@ exports.Queue = Queue;
|
|
|
317
268
|
* 4. Frequent Enqueuing and Dequeuing Operations: If your application involves frequent enqueuing and dequeuing operations and is less concerned with random access, then LinkedListQueue is a good choice.
|
|
318
269
|
*/
|
|
319
270
|
class LinkedListQueue extends linked_list_1.SinglyLinkedList {
|
|
320
|
-
/**
|
|
321
|
-
* Time Complexity: O(n)
|
|
322
|
-
* Space Complexity: O(n)
|
|
323
|
-
*/
|
|
324
271
|
/**
|
|
325
272
|
* Time Complexity: O(n)
|
|
326
273
|
* Space Complexity: O(n)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/queue.ts"],"names":[],"mappings":";;;AAMA,kCAA8C;AAC9C,gDAAkD;AAElD;;;;;;;;GAQG;AACH,MAAa,KAAwB,SAAQ,0BAAsC;IACjF,YAAY,WAAsC,EAAE,EAAE,OAA4B;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QAeP,cAAS,GAAQ,EAAE,CAAC;QAUpB,YAAO,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/queue.ts"],"names":[],"mappings":";;;AAMA,kCAA8C;AAC9C,gDAAkD;AAElD;;;;;;;;GAQG;AACH,MAAa,KAAwB,SAAQ,0BAAsC;IACjF,YAAY,WAAsC,EAAE,EAAE,OAA4B;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QAeP,cAAS,GAAQ,EAAE,CAAC;QAUpB,YAAO,GAAW,CAAC,CAAC;QA0CpB,sBAAiB,GAAW,GAAG,CAAC;QAjExC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,gBAAgB,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;YAC3C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC5C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,WAAW;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAO,CAAC,CAAC,CAAC;;oBACtD,IAAI,CAAC,IAAI,CAAC,EAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAID;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAID;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAID;;;OAGG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,CAAC,CAAS;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,CAAI,QAAa;QAC/B,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,OAAU;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK;QACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAsD,EAAE,OAAa;QAC1E,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;YACD,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,GAAG,CACD,QAAgD,EAChD,WAAoC,EACpC,OAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACvD,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACO,CAAC,YAAY;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;CACF;AAnRD,sBAmRC;AAED;;;;;GAKG;AACH,MAAa,eAAkC,SAAQ,8BAAsB;IAC3E;;;;;;;OAOG;IACM,KAAK;QACZ,OAAO,IAAI,eAAe,CAAO,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF;AAZD,0CAYC"}
|
|
@@ -47,10 +47,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
47
47
|
* @returns A boolean value indicating whether the `_elements` array is empty or not.
|
|
48
48
|
*/
|
|
49
49
|
isEmpty(): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Time Complexity: O(1)
|
|
52
|
-
* Space Complexity: O(1)
|
|
53
|
-
*/
|
|
54
50
|
/**
|
|
55
51
|
* Time Complexity: O(1)
|
|
56
52
|
* Space Complexity: O(1)
|
|
@@ -59,10 +55,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
59
55
|
* @returns The `peek()` function returns the last element of the `_elements` array, or `undefined` if the array is empty.
|
|
60
56
|
*/
|
|
61
57
|
peek(): E | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Time Complexity: O(1)
|
|
64
|
-
* Space Complexity: O(1)
|
|
65
|
-
*/
|
|
66
58
|
/**
|
|
67
59
|
* Time Complexity: O(1)
|
|
68
60
|
* Space Complexity: O(1)
|
|
@@ -72,10 +64,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
72
64
|
* @returns The `push` method is returning the updated `Stack<E>` object.
|
|
73
65
|
*/
|
|
74
66
|
push(element: E): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Time Complexity: O(1)
|
|
77
|
-
* Space Complexity: O(1)
|
|
78
|
-
*/
|
|
79
67
|
/**
|
|
80
68
|
* Time Complexity: O(1)
|
|
81
69
|
* Space Complexity: O(1)
|
|
@@ -97,10 +85,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
97
85
|
* @return A boolean value
|
|
98
86
|
*/
|
|
99
87
|
deleteAt(index: number): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Time Complexity: O(n)
|
|
102
|
-
* Space Complexity: O(n)
|
|
103
|
-
*/
|
|
104
88
|
/**
|
|
105
89
|
* Time Complexity: O(n)
|
|
106
90
|
* Space Complexity: O(n)
|
|
@@ -109,10 +93,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
109
93
|
* @returns An array of type E.
|
|
110
94
|
*/
|
|
111
95
|
toArray(): E[];
|
|
112
|
-
/**
|
|
113
|
-
* Time Complexity: O(1)
|
|
114
|
-
* Space Complexity: O(1)
|
|
115
|
-
*/
|
|
116
96
|
/**
|
|
117
97
|
* Time Complexity: O(1)
|
|
118
98
|
* Space Complexity: O(1)
|
|
@@ -120,10 +100,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
120
100
|
* The clear function clears the elements array.
|
|
121
101
|
*/
|
|
122
102
|
clear(): void;
|
|
123
|
-
/**
|
|
124
|
-
* Time Complexity: O(n)
|
|
125
|
-
* Space Complexity: O(n)
|
|
126
|
-
*/
|
|
127
103
|
/**
|
|
128
104
|
* Time Complexity: O(n)
|
|
129
105
|
* Space Complexity: O(n)
|
|
@@ -132,10 +108,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
132
108
|
* @returns The `clone()` method is returning a new `Stack` object with a copy of the `_elements` array.
|
|
133
109
|
*/
|
|
134
110
|
clone(): Stack<E, R>;
|
|
135
|
-
/**
|
|
136
|
-
* Time Complexity: O(n)
|
|
137
|
-
* Space Complexity: O(n)
|
|
138
|
-
*/
|
|
139
111
|
/**
|
|
140
112
|
* Time Complexity: O(n)
|
|
141
113
|
* Space Complexity: O(n)
|
|
@@ -156,8 +128,7 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
156
128
|
/**
|
|
157
129
|
* Time Complexity: O(n)
|
|
158
130
|
* Space Complexity: O(n)
|
|
159
|
-
|
|
160
|
-
/**
|
|
131
|
+
*
|
|
161
132
|
* The `map` function takes a callback function and applies it to each element in the stack,
|
|
162
133
|
* returning a new stack with the results.
|
|
163
134
|
* @param callback - The callback parameter is a function that will be called for each element in the
|
|
@@ -172,10 +143,6 @@ export declare class Stack<E = any, R = any> extends IterableElementBase<E, R, S
|
|
|
172
143
|
* @returns a new Stack object with elements of type EM and raw elements of type RM.
|
|
173
144
|
*/
|
|
174
145
|
map<EM, RM>(callback: ElementCallback<E, R, EM, Stack<E, R>>, toElementFn?: (rawElement: RM) => EM, thisArg?: any): Stack<EM, RM>;
|
|
175
|
-
/**
|
|
176
|
-
* Time Complexity: O(n)
|
|
177
|
-
* Space Complexity: O(n)
|
|
178
|
-
*/
|
|
179
146
|
/**
|
|
180
147
|
* Time Complexity: O(n)
|
|
181
148
|
* Space Complexity: O(n)
|
|
@@ -62,10 +62,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
62
62
|
isEmpty() {
|
|
63
63
|
return this.elements.length === 0;
|
|
64
64
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Time Complexity: O(1)
|
|
67
|
-
* Space Complexity: O(1)
|
|
68
|
-
*/
|
|
69
65
|
/**
|
|
70
66
|
* Time Complexity: O(1)
|
|
71
67
|
* Space Complexity: O(1)
|
|
@@ -78,10 +74,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
78
74
|
return undefined;
|
|
79
75
|
return this.elements[this.elements.length - 1];
|
|
80
76
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Time Complexity: O(1)
|
|
83
|
-
* Space Complexity: O(1)
|
|
84
|
-
*/
|
|
85
77
|
/**
|
|
86
78
|
* Time Complexity: O(1)
|
|
87
79
|
* Space Complexity: O(1)
|
|
@@ -94,10 +86,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
94
86
|
this.elements.push(element);
|
|
95
87
|
return true;
|
|
96
88
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Time Complexity: O(1)
|
|
99
|
-
* Space Complexity: O(1)
|
|
100
|
-
*/
|
|
101
89
|
/**
|
|
102
90
|
* Time Complexity: O(1)
|
|
103
91
|
* Space Complexity: O(1)
|
|
@@ -129,10 +117,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
129
117
|
const spliced = this.elements.splice(index, 1);
|
|
130
118
|
return spliced.length === 1;
|
|
131
119
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Time Complexity: O(n)
|
|
134
|
-
* Space Complexity: O(n)
|
|
135
|
-
*/
|
|
136
120
|
/**
|
|
137
121
|
* Time Complexity: O(n)
|
|
138
122
|
* Space Complexity: O(n)
|
|
@@ -143,10 +127,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
143
127
|
toArray() {
|
|
144
128
|
return this.elements.slice();
|
|
145
129
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Time Complexity: O(1)
|
|
148
|
-
* Space Complexity: O(1)
|
|
149
|
-
*/
|
|
150
130
|
/**
|
|
151
131
|
* Time Complexity: O(1)
|
|
152
132
|
* Space Complexity: O(1)
|
|
@@ -156,10 +136,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
156
136
|
clear() {
|
|
157
137
|
this._elements = [];
|
|
158
138
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Time Complexity: O(n)
|
|
161
|
-
* Space Complexity: O(n)
|
|
162
|
-
*/
|
|
163
139
|
/**
|
|
164
140
|
* Time Complexity: O(n)
|
|
165
141
|
* Space Complexity: O(n)
|
|
@@ -170,10 +146,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
170
146
|
clone() {
|
|
171
147
|
return new Stack(this, { toElementFn: this.toElementFn });
|
|
172
148
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Time Complexity: O(n)
|
|
175
|
-
* Space Complexity: O(n)
|
|
176
|
-
*/
|
|
177
149
|
/**
|
|
178
150
|
* Time Complexity: O(n)
|
|
179
151
|
* Space Complexity: O(n)
|
|
@@ -204,8 +176,7 @@ class Stack extends base_1.IterableElementBase {
|
|
|
204
176
|
/**
|
|
205
177
|
* Time Complexity: O(n)
|
|
206
178
|
* Space Complexity: O(n)
|
|
207
|
-
|
|
208
|
-
/**
|
|
179
|
+
*
|
|
209
180
|
* The `map` function takes a callback function and applies it to each element in the stack,
|
|
210
181
|
* returning a new stack with the results.
|
|
211
182
|
* @param callback - The callback parameter is a function that will be called for each element in the
|
|
@@ -228,10 +199,6 @@ class Stack extends base_1.IterableElementBase {
|
|
|
228
199
|
}
|
|
229
200
|
return newStack;
|
|
230
201
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Time Complexity: O(n)
|
|
233
|
-
* Space Complexity: O(n)
|
|
234
|
-
*/
|
|
235
202
|
/**
|
|
236
203
|
* Time Complexity: O(n)
|
|
237
204
|
* Space Complexity: O(n)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/data-structures/stack/stack.ts"],"names":[],"mappings":";;;AAQA,kCAA8C;AAE9C;;;;;;;GAOG;AACH,MAAa,KAAwB,SAAQ,0BAAsC;IACjF,YAAY,WAAsC,EAAE,EAAE,OAA4B;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QAYP,cAAS,GAAQ,EAAE,CAAC;QAX5B,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAO,CAAC,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,EAAO,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAID;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;OAGG;IAEH;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAI,QAAa;QAC/B,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/data-structures/stack/stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ class TreeNode {
|
|
|
15
15
|
constructor(key, value, children) {
|
|
16
16
|
this._key = key;
|
|
17
17
|
this._value = value || undefined;
|
|
18
|
-
|
|
18
|
+
if (children)
|
|
19
|
+
this._children = children;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
22
|
* The function returns the value of the protected variable _key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/data-structures/tree/tree.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACnB;;;;;;;;;OASG;IACH,YAAY,GAAW,EAAE,KAAS,EAAE,QAAwB;QAC1D,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/data-structures/tree/tree.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACnB;;;;;;;;;OASG;IACH,YAAY,GAAW,EAAE,KAAS,EAAE,QAAwB;QAC1D,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,SAAS,CAAC;QACjC,IAAI,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAID;;;OAGG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAID;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAID;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAgC;QAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAqC;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,QAAQ,YAAY,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE;gBAC/C,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;oBACrB,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;gBAC3B,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACf,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAlHD,4BAkHC"}
|