data-structure-typed 1.50.4 → 1.50.5
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 +116 -55
- package/SPECIFICATION.md +2 -2
- package/SPECIFICATION_zh-CN.md +81 -0
- package/{SPONSOR-zh-CN.md → SPONSOR_zh-CN.md} +1 -1
- package/benchmark/report.html +24 -24
- package/benchmark/report.json +242 -242
- package/dist/cjs/data-structures/base/iterable-base.d.ts +10 -8
- package/dist/cjs/data-structures/base/iterable-base.js +8 -12
- package/dist/cjs/data-structures/base/iterable-base.js.map +1 -1
- package/dist/cjs/data-structures/graph/abstract-graph.d.ts +1 -0
- package/dist/cjs/data-structures/graph/abstract-graph.js +3 -0
- package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -1
- package/dist/cjs/data-structures/heap/heap.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +14 -76
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +16 -86
- 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 +27 -69
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js +35 -79
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/queue/deque.d.ts +0 -53
- package/dist/cjs/data-structures/queue/deque.js +0 -61
- package/dist/cjs/data-structures/queue/deque.js.map +1 -1
- package/dist/cjs/data-structures/queue/queue.d.ts +0 -70
- package/dist/cjs/data-structures/queue/queue.js +0 -87
- package/dist/cjs/data-structures/queue/queue.js.map +1 -1
- package/dist/mjs/data-structures/base/iterable-base.d.ts +10 -8
- package/dist/mjs/data-structures/base/iterable-base.js +8 -12
- package/dist/mjs/data-structures/graph/abstract-graph.d.ts +1 -0
- package/dist/mjs/data-structures/graph/abstract-graph.js +3 -0
- package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +14 -76
- package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +16 -86
- package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +27 -69
- package/dist/mjs/data-structures/linked-list/singly-linked-list.js +33 -79
- package/dist/mjs/data-structures/queue/deque.d.ts +0 -53
- package/dist/mjs/data-structures/queue/deque.js +0 -61
- package/dist/mjs/data-structures/queue/queue.d.ts +0 -70
- package/dist/mjs/data-structures/queue/queue.js +0 -86
- package/dist/umd/data-structure-typed.js +62 -325
- package/dist/umd/data-structure-typed.min.js +2 -2
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +1 -1
- package/src/data-structures/base/iterable-base.ts +14 -10
- package/src/data-structures/graph/abstract-graph.ts +4 -0
- package/src/data-structures/heap/heap.ts +1 -1
- package/src/data-structures/linked-list/doubly-linked-list.ts +16 -94
- package/src/data-structures/linked-list/singly-linked-list.ts +35 -87
- package/src/data-structures/queue/deque.ts +0 -67
- package/src/data-structures/queue/queue.ts +0 -98
- package/test/performance/data-structures/binary-tree/avl-tree.test.ts +3 -3
- package/test/performance/data-structures/binary-tree/binary-tree-overall.test.ts +3 -3
- package/test/performance/data-structures/hash/hash-map.test.ts +6 -6
- package/test/performance/data-structures/heap/heap.test.ts +14 -14
- package/test/performance/data-structures/priority-queue/priority-queue.test.ts +11 -6
- package/test/performance/data-structures/queue/deque.test.ts +8 -8
- package/test/performance/data-structures/queue/queue.test.ts +5 -12
- package/test/performance/reportor.ts +43 -1
- package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +6 -6
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +10 -10
- package/test/unit/data-structures/linked-list/skip-list.test.ts +4 -4
- package/test/unit/data-structures/queue/deque.test.ts +26 -26
- package/test/unit/data-structures/queue/queue.test.ts +20 -20
|
@@ -120,56 +120,6 @@ export declare class Queue<E = any> extends IterableElementBase<E> {
|
|
|
120
120
|
* @return A boolean value
|
|
121
121
|
*/
|
|
122
122
|
deleteAt(index: number): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* Time Complexity: O(1)
|
|
125
|
-
* Space Complexity: O(1)
|
|
126
|
-
*/
|
|
127
|
-
/**
|
|
128
|
-
* Time Complexity: O(1)
|
|
129
|
-
* Space Complexity: O(1)
|
|
130
|
-
*
|
|
131
|
-
* The `peek` function returns the first element of the array `_elements` if it exists, otherwise it returns `undefined`.
|
|
132
|
-
* @returns The `peek()` method returns the first element of the data structure, represented by the `_elements` array at
|
|
133
|
-
* the `_offset` index. If the data structure is empty (size is 0), it returns `undefined`.
|
|
134
|
-
*/
|
|
135
|
-
peek(): E | undefined;
|
|
136
|
-
/**
|
|
137
|
-
* Time Complexity: O(1)
|
|
138
|
-
* Space Complexity: O(1)
|
|
139
|
-
*/
|
|
140
|
-
/**
|
|
141
|
-
* Time Complexity: O(1)
|
|
142
|
-
* Space Complexity: O(1)
|
|
143
|
-
*
|
|
144
|
-
* The `peekLast` function returns the last element in an array-like data structure, or undefined if the structure is empty.
|
|
145
|
-
* @returns The method `peekLast()` returns the last element of the `_elements` array if the array is not empty. If the
|
|
146
|
-
* array is empty, it returns `undefined`.
|
|
147
|
-
*/
|
|
148
|
-
peekLast(): E | undefined;
|
|
149
|
-
/**
|
|
150
|
-
* Time Complexity: O(1)
|
|
151
|
-
* Space Complexity: O(1)
|
|
152
|
-
*/
|
|
153
|
-
/**
|
|
154
|
-
* Time Complexity: O(1)
|
|
155
|
-
* Space Complexity: O(1)
|
|
156
|
-
*
|
|
157
|
-
* The enqueue function adds a value to the end of a queue.
|
|
158
|
-
* @param {E} value - The value parameter represents the value that you want to add to the queue.
|
|
159
|
-
*/
|
|
160
|
-
enqueue(value: E): boolean;
|
|
161
|
-
/**
|
|
162
|
-
* Time Complexity: O(1)
|
|
163
|
-
* Space Complexity: O(1)
|
|
164
|
-
*/
|
|
165
|
-
/**
|
|
166
|
-
* Time Complexity: O(1)
|
|
167
|
-
* Space Complexity: O(1)
|
|
168
|
-
*
|
|
169
|
-
* The `dequeue` function removes and returns the first element from a queue, or returns undefined if the queue is empty.
|
|
170
|
-
* @returns The method is returning a value of type E or undefined.
|
|
171
|
-
*/
|
|
172
|
-
dequeue(): E | undefined;
|
|
173
123
|
/**
|
|
174
124
|
* Time Complexity: O(1)
|
|
175
125
|
* Space Complexity: O(1)
|
|
@@ -288,26 +238,6 @@ export declare class Queue<E = any> extends IterableElementBase<E> {
|
|
|
288
238
|
* 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.
|
|
289
239
|
*/
|
|
290
240
|
export declare class LinkedListQueue<E = any> extends SinglyLinkedList<E> {
|
|
291
|
-
/**
|
|
292
|
-
* The `get first` function returns the value of the head node in a linked list, or `undefined` if the list is empty.
|
|
293
|
-
* @returns The `get first()` method is returning the value of the `head` node if it exists, otherwise it returns `undefined`.
|
|
294
|
-
*/
|
|
295
|
-
get first(): E | undefined;
|
|
296
|
-
/**
|
|
297
|
-
* The enqueue function adds a value to the end of an array.
|
|
298
|
-
* @param {E} value - The value parameter represents the value that you want to add to the queue.
|
|
299
|
-
*/
|
|
300
|
-
enqueue(value: E): boolean;
|
|
301
|
-
/**
|
|
302
|
-
* The `dequeue` function removes and returns the first element from a queue, or returns undefined if the queue is empty.
|
|
303
|
-
* @returns The method is returning the element at the front of the queue, or undefined if the queue is empty.
|
|
304
|
-
*/
|
|
305
|
-
dequeue(): E | undefined;
|
|
306
|
-
/**
|
|
307
|
-
* The `peek` function returns the value of the head node in a linked list, or `undefined` if the list is empty.
|
|
308
|
-
* @returns The `peek()` method is returning the value of the `head` node if it exists, otherwise it returns `undefined`.
|
|
309
|
-
*/
|
|
310
|
-
peek(): E | undefined;
|
|
311
241
|
/**
|
|
312
242
|
* Time Complexity: O(n)
|
|
313
243
|
* Space Complexity: O(n)
|
|
@@ -156,64 +156,6 @@ class Queue extends base_1.IterableElementBase {
|
|
|
156
156
|
const spliced = this.elements.splice(index, 1);
|
|
157
157
|
return spliced.length === 1;
|
|
158
158
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Time Complexity: O(1)
|
|
161
|
-
* Space Complexity: O(1)
|
|
162
|
-
*/
|
|
163
|
-
/**
|
|
164
|
-
* Time Complexity: O(1)
|
|
165
|
-
* Space Complexity: O(1)
|
|
166
|
-
*
|
|
167
|
-
* The `peek` function returns the first element of the array `_elements` if it exists, otherwise it returns `undefined`.
|
|
168
|
-
* @returns The `peek()` method returns the first element of the data structure, represented by the `_elements` array at
|
|
169
|
-
* the `_offset` index. If the data structure is empty (size is 0), it returns `undefined`.
|
|
170
|
-
*/
|
|
171
|
-
peek() {
|
|
172
|
-
return this.first;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Time Complexity: O(1)
|
|
176
|
-
* Space Complexity: O(1)
|
|
177
|
-
*/
|
|
178
|
-
/**
|
|
179
|
-
* Time Complexity: O(1)
|
|
180
|
-
* Space Complexity: O(1)
|
|
181
|
-
*
|
|
182
|
-
* The `peekLast` function returns the last element in an array-like data structure, or undefined if the structure is empty.
|
|
183
|
-
* @returns The method `peekLast()` returns the last element of the `_elements` array if the array is not empty. If the
|
|
184
|
-
* array is empty, it returns `undefined`.
|
|
185
|
-
*/
|
|
186
|
-
peekLast() {
|
|
187
|
-
return this.last;
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Time Complexity: O(1)
|
|
191
|
-
* Space Complexity: O(1)
|
|
192
|
-
*/
|
|
193
|
-
/**
|
|
194
|
-
* Time Complexity: O(1)
|
|
195
|
-
* Space Complexity: O(1)
|
|
196
|
-
*
|
|
197
|
-
* The enqueue function adds a value to the end of a queue.
|
|
198
|
-
* @param {E} value - The value parameter represents the value that you want to add to the queue.
|
|
199
|
-
*/
|
|
200
|
-
enqueue(value) {
|
|
201
|
-
return this.push(value);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Time Complexity: O(1)
|
|
205
|
-
* Space Complexity: O(1)
|
|
206
|
-
*/
|
|
207
|
-
/**
|
|
208
|
-
* Time Complexity: O(1)
|
|
209
|
-
* Space Complexity: O(1)
|
|
210
|
-
*
|
|
211
|
-
* The `dequeue` function removes and returns the first element from a queue, or returns undefined if the queue is empty.
|
|
212
|
-
* @returns The method is returning a value of type E or undefined.
|
|
213
|
-
*/
|
|
214
|
-
dequeue() {
|
|
215
|
-
return this.shift();
|
|
216
|
-
}
|
|
217
159
|
/**
|
|
218
160
|
* Time Complexity: O(1)
|
|
219
161
|
* Space Complexity: O(1)
|
|
@@ -366,35 +308,6 @@ exports.Queue = Queue;
|
|
|
366
308
|
* 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.
|
|
367
309
|
*/
|
|
368
310
|
class LinkedListQueue extends linked_list_1.SinglyLinkedList {
|
|
369
|
-
/**
|
|
370
|
-
* The `get first` function returns the value of the head node in a linked list, or `undefined` if the list is empty.
|
|
371
|
-
* @returns The `get first()` method is returning the value of the `head` node if it exists, otherwise it returns `undefined`.
|
|
372
|
-
*/
|
|
373
|
-
get first() {
|
|
374
|
-
var _a;
|
|
375
|
-
return (_a = this.head) === null || _a === void 0 ? void 0 : _a.value;
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* The enqueue function adds a value to the end of an array.
|
|
379
|
-
* @param {E} value - The value parameter represents the value that you want to add to the queue.
|
|
380
|
-
*/
|
|
381
|
-
enqueue(value) {
|
|
382
|
-
return this.push(value);
|
|
383
|
-
}
|
|
384
|
-
/**
|
|
385
|
-
* The `dequeue` function removes and returns the first element from a queue, or returns undefined if the queue is empty.
|
|
386
|
-
* @returns The method is returning the element at the front of the queue, or undefined if the queue is empty.
|
|
387
|
-
*/
|
|
388
|
-
dequeue() {
|
|
389
|
-
return this.shift();
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* The `peek` function returns the value of the head node in a linked list, or `undefined` if the list is empty.
|
|
393
|
-
* @returns The `peek()` method is returning the value of the `head` node if it exists, otherwise it returns `undefined`.
|
|
394
|
-
*/
|
|
395
|
-
peek() {
|
|
396
|
-
return this.first;
|
|
397
|
-
}
|
|
398
311
|
/**
|
|
399
312
|
* Time Complexity: O(n)
|
|
400
313
|
* 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,KAAe,SAAQ,0BAAsB;IACxD;;;;;OAKG;IACH,YAAY,WAAwB,EAAE;QACpC,KAAK,EAAE,CAAC;QAMA,cAAS,GAAQ,EAAE,CAAC;QAUpB,YAAO,GAAW,CAAC,CAAC;QAf5B,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,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;;;OAGG;IAEH;;;;;;;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;;;OAGG;IAEH;;;;;;;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;IAED;;;OAGG;IAEH;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,CAAI,QAAa;QAC/B,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IAEH;;;;;;;OAOG;IACH,IAAI,CAAC,OAAU;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IAEH;;;;;;;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,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEzD,wDAAwD;QACxD,4CAA4C;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,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;;;OAGG;IAEH
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
4
4
|
* Time Complexity: O(n)
|
|
5
5
|
* Space Complexity: O(1)
|
|
6
6
|
*/
|
|
7
|
+
abstract get size(): number;
|
|
7
8
|
/**
|
|
8
9
|
* Time Complexity: O(n)
|
|
9
10
|
* Space Complexity: O(1)
|
|
@@ -91,6 +92,10 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
91
92
|
* Time Complexity: O(n)
|
|
92
93
|
* Space Complexity: O(1)
|
|
93
94
|
*/
|
|
95
|
+
/**
|
|
96
|
+
* Time Complexity: O(n)
|
|
97
|
+
* Space Complexity: O(1)
|
|
98
|
+
*/
|
|
94
99
|
/**
|
|
95
100
|
* Time Complexity: O(n)
|
|
96
101
|
* Space Complexity: O(1)
|
|
@@ -171,10 +176,6 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
171
176
|
* collection, otherwise it returns `undefined`.
|
|
172
177
|
*/
|
|
173
178
|
get(key: K): V | undefined;
|
|
174
|
-
/**
|
|
175
|
-
* Time Complexity: O(n)
|
|
176
|
-
* Space Complexity: O(1)
|
|
177
|
-
*/
|
|
178
179
|
/**
|
|
179
180
|
* Time Complexity: O(n)
|
|
180
181
|
* Space Complexity: O(1)
|
|
@@ -205,6 +206,7 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
205
206
|
protected abstract _getIterator(...args: any[]): IterableIterator<[K, V]>;
|
|
206
207
|
}
|
|
207
208
|
export declare abstract class IterableElementBase<E = any, C = any> {
|
|
209
|
+
abstract get size(): number;
|
|
208
210
|
/**
|
|
209
211
|
* Time Complexity: O(n)
|
|
210
212
|
* Space Complexity: O(1)
|
|
@@ -253,6 +255,10 @@ export declare abstract class IterableElementBase<E = any, C = any> {
|
|
|
253
255
|
* Time Complexity: O(n)
|
|
254
256
|
* Space Complexity: O(1)
|
|
255
257
|
*/
|
|
258
|
+
/**
|
|
259
|
+
* Time Complexity: O(n)
|
|
260
|
+
* Space Complexity: O(1)
|
|
261
|
+
*/
|
|
256
262
|
/**
|
|
257
263
|
* Time Complexity: O(n)
|
|
258
264
|
* Space Complexity: O(1)
|
|
@@ -307,10 +313,6 @@ export declare abstract class IterableElementBase<E = any, C = any> {
|
|
|
307
313
|
* callback function. If no element satisfies the callback function, `undefined` is returned.
|
|
308
314
|
*/
|
|
309
315
|
find(callbackfn: ElementCallback<E, boolean>, thisArg?: any): E | undefined;
|
|
310
|
-
/**
|
|
311
|
-
* Time Complexity: O(n)
|
|
312
|
-
* Space Complexity: O(1)
|
|
313
|
-
*/
|
|
314
316
|
/**
|
|
315
317
|
* Time Complexity: O(n)
|
|
316
318
|
* Space Complexity: O(1)
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export class IterableEntryBase {
|
|
2
|
-
/**
|
|
3
|
-
* Time Complexity: O(n)
|
|
4
|
-
* Space Complexity: O(1)
|
|
5
|
-
*/
|
|
6
2
|
/**
|
|
7
3
|
* Time Complexity: O(n)
|
|
8
4
|
* Space Complexity: O(1)
|
|
@@ -120,6 +116,10 @@ export class IterableEntryBase {
|
|
|
120
116
|
* Time Complexity: O(n)
|
|
121
117
|
* Space Complexity: O(1)
|
|
122
118
|
*/
|
|
119
|
+
/**
|
|
120
|
+
* Time Complexity: O(n)
|
|
121
|
+
* Space Complexity: O(1)
|
|
122
|
+
*/
|
|
123
123
|
/**
|
|
124
124
|
* Time Complexity: O(n)
|
|
125
125
|
* Space Complexity: O(1)
|
|
@@ -234,10 +234,6 @@ export class IterableEntryBase {
|
|
|
234
234
|
}
|
|
235
235
|
return;
|
|
236
236
|
}
|
|
237
|
-
/**
|
|
238
|
-
* Time Complexity: O(n)
|
|
239
|
-
* Space Complexity: O(1)
|
|
240
|
-
*/
|
|
241
237
|
/**
|
|
242
238
|
* Time Complexity: O(n)
|
|
243
239
|
* Space Complexity: O(1)
|
|
@@ -334,6 +330,10 @@ export class IterableElementBase {
|
|
|
334
330
|
* Time Complexity: O(n)
|
|
335
331
|
* Space Complexity: O(1)
|
|
336
332
|
*/
|
|
333
|
+
/**
|
|
334
|
+
* Time Complexity: O(n)
|
|
335
|
+
* Space Complexity: O(1)
|
|
336
|
+
*/
|
|
337
337
|
/**
|
|
338
338
|
* Time Complexity: O(n)
|
|
339
339
|
* Space Complexity: O(1)
|
|
@@ -408,10 +408,6 @@ export class IterableElementBase {
|
|
|
408
408
|
}
|
|
409
409
|
return;
|
|
410
410
|
}
|
|
411
|
-
/**
|
|
412
|
-
* Time Complexity: O(n)
|
|
413
|
-
* Space Complexity: O(1)
|
|
414
|
-
*/
|
|
415
411
|
/**
|
|
416
412
|
* Time Complexity: O(n)
|
|
417
413
|
* Space Complexity: O(1)
|
|
@@ -41,6 +41,7 @@ export declare abstract class AbstractGraph<V = any, E = any, VO extends Abstrac
|
|
|
41
41
|
protected _vertexMap: Map<VertexKey, VO>;
|
|
42
42
|
get vertexMap(): Map<VertexKey, VO>;
|
|
43
43
|
set vertexMap(v: Map<VertexKey, VO>);
|
|
44
|
+
get size(): number;
|
|
44
45
|
/**
|
|
45
46
|
* In TypeScript, a subclass inherits the interface implementation of its parent class, without needing to implement the same interface again in the subclass. This behavior differs from Java's approach. In Java, if a parent class implements an interface, the subclass needs to explicitly implement the same interface, even if the parent class has already implemented it.
|
|
46
47
|
* This means that using abstract methods in the parent class cannot constrain the grandchild classes. Defining methods within an interface also cannot constrain the descendant classes. When inheriting from this class, developers need to be aware that this method needs to be overridden.
|
|
@@ -50,6 +50,9 @@ export class AbstractGraph extends IterableEntryBase {
|
|
|
50
50
|
set vertexMap(v) {
|
|
51
51
|
this._vertexMap = v;
|
|
52
52
|
}
|
|
53
|
+
get size() {
|
|
54
|
+
return this._vertexMap.size;
|
|
55
|
+
}
|
|
53
56
|
/**
|
|
54
57
|
* Time Complexity: O(1) - Constant time for Map lookup.
|
|
55
58
|
* Space Complexity: O(1) - Constant space, as it creates only a few variables.
|
|
@@ -131,24 +131,19 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
|
|
|
131
131
|
* Space Complexity: O(1)
|
|
132
132
|
*/
|
|
133
133
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
* The push
|
|
138
|
-
* @param {E} value - The value to be added to the linked list.
|
|
134
|
+
* The push function adds a new element to the end of a doubly linked list.
|
|
135
|
+
* @param {E} element - The "element" parameter represents the value that you want to add to the
|
|
136
|
+
* doubly linked list.
|
|
137
|
+
* @returns The `push` method is returning a boolean value, `true`.
|
|
139
138
|
*/
|
|
140
|
-
push(
|
|
139
|
+
push(element: E): boolean;
|
|
141
140
|
/**
|
|
142
141
|
* Time Complexity: O(1)
|
|
143
142
|
* Space Complexity: O(1)
|
|
144
143
|
*/
|
|
145
144
|
/**
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* The `pop()` function removes and returns the value of the last node in a doubly linked list.
|
|
150
|
-
* @returns The method is returning the value of the removed node (removedNode.value) if the list is not empty. If the
|
|
151
|
-
* list is empty, it returns undefined.
|
|
145
|
+
* The `pop()` function removes and returns the value of the last element in a linked list.
|
|
146
|
+
* @returns The method is returning the value of the removed node.
|
|
152
147
|
*/
|
|
153
148
|
pop(): E | undefined;
|
|
154
149
|
/**
|
|
@@ -156,12 +151,8 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
|
|
|
156
151
|
* Space Complexity: O(1)
|
|
157
152
|
*/
|
|
158
153
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* The `shift()` function removes and returns the value of the first node in a doubly linked list.
|
|
163
|
-
* @returns The method `shift()` returns the value of the node that is removed from the beginning of the doubly linked
|
|
164
|
-
* list.
|
|
154
|
+
* The `shift()` function removes and returns the value of the first element in a doubly linked list.
|
|
155
|
+
* @returns The value of the removed node.
|
|
165
156
|
*/
|
|
166
157
|
shift(): E | undefined;
|
|
167
158
|
/**
|
|
@@ -169,14 +160,12 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
|
|
|
169
160
|
* Space Complexity: O(1)
|
|
170
161
|
*/
|
|
171
162
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* The unshift
|
|
176
|
-
* @param {E} value - The `value` parameter represents the value of the new node that will be added to the beginning of the
|
|
177
|
-
* doubly linked list.
|
|
163
|
+
* The unshift function adds a new element to the beginning of a doubly linked list.
|
|
164
|
+
* @param {E} element - The "element" parameter represents the value of the element that you want to
|
|
165
|
+
* add to the beginning of the doubly linked list.
|
|
166
|
+
* @returns The `unshift` method is returning a boolean value, `true`.
|
|
178
167
|
*/
|
|
179
|
-
unshift(
|
|
168
|
+
unshift(element: E): boolean;
|
|
180
169
|
/**
|
|
181
170
|
* Time Complexity: O(n)
|
|
182
171
|
* Space Complexity: O(1)
|
|
@@ -449,57 +438,6 @@ export declare class DoublyLinkedList<E = any> extends IterableElementBase<E> {
|
|
|
449
438
|
* object.
|
|
450
439
|
*/
|
|
451
440
|
map<T>(callback: ElementCallback<E, T>, thisArg?: any): DoublyLinkedList<T>;
|
|
452
|
-
/**
|
|
453
|
-
* Time Complexity: O(1)
|
|
454
|
-
* Space Complexity: O(1)
|
|
455
|
-
*/
|
|
456
|
-
/**
|
|
457
|
-
* Time Complexity: O(1)
|
|
458
|
-
* Space Complexity: O(1)
|
|
459
|
-
*
|
|
460
|
-
* The addLast function adds a new node with the given value to the end of the doubly linked list.
|
|
461
|
-
* @param {E} value - The value to be added to the linked list.
|
|
462
|
-
*/
|
|
463
|
-
addLast(value: E): boolean;
|
|
464
|
-
/**
|
|
465
|
-
* Time Complexity: O(1)
|
|
466
|
-
* Space Complexity: O(1)
|
|
467
|
-
*/
|
|
468
|
-
/**
|
|
469
|
-
* Time Complexity: O(1)
|
|
470
|
-
* Space Complexity: O(1)
|
|
471
|
-
*
|
|
472
|
-
* The `pollLast()` function removes and returns the value of the last node in a doubly linked list.
|
|
473
|
-
* @returns The method is returning the value of the removed node (removedNode.value) if the list is not empty. If the
|
|
474
|
-
* list is empty, it returns undefined.
|
|
475
|
-
*/
|
|
476
|
-
pollLast(): E | undefined;
|
|
477
|
-
/**
|
|
478
|
-
* Time Complexity: O(1)
|
|
479
|
-
* Space Complexity: O(1)
|
|
480
|
-
*/
|
|
481
|
-
/**
|
|
482
|
-
* Time Complexity: O(1)
|
|
483
|
-
* Space Complexity: O(1)
|
|
484
|
-
*
|
|
485
|
-
* The `pollFirst()` function removes and returns the value of the first node in a doubly linked list.
|
|
486
|
-
* @returns The method `shift()` returns the value of the node that is removed from the beginning of the doubly linked
|
|
487
|
-
* list.
|
|
488
|
-
*/
|
|
489
|
-
pollFirst(): E | undefined;
|
|
490
|
-
/**
|
|
491
|
-
* Time Complexity: O(1)
|
|
492
|
-
* Space Complexity: O(1)
|
|
493
|
-
*/
|
|
494
|
-
/**
|
|
495
|
-
* Time Complexity: O(1)
|
|
496
|
-
* Space Complexity: O(1)
|
|
497
|
-
*
|
|
498
|
-
* The addFirst function adds a new node with the given value to the beginning of a doubly linked list.
|
|
499
|
-
* @param {E} value - The `value` parameter represents the value of the new node that will be added to the beginning of the
|
|
500
|
-
* doubly linked list.
|
|
501
|
-
*/
|
|
502
|
-
addFirst(value: E): void;
|
|
503
441
|
/**
|
|
504
442
|
* The function returns an iterator that iterates over the values of a linked list.
|
|
505
443
|
*/
|
|
@@ -161,14 +161,13 @@ export class DoublyLinkedList extends IterableElementBase {
|
|
|
161
161
|
* Space Complexity: O(1)
|
|
162
162
|
*/
|
|
163
163
|
/**
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* The push
|
|
168
|
-
* @param {E} value - The value to be added to the linked list.
|
|
164
|
+
* The push function adds a new element to the end of a doubly linked list.
|
|
165
|
+
* @param {E} element - The "element" parameter represents the value that you want to add to the
|
|
166
|
+
* doubly linked list.
|
|
167
|
+
* @returns The `push` method is returning a boolean value, `true`.
|
|
169
168
|
*/
|
|
170
|
-
push(
|
|
171
|
-
const newNode = new DoublyLinkedListNode(
|
|
169
|
+
push(element) {
|
|
170
|
+
const newNode = new DoublyLinkedListNode(element);
|
|
172
171
|
if (!this.head) {
|
|
173
172
|
this._head = newNode;
|
|
174
173
|
this._tail = newNode;
|
|
@@ -186,12 +185,8 @@ export class DoublyLinkedList extends IterableElementBase {
|
|
|
186
185
|
* Space Complexity: O(1)
|
|
187
186
|
*/
|
|
188
187
|
/**
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
* The `pop()` function removes and returns the value of the last node in a doubly linked list.
|
|
193
|
-
* @returns The method is returning the value of the removed node (removedNode.value) if the list is not empty. If the
|
|
194
|
-
* list is empty, it returns undefined.
|
|
188
|
+
* The `pop()` function removes and returns the value of the last element in a linked list.
|
|
189
|
+
* @returns The method is returning the value of the removed node.
|
|
195
190
|
*/
|
|
196
191
|
pop() {
|
|
197
192
|
if (!this.tail)
|
|
@@ -213,12 +208,8 @@ export class DoublyLinkedList extends IterableElementBase {
|
|
|
213
208
|
* Space Complexity: O(1)
|
|
214
209
|
*/
|
|
215
210
|
/**
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
* The `shift()` function removes and returns the value of the first node in a doubly linked list.
|
|
220
|
-
* @returns The method `shift()` returns the value of the node that is removed from the beginning of the doubly linked
|
|
221
|
-
* list.
|
|
211
|
+
* The `shift()` function removes and returns the value of the first element in a doubly linked list.
|
|
212
|
+
* @returns The value of the removed node.
|
|
222
213
|
*/
|
|
223
214
|
shift() {
|
|
224
215
|
if (!this.head)
|
|
@@ -240,15 +231,13 @@ export class DoublyLinkedList extends IterableElementBase {
|
|
|
240
231
|
* Space Complexity: O(1)
|
|
241
232
|
*/
|
|
242
233
|
/**
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* The unshift
|
|
247
|
-
* @param {E} value - The `value` parameter represents the value of the new node that will be added to the beginning of the
|
|
248
|
-
* doubly linked list.
|
|
234
|
+
* The unshift function adds a new element to the beginning of a doubly linked list.
|
|
235
|
+
* @param {E} element - The "element" parameter represents the value of the element that you want to
|
|
236
|
+
* add to the beginning of the doubly linked list.
|
|
237
|
+
* @returns The `unshift` method is returning a boolean value, `true`.
|
|
249
238
|
*/
|
|
250
|
-
unshift(
|
|
251
|
-
const newNode = new DoublyLinkedListNode(
|
|
239
|
+
unshift(element) {
|
|
240
|
+
const newNode = new DoublyLinkedListNode(element);
|
|
252
241
|
if (!this.head) {
|
|
253
242
|
this._head = newNode;
|
|
254
243
|
this._tail = newNode;
|
|
@@ -738,65 +727,6 @@ export class DoublyLinkedList extends IterableElementBase {
|
|
|
738
727
|
}
|
|
739
728
|
return mappedList;
|
|
740
729
|
}
|
|
741
|
-
/**
|
|
742
|
-
* Time Complexity: O(1)
|
|
743
|
-
* Space Complexity: O(1)
|
|
744
|
-
*/
|
|
745
|
-
/**
|
|
746
|
-
* Time Complexity: O(1)
|
|
747
|
-
* Space Complexity: O(1)
|
|
748
|
-
*
|
|
749
|
-
* The addLast function adds a new node with the given value to the end of the doubly linked list.
|
|
750
|
-
* @param {E} value - The value to be added to the linked list.
|
|
751
|
-
*/
|
|
752
|
-
addLast(value) {
|
|
753
|
-
return this.push(value);
|
|
754
|
-
}
|
|
755
|
-
/**
|
|
756
|
-
* Time Complexity: O(1)
|
|
757
|
-
* Space Complexity: O(1)
|
|
758
|
-
*/
|
|
759
|
-
/**
|
|
760
|
-
* Time Complexity: O(1)
|
|
761
|
-
* Space Complexity: O(1)
|
|
762
|
-
*
|
|
763
|
-
* The `pollLast()` function removes and returns the value of the last node in a doubly linked list.
|
|
764
|
-
* @returns The method is returning the value of the removed node (removedNode.value) if the list is not empty. If the
|
|
765
|
-
* list is empty, it returns undefined.
|
|
766
|
-
*/
|
|
767
|
-
pollLast() {
|
|
768
|
-
return this.pop();
|
|
769
|
-
}
|
|
770
|
-
/**
|
|
771
|
-
* Time Complexity: O(1)
|
|
772
|
-
* Space Complexity: O(1)
|
|
773
|
-
*/
|
|
774
|
-
/**
|
|
775
|
-
* Time Complexity: O(1)
|
|
776
|
-
* Space Complexity: O(1)
|
|
777
|
-
*
|
|
778
|
-
* The `pollFirst()` function removes and returns the value of the first node in a doubly linked list.
|
|
779
|
-
* @returns The method `shift()` returns the value of the node that is removed from the beginning of the doubly linked
|
|
780
|
-
* list.
|
|
781
|
-
*/
|
|
782
|
-
pollFirst() {
|
|
783
|
-
return this.shift();
|
|
784
|
-
}
|
|
785
|
-
/**
|
|
786
|
-
* Time Complexity: O(1)
|
|
787
|
-
* Space Complexity: O(1)
|
|
788
|
-
*/
|
|
789
|
-
/**
|
|
790
|
-
* Time Complexity: O(1)
|
|
791
|
-
* Space Complexity: O(1)
|
|
792
|
-
*
|
|
793
|
-
* The addFirst function adds a new node with the given value to the beginning of a doubly linked list.
|
|
794
|
-
* @param {E} value - The `value` parameter represents the value of the new node that will be added to the beginning of the
|
|
795
|
-
* doubly linked list.
|
|
796
|
-
*/
|
|
797
|
-
addFirst(value) {
|
|
798
|
-
this.unshift(value);
|
|
799
|
-
}
|
|
800
730
|
/**
|
|
801
731
|
* The function returns an iterator that iterates over the values of a linked list.
|
|
802
732
|
*/
|