undirected-graph-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/dist/cjs/index.cjs +352 -14
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +352 -14
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +352 -14
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +352 -14
- package/dist/esm-legacy/index.mjs.map +1 -1
- 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/undirected-graph-typed.js +352 -14
- package/dist/umd/undirected-graph-typed.js.map +1 -1
- package/dist/umd/undirected-graph-typed.min.js +1 -1
- package/dist/umd/undirected-graph-typed.min.js.map +1 -1
- package/package.json +2 -2
- 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
|
@@ -408,6 +408,35 @@ var _IterableElementBase = class _IterableElementBase {
|
|
|
408
408
|
for (const ele of this) if (ele === element) return true;
|
|
409
409
|
return false;
|
|
410
410
|
}
|
|
411
|
+
/**
|
|
412
|
+
* Check whether a value exists (Array-compatible alias for `has`).
|
|
413
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1).
|
|
414
|
+
* @param element - Element to search for (uses `===`).
|
|
415
|
+
* @returns `true` if found.
|
|
416
|
+
*/
|
|
417
|
+
includes(element) {
|
|
418
|
+
return this.has(element);
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Return an iterator of `[index, value]` pairs (Array-compatible).
|
|
422
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
423
|
+
*/
|
|
424
|
+
*entries() {
|
|
425
|
+
let index = 0;
|
|
426
|
+
for (const value of this) {
|
|
427
|
+
yield [index++, value];
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Return an iterator of numeric indices (Array-compatible).
|
|
432
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
433
|
+
*/
|
|
434
|
+
*keys() {
|
|
435
|
+
let index = 0;
|
|
436
|
+
for (const _ of this) {
|
|
437
|
+
yield index++;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
411
440
|
/**
|
|
412
441
|
* Reduces all elements to a single accumulated value.
|
|
413
442
|
*
|
|
@@ -669,6 +698,16 @@ var _LinearBase = class _LinearBase extends IterableElementBase {
|
|
|
669
698
|
}
|
|
670
699
|
return this;
|
|
671
700
|
}
|
|
701
|
+
/**
|
|
702
|
+
* Return a new instance of the same type with elements in reverse order (non-mutating).
|
|
703
|
+
* @remarks Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
|
|
704
|
+
* @returns A new reversed instance.
|
|
705
|
+
*/
|
|
706
|
+
toReversed() {
|
|
707
|
+
const cloned = this.clone();
|
|
708
|
+
cloned.reverse();
|
|
709
|
+
return cloned;
|
|
710
|
+
}
|
|
672
711
|
};
|
|
673
712
|
__name(_LinearBase, "LinearBase");
|
|
674
713
|
var LinearBase = _LinearBase;
|
|
@@ -740,6 +779,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
740
779
|
|
|
741
780
|
|
|
742
781
|
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
|
|
743
789
|
|
|
744
790
|
|
|
745
791
|
|
|
@@ -797,7 +843,7 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
797
843
|
}
|
|
798
844
|
/**
|
|
799
845
|
* Insert an element.
|
|
800
|
-
* @remarks Time O(
|
|
846
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
801
847
|
* @param element - Element to insert.
|
|
802
848
|
* @returns True.
|
|
803
849
|
|
|
@@ -827,6 +873,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
827
873
|
|
|
828
874
|
|
|
829
875
|
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
830
883
|
|
|
831
884
|
|
|
832
885
|
|
|
@@ -884,6 +937,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
884
937
|
|
|
885
938
|
|
|
886
939
|
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
|
|
887
947
|
|
|
888
948
|
|
|
889
949
|
|
|
@@ -948,6 +1008,40 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
948
1008
|
|
|
949
1009
|
|
|
950
1010
|
|
|
1011
|
+
|
|
1012
|
+
|
|
1013
|
+
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
|
|
1017
|
+
* @example
|
|
1018
|
+
* // Heap with custom comparator (MaxHeap behavior)
|
|
1019
|
+
* interface Task {
|
|
1020
|
+
* id: number;
|
|
1021
|
+
* priority: number;
|
|
1022
|
+
* name: string;
|
|
1023
|
+
* }
|
|
1024
|
+
*
|
|
1025
|
+
* // Custom comparator for max heap behavior (higher priority first)
|
|
1026
|
+
* const tasks: Task[] = [
|
|
1027
|
+
* { id: 1, priority: 5, name: 'Email' },
|
|
1028
|
+
* { id: 2, priority: 3, name: 'Chat' },
|
|
1029
|
+
* { id: 3, priority: 8, name: 'Alert' }
|
|
1030
|
+
* ];
|
|
1031
|
+
*
|
|
1032
|
+
* const maxHeap = new Heap(tasks, {
|
|
1033
|
+
* comparator: (a: Task, b: Task) => b.priority - a.priority
|
|
1034
|
+
* });
|
|
1035
|
+
*
|
|
1036
|
+
* console.log(maxHeap.size); // 3;
|
|
1037
|
+
*
|
|
1038
|
+
* // Peek returns highest priority task
|
|
1039
|
+
* const topTask = maxHeap.peek();
|
|
1040
|
+
* console.log(topTask?.priority); // 8;
|
|
1041
|
+
* console.log(topTask?.name); // 'Alert';
|
|
1042
|
+
*/
|
|
1043
|
+
/**
|
|
1044
|
+
* @deprecated Use `pop` instead. Will be removed in a future major version.
|
|
951
1045
|
|
|
952
1046
|
|
|
953
1047
|
|
|
@@ -978,6 +1072,14 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
978
1072
|
* console.log(topTask?.name); // 'Alert';
|
|
979
1073
|
*/
|
|
980
1074
|
poll() {
|
|
1075
|
+
return this.pop();
|
|
1076
|
+
}
|
|
1077
|
+
/**
|
|
1078
|
+
* Remove and return the top element (min or max depending on comparator).
|
|
1079
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
1080
|
+
* @returns The removed top element, or undefined if empty.
|
|
1081
|
+
*/
|
|
1082
|
+
pop() {
|
|
981
1083
|
if (this.elements.length === 0) return;
|
|
982
1084
|
const value = this.elements[0];
|
|
983
1085
|
const last = this.elements.pop();
|
|
@@ -1018,6 +1120,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1018
1120
|
|
|
1019
1121
|
|
|
1020
1122
|
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
|
|
1021
1130
|
|
|
1022
1131
|
|
|
1023
1132
|
|
|
@@ -1118,6 +1227,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1118
1227
|
|
|
1119
1228
|
|
|
1120
1229
|
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
|
|
1121
1237
|
|
|
1122
1238
|
|
|
1123
1239
|
|
|
@@ -1165,6 +1281,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1165
1281
|
|
|
1166
1282
|
|
|
1167
1283
|
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
|
|
1168
1291
|
|
|
1169
1292
|
|
|
1170
1293
|
|
|
@@ -1182,16 +1305,6 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1182
1305
|
clear() {
|
|
1183
1306
|
this._elements = [];
|
|
1184
1307
|
}
|
|
1185
|
-
/**
|
|
1186
|
-
* Replace the backing array and rebuild the heap.
|
|
1187
|
-
* @remarks Time O(N), Space O(N)
|
|
1188
|
-
* @param elements - Iterable used to refill the heap.
|
|
1189
|
-
* @returns Array of per-node results from fixing steps.
|
|
1190
|
-
*/
|
|
1191
|
-
refill(elements) {
|
|
1192
|
-
this._elements = Array.from(elements);
|
|
1193
|
-
return this.fix();
|
|
1194
|
-
}
|
|
1195
1308
|
/**
|
|
1196
1309
|
* Check if an equal element exists in the heap.
|
|
1197
1310
|
* @remarks Time O(N), Space O(1)
|
|
@@ -1215,6 +1328,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1215
1328
|
|
|
1216
1329
|
|
|
1217
1330
|
|
|
1331
|
+
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1218
1338
|
|
|
1219
1339
|
|
|
1220
1340
|
|
|
@@ -1262,6 +1382,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1262
1382
|
|
|
1263
1383
|
|
|
1264
1384
|
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
|
|
1265
1392
|
|
|
1266
1393
|
|
|
1267
1394
|
|
|
@@ -1286,7 +1413,7 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1286
1413
|
}
|
|
1287
1414
|
if (index < 0) return false;
|
|
1288
1415
|
if (index === 0) {
|
|
1289
|
-
this.
|
|
1416
|
+
this.pop();
|
|
1290
1417
|
} else if (index === this.elements.length - 1) {
|
|
1291
1418
|
this.elements.pop();
|
|
1292
1419
|
} else {
|
|
@@ -1296,13 +1423,19 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1296
1423
|
}
|
|
1297
1424
|
return true;
|
|
1298
1425
|
}
|
|
1426
|
+
/**
|
|
1427
|
+
* @deprecated Use `deleteWhere` instead. Will be removed in a future major version.
|
|
1428
|
+
*/
|
|
1429
|
+
deleteBy(predicate) {
|
|
1430
|
+
return this.deleteWhere(predicate);
|
|
1431
|
+
}
|
|
1299
1432
|
/**
|
|
1300
1433
|
* Delete the first element that matches a predicate.
|
|
1301
1434
|
* @remarks Time O(N), Space O(1)
|
|
1302
1435
|
* @param predicate - Function (element, index, heap) → boolean.
|
|
1303
1436
|
* @returns True if an element was removed.
|
|
1304
1437
|
*/
|
|
1305
|
-
|
|
1438
|
+
deleteWhere(predicate) {
|
|
1306
1439
|
let idx = -1;
|
|
1307
1440
|
for (let i = 0; i < this.elements.length; i++) {
|
|
1308
1441
|
if (predicate(this.elements[i], i, this)) {
|
|
@@ -1312,7 +1445,7 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1312
1445
|
}
|
|
1313
1446
|
if (idx < 0) return false;
|
|
1314
1447
|
if (idx === 0) {
|
|
1315
|
-
this.
|
|
1448
|
+
this.pop();
|
|
1316
1449
|
} else if (idx === this.elements.length - 1) {
|
|
1317
1450
|
this.elements.pop();
|
|
1318
1451
|
} else {
|
|
@@ -1355,6 +1488,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1355
1488
|
|
|
1356
1489
|
|
|
1357
1490
|
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1358
1498
|
|
|
1359
1499
|
|
|
1360
1500
|
|
|
@@ -1435,6 +1575,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1435
1575
|
|
|
1436
1576
|
|
|
1437
1577
|
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
|
|
1438
1585
|
|
|
1439
1586
|
|
|
1440
1587
|
|
|
@@ -1488,6 +1635,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1488
1635
|
|
|
1489
1636
|
|
|
1490
1637
|
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
|
|
1491
1645
|
|
|
1492
1646
|
|
|
1493
1647
|
|
|
@@ -1540,6 +1694,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1540
1694
|
|
|
1541
1695
|
|
|
1542
1696
|
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1543
1704
|
|
|
1544
1705
|
|
|
1545
1706
|
|
|
@@ -1599,6 +1760,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1599
1760
|
|
|
1600
1761
|
|
|
1601
1762
|
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
|
|
1602
1770
|
|
|
1603
1771
|
|
|
1604
1772
|
|
|
@@ -1802,6 +1970,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1802
1970
|
|
|
1803
1971
|
|
|
1804
1972
|
|
|
1973
|
+
|
|
1974
|
+
|
|
1975
|
+
|
|
1976
|
+
|
|
1977
|
+
|
|
1978
|
+
|
|
1979
|
+
|
|
1805
1980
|
|
|
1806
1981
|
|
|
1807
1982
|
|
|
@@ -1852,6 +2027,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1852
2027
|
|
|
1853
2028
|
|
|
1854
2029
|
|
|
2030
|
+
|
|
2031
|
+
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
|
|
2035
|
+
|
|
2036
|
+
|
|
1855
2037
|
|
|
1856
2038
|
|
|
1857
2039
|
|
|
@@ -1869,6 +2051,14 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1869
2051
|
get first() {
|
|
1870
2052
|
return this.length > 0 ? this.elements[this._offset] : void 0;
|
|
1871
2053
|
}
|
|
2054
|
+
/**
|
|
2055
|
+
* Peek at the front element without removing it (alias for `first`).
|
|
2056
|
+
* @remarks Time O(1), Space O(1)
|
|
2057
|
+
* @returns Front element or undefined.
|
|
2058
|
+
*/
|
|
2059
|
+
peek() {
|
|
2060
|
+
return this.first;
|
|
2061
|
+
}
|
|
1872
2062
|
/**
|
|
1873
2063
|
* Get the last element (back) without removing it.
|
|
1874
2064
|
* @remarks Time O(1), Space O(1)
|
|
@@ -1918,6 +2108,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1918
2108
|
|
|
1919
2109
|
|
|
1920
2110
|
|
|
2111
|
+
|
|
2112
|
+
|
|
2113
|
+
|
|
2114
|
+
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
1921
2118
|
|
|
1922
2119
|
|
|
1923
2120
|
|
|
@@ -1980,6 +2177,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1980
2177
|
|
|
1981
2178
|
|
|
1982
2179
|
|
|
2180
|
+
|
|
2181
|
+
|
|
2182
|
+
|
|
2183
|
+
|
|
2184
|
+
|
|
2185
|
+
|
|
2186
|
+
|
|
1983
2187
|
|
|
1984
2188
|
|
|
1985
2189
|
|
|
@@ -2049,6 +2253,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2049
2253
|
|
|
2050
2254
|
|
|
2051
2255
|
|
|
2256
|
+
|
|
2257
|
+
|
|
2258
|
+
|
|
2259
|
+
|
|
2260
|
+
|
|
2261
|
+
|
|
2262
|
+
|
|
2052
2263
|
|
|
2053
2264
|
|
|
2054
2265
|
|
|
@@ -2108,6 +2319,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2108
2319
|
|
|
2109
2320
|
|
|
2110
2321
|
|
|
2322
|
+
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
|
|
2328
|
+
|
|
2111
2329
|
|
|
2112
2330
|
|
|
2113
2331
|
|
|
@@ -2160,6 +2378,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2160
2378
|
|
|
2161
2379
|
|
|
2162
2380
|
|
|
2381
|
+
|
|
2382
|
+
|
|
2383
|
+
|
|
2384
|
+
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
|
|
2163
2388
|
|
|
2164
2389
|
|
|
2165
2390
|
|
|
@@ -2214,6 +2439,21 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2214
2439
|
this._elements[this._offset + index] = newElement;
|
|
2215
2440
|
return true;
|
|
2216
2441
|
}
|
|
2442
|
+
/**
|
|
2443
|
+
* Delete the first element that satisfies a predicate.
|
|
2444
|
+
* @remarks Time O(N), Space O(N)
|
|
2445
|
+
* @param predicate - Function (value, index, queue) → boolean to decide deletion.
|
|
2446
|
+
* @returns True if a match was removed.
|
|
2447
|
+
*/
|
|
2448
|
+
deleteWhere(predicate) {
|
|
2449
|
+
for (let i = 0; i < this.length; i++) {
|
|
2450
|
+
if (predicate(this._elements[this._offset + i], i, this)) {
|
|
2451
|
+
this.deleteAt(i);
|
|
2452
|
+
return true;
|
|
2453
|
+
}
|
|
2454
|
+
}
|
|
2455
|
+
return false;
|
|
2456
|
+
}
|
|
2217
2457
|
/**
|
|
2218
2458
|
* Reverse the queue in-place by compacting then reversing.
|
|
2219
2459
|
* @remarks Time O(N), Space O(N)
|
|
@@ -2253,6 +2493,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2253
2493
|
|
|
2254
2494
|
|
|
2255
2495
|
|
|
2496
|
+
|
|
2497
|
+
|
|
2498
|
+
|
|
2499
|
+
|
|
2500
|
+
|
|
2501
|
+
|
|
2502
|
+
|
|
2256
2503
|
|
|
2257
2504
|
|
|
2258
2505
|
|
|
@@ -2299,6 +2546,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2299
2546
|
|
|
2300
2547
|
|
|
2301
2548
|
|
|
2549
|
+
|
|
2550
|
+
|
|
2551
|
+
|
|
2552
|
+
|
|
2553
|
+
|
|
2554
|
+
|
|
2555
|
+
|
|
2302
2556
|
|
|
2303
2557
|
|
|
2304
2558
|
|
|
@@ -2368,6 +2622,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2368
2622
|
|
|
2369
2623
|
|
|
2370
2624
|
|
|
2625
|
+
|
|
2626
|
+
|
|
2627
|
+
|
|
2628
|
+
|
|
2629
|
+
|
|
2630
|
+
|
|
2631
|
+
|
|
2371
2632
|
|
|
2372
2633
|
|
|
2373
2634
|
|
|
@@ -2421,6 +2682,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2421
2682
|
|
|
2422
2683
|
|
|
2423
2684
|
|
|
2685
|
+
|
|
2686
|
+
|
|
2687
|
+
|
|
2688
|
+
|
|
2689
|
+
|
|
2690
|
+
|
|
2691
|
+
|
|
2424
2692
|
|
|
2425
2693
|
|
|
2426
2694
|
|
|
@@ -2478,6 +2746,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2478
2746
|
|
|
2479
2747
|
|
|
2480
2748
|
|
|
2749
|
+
|
|
2750
|
+
|
|
2751
|
+
|
|
2752
|
+
|
|
2753
|
+
|
|
2754
|
+
|
|
2755
|
+
|
|
2481
2756
|
|
|
2482
2757
|
|
|
2483
2758
|
|
|
@@ -3609,6 +3884,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3609
3884
|
|
|
3610
3885
|
|
|
3611
3886
|
|
|
3887
|
+
|
|
3888
|
+
|
|
3889
|
+
|
|
3890
|
+
|
|
3891
|
+
|
|
3892
|
+
|
|
3893
|
+
|
|
3612
3894
|
|
|
3613
3895
|
|
|
3614
3896
|
|
|
@@ -3694,6 +3976,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3694
3976
|
|
|
3695
3977
|
|
|
3696
3978
|
|
|
3979
|
+
|
|
3980
|
+
|
|
3981
|
+
|
|
3982
|
+
|
|
3983
|
+
|
|
3984
|
+
|
|
3985
|
+
|
|
3697
3986
|
|
|
3698
3987
|
|
|
3699
3988
|
|
|
@@ -3778,6 +4067,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3778
4067
|
|
|
3779
4068
|
|
|
3780
4069
|
|
|
4070
|
+
|
|
4071
|
+
|
|
4072
|
+
|
|
4073
|
+
|
|
4074
|
+
|
|
4075
|
+
|
|
4076
|
+
|
|
3781
4077
|
|
|
3782
4078
|
|
|
3783
4079
|
|
|
@@ -3877,6 +4173,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3877
4173
|
|
|
3878
4174
|
|
|
3879
4175
|
|
|
4176
|
+
|
|
4177
|
+
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
|
|
4181
|
+
|
|
4182
|
+
|
|
3880
4183
|
|
|
3881
4184
|
|
|
3882
4185
|
|
|
@@ -3931,6 +4234,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3931
4234
|
|
|
3932
4235
|
|
|
3933
4236
|
|
|
4237
|
+
|
|
4238
|
+
|
|
4239
|
+
|
|
4240
|
+
|
|
4241
|
+
|
|
4242
|
+
|
|
4243
|
+
|
|
3934
4244
|
|
|
3935
4245
|
|
|
3936
4246
|
|
|
@@ -4055,6 +4365,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4055
4365
|
|
|
4056
4366
|
|
|
4057
4367
|
|
|
4368
|
+
|
|
4369
|
+
|
|
4370
|
+
|
|
4371
|
+
|
|
4372
|
+
|
|
4373
|
+
|
|
4374
|
+
|
|
4058
4375
|
|
|
4059
4376
|
|
|
4060
4377
|
|
|
@@ -4201,6 +4518,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4201
4518
|
|
|
4202
4519
|
|
|
4203
4520
|
|
|
4521
|
+
|
|
4522
|
+
|
|
4523
|
+
|
|
4524
|
+
|
|
4525
|
+
|
|
4526
|
+
|
|
4527
|
+
|
|
4204
4528
|
|
|
4205
4529
|
|
|
4206
4530
|
|
|
@@ -4269,6 +4593,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4269
4593
|
|
|
4270
4594
|
|
|
4271
4595
|
|
|
4596
|
+
|
|
4597
|
+
|
|
4598
|
+
|
|
4599
|
+
|
|
4600
|
+
|
|
4601
|
+
|
|
4602
|
+
|
|
4272
4603
|
|
|
4273
4604
|
|
|
4274
4605
|
|
|
@@ -4319,6 +4650,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4319
4650
|
|
|
4320
4651
|
|
|
4321
4652
|
|
|
4653
|
+
|
|
4654
|
+
|
|
4655
|
+
|
|
4656
|
+
|
|
4657
|
+
|
|
4658
|
+
|
|
4659
|
+
|
|
4322
4660
|
|
|
4323
4661
|
|
|
4324
4662
|
|