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 +422 -14
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +422 -14
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +422 -14
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +422 -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/graph-typed.js +422 -14
- package/dist/umd/graph-typed.js.map +1 -1
- package/dist/umd/graph-typed.min.js +2 -2
- package/dist/umd/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
|
|
|
@@ -947,7 +1007,41 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
947
1007
|
|
|
948
1008
|
|
|
949
1009
|
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
|
|
950
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
|
|
|
@@ -3620,6 +3895,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3620
3895
|
|
|
3621
3896
|
|
|
3622
3897
|
|
|
3898
|
+
|
|
3899
|
+
|
|
3900
|
+
|
|
3901
|
+
|
|
3902
|
+
|
|
3903
|
+
|
|
3904
|
+
|
|
3623
3905
|
|
|
3624
3906
|
|
|
3625
3907
|
|
|
@@ -3708,6 +3990,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3708
3990
|
|
|
3709
3991
|
|
|
3710
3992
|
|
|
3993
|
+
|
|
3994
|
+
|
|
3995
|
+
|
|
3996
|
+
|
|
3997
|
+
|
|
3998
|
+
|
|
3999
|
+
|
|
3711
4000
|
|
|
3712
4001
|
|
|
3713
4002
|
|
|
@@ -3794,6 +4083,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3794
4083
|
|
|
3795
4084
|
|
|
3796
4085
|
|
|
4086
|
+
|
|
4087
|
+
|
|
4088
|
+
|
|
4089
|
+
|
|
4090
|
+
|
|
4091
|
+
|
|
4092
|
+
|
|
3797
4093
|
|
|
3798
4094
|
|
|
3799
4095
|
|
|
@@ -3871,6 +4167,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3871
4167
|
|
|
3872
4168
|
|
|
3873
4169
|
|
|
4170
|
+
|
|
4171
|
+
|
|
4172
|
+
|
|
4173
|
+
|
|
4174
|
+
|
|
4175
|
+
|
|
4176
|
+
|
|
3874
4177
|
|
|
3875
4178
|
|
|
3876
4179
|
|
|
@@ -3925,6 +4228,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3925
4228
|
|
|
3926
4229
|
|
|
3927
4230
|
|
|
4231
|
+
|
|
4232
|
+
|
|
4233
|
+
|
|
4234
|
+
|
|
4235
|
+
|
|
4236
|
+
|
|
4237
|
+
|
|
3928
4238
|
|
|
3929
4239
|
|
|
3930
4240
|
|
|
@@ -4032,6 +4342,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4032
4342
|
|
|
4033
4343
|
|
|
4034
4344
|
|
|
4345
|
+
|
|
4346
|
+
|
|
4347
|
+
|
|
4348
|
+
|
|
4349
|
+
|
|
4350
|
+
|
|
4351
|
+
|
|
4035
4352
|
|
|
4036
4353
|
|
|
4037
4354
|
|
|
@@ -4120,6 +4437,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4120
4437
|
|
|
4121
4438
|
|
|
4122
4439
|
|
|
4440
|
+
|
|
4441
|
+
|
|
4442
|
+
|
|
4443
|
+
|
|
4444
|
+
|
|
4445
|
+
|
|
4446
|
+
|
|
4123
4447
|
|
|
4124
4448
|
|
|
4125
4449
|
|
|
@@ -4170,6 +4494,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4170
4494
|
|
|
4171
4495
|
|
|
4172
4496
|
|
|
4497
|
+
|
|
4498
|
+
|
|
4499
|
+
|
|
4500
|
+
|
|
4501
|
+
|
|
4502
|
+
|
|
4503
|
+
|
|
4173
4504
|
|
|
4174
4505
|
|
|
4175
4506
|
|
|
@@ -4273,6 +4604,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4273
4604
|
|
|
4274
4605
|
|
|
4275
4606
|
|
|
4607
|
+
|
|
4608
|
+
|
|
4609
|
+
|
|
4610
|
+
|
|
4611
|
+
|
|
4612
|
+
|
|
4613
|
+
|
|
4276
4614
|
|
|
4277
4615
|
|
|
4278
4616
|
|
|
@@ -4379,6 +4717,13 @@ var _DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4379
4717
|
|
|
4380
4718
|
|
|
4381
4719
|
|
|
4720
|
+
|
|
4721
|
+
|
|
4722
|
+
|
|
4723
|
+
|
|
4724
|
+
|
|
4725
|
+
|
|
4726
|
+
|
|
4382
4727
|
|
|
4383
4728
|
|
|
4384
4729
|
|
|
@@ -4549,6 +4894,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4549
4894
|
|
|
4550
4895
|
|
|
4551
4896
|
|
|
4897
|
+
|
|
4898
|
+
|
|
4899
|
+
|
|
4900
|
+
|
|
4901
|
+
|
|
4902
|
+
|
|
4903
|
+
|
|
4552
4904
|
|
|
4553
4905
|
|
|
4554
4906
|
|
|
@@ -4634,6 +4986,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4634
4986
|
|
|
4635
4987
|
|
|
4636
4988
|
|
|
4989
|
+
|
|
4990
|
+
|
|
4991
|
+
|
|
4992
|
+
|
|
4993
|
+
|
|
4994
|
+
|
|
4995
|
+
|
|
4637
4996
|
|
|
4638
4997
|
|
|
4639
4998
|
|
|
@@ -4718,6 +5077,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4718
5077
|
|
|
4719
5078
|
|
|
4720
5079
|
|
|
5080
|
+
|
|
5081
|
+
|
|
5082
|
+
|
|
5083
|
+
|
|
5084
|
+
|
|
5085
|
+
|
|
5086
|
+
|
|
4721
5087
|
|
|
4722
5088
|
|
|
4723
5089
|
|
|
@@ -4817,6 +5183,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4817
5183
|
|
|
4818
5184
|
|
|
4819
5185
|
|
|
5186
|
+
|
|
5187
|
+
|
|
5188
|
+
|
|
5189
|
+
|
|
5190
|
+
|
|
5191
|
+
|
|
5192
|
+
|
|
4820
5193
|
|
|
4821
5194
|
|
|
4822
5195
|
|
|
@@ -4871,6 +5244,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4871
5244
|
|
|
4872
5245
|
|
|
4873
5246
|
|
|
5247
|
+
|
|
5248
|
+
|
|
5249
|
+
|
|
5250
|
+
|
|
5251
|
+
|
|
5252
|
+
|
|
5253
|
+
|
|
4874
5254
|
|
|
4875
5255
|
|
|
4876
5256
|
|
|
@@ -4995,6 +5375,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4995
5375
|
|
|
4996
5376
|
|
|
4997
5377
|
|
|
5378
|
+
|
|
5379
|
+
|
|
5380
|
+
|
|
5381
|
+
|
|
5382
|
+
|
|
5383
|
+
|
|
5384
|
+
|
|
4998
5385
|
|
|
4999
5386
|
|
|
5000
5387
|
|
|
@@ -5141,6 +5528,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5141
5528
|
|
|
5142
5529
|
|
|
5143
5530
|
|
|
5531
|
+
|
|
5532
|
+
|
|
5533
|
+
|
|
5534
|
+
|
|
5535
|
+
|
|
5536
|
+
|
|
5537
|
+
|
|
5144
5538
|
|
|
5145
5539
|
|
|
5146
5540
|
|
|
@@ -5209,6 +5603,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5209
5603
|
|
|
5210
5604
|
|
|
5211
5605
|
|
|
5606
|
+
|
|
5607
|
+
|
|
5608
|
+
|
|
5609
|
+
|
|
5610
|
+
|
|
5611
|
+
|
|
5612
|
+
|
|
5212
5613
|
|
|
5213
5614
|
|
|
5214
5615
|
|
|
@@ -5259,6 +5660,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5259
5660
|
|
|
5260
5661
|
|
|
5261
5662
|
|
|
5663
|
+
|
|
5664
|
+
|
|
5665
|
+
|
|
5666
|
+
|
|
5667
|
+
|
|
5668
|
+
|
|
5669
|
+
|
|
5262
5670
|
|
|
5263
5671
|
|
|
5264
5672
|
|