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
package/dist/cjs/index.cjs
CHANGED
|
@@ -413,6 +413,35 @@ var IterableElementBase = class {
|
|
|
413
413
|
for (const ele of this) if (ele === element) return true;
|
|
414
414
|
return false;
|
|
415
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Check whether a value exists (Array-compatible alias for `has`).
|
|
418
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1).
|
|
419
|
+
* @param element - Element to search for (uses `===`).
|
|
420
|
+
* @returns `true` if found.
|
|
421
|
+
*/
|
|
422
|
+
includes(element) {
|
|
423
|
+
return this.has(element);
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Return an iterator of `[index, value]` pairs (Array-compatible).
|
|
427
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
428
|
+
*/
|
|
429
|
+
*entries() {
|
|
430
|
+
let index = 0;
|
|
431
|
+
for (const value of this) {
|
|
432
|
+
yield [index++, value];
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Return an iterator of numeric indices (Array-compatible).
|
|
437
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
438
|
+
*/
|
|
439
|
+
*keys() {
|
|
440
|
+
let index = 0;
|
|
441
|
+
for (const _ of this) {
|
|
442
|
+
yield index++;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
416
445
|
/**
|
|
417
446
|
* Reduces all elements to a single accumulated value.
|
|
418
447
|
*
|
|
@@ -675,6 +704,16 @@ var LinearBase = class _LinearBase extends IterableElementBase {
|
|
|
675
704
|
}
|
|
676
705
|
return this;
|
|
677
706
|
}
|
|
707
|
+
/**
|
|
708
|
+
* Return a new instance of the same type with elements in reverse order (non-mutating).
|
|
709
|
+
* @remarks Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
|
|
710
|
+
* @returns A new reversed instance.
|
|
711
|
+
*/
|
|
712
|
+
toReversed() {
|
|
713
|
+
const cloned = this.clone();
|
|
714
|
+
cloned.reverse();
|
|
715
|
+
return cloned;
|
|
716
|
+
}
|
|
678
717
|
};
|
|
679
718
|
|
|
680
719
|
// src/data-structures/heap/heap.ts
|
|
@@ -738,6 +777,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
738
777
|
|
|
739
778
|
|
|
740
779
|
|
|
780
|
+
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
741
787
|
|
|
742
788
|
|
|
743
789
|
|
|
@@ -794,7 +840,7 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
794
840
|
}
|
|
795
841
|
/**
|
|
796
842
|
* Insert an element.
|
|
797
|
-
* @remarks Time O(
|
|
843
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
798
844
|
* @param element - Element to insert.
|
|
799
845
|
* @returns True.
|
|
800
846
|
|
|
@@ -824,6 +870,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
824
870
|
|
|
825
871
|
|
|
826
872
|
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
|
|
827
880
|
|
|
828
881
|
|
|
829
882
|
|
|
@@ -881,6 +934,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
881
934
|
|
|
882
935
|
|
|
883
936
|
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
|
|
884
944
|
|
|
885
945
|
|
|
886
946
|
|
|
@@ -944,7 +1004,41 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
944
1004
|
|
|
945
1005
|
|
|
946
1006
|
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
|
|
947
1010
|
|
|
1011
|
+
|
|
1012
|
+
|
|
1013
|
+
|
|
1014
|
+
* @example
|
|
1015
|
+
* // Heap with custom comparator (MaxHeap behavior)
|
|
1016
|
+
* interface Task {
|
|
1017
|
+
* id: number;
|
|
1018
|
+
* priority: number;
|
|
1019
|
+
* name: string;
|
|
1020
|
+
* }
|
|
1021
|
+
*
|
|
1022
|
+
* // Custom comparator for max heap behavior (higher priority first)
|
|
1023
|
+
* const tasks: Task[] = [
|
|
1024
|
+
* { id: 1, priority: 5, name: 'Email' },
|
|
1025
|
+
* { id: 2, priority: 3, name: 'Chat' },
|
|
1026
|
+
* { id: 3, priority: 8, name: 'Alert' }
|
|
1027
|
+
* ];
|
|
1028
|
+
*
|
|
1029
|
+
* const maxHeap = new Heap(tasks, {
|
|
1030
|
+
* comparator: (a: Task, b: Task) => b.priority - a.priority
|
|
1031
|
+
* });
|
|
1032
|
+
*
|
|
1033
|
+
* console.log(maxHeap.size); // 3;
|
|
1034
|
+
*
|
|
1035
|
+
* // Peek returns highest priority task
|
|
1036
|
+
* const topTask = maxHeap.peek();
|
|
1037
|
+
* console.log(topTask?.priority); // 8;
|
|
1038
|
+
* console.log(topTask?.name); // 'Alert';
|
|
1039
|
+
*/
|
|
1040
|
+
/**
|
|
1041
|
+
* @deprecated Use `pop` instead. Will be removed in a future major version.
|
|
948
1042
|
|
|
949
1043
|
|
|
950
1044
|
|
|
@@ -975,6 +1069,14 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
975
1069
|
* console.log(topTask?.name); // 'Alert';
|
|
976
1070
|
*/
|
|
977
1071
|
poll() {
|
|
1072
|
+
return this.pop();
|
|
1073
|
+
}
|
|
1074
|
+
/**
|
|
1075
|
+
* Remove and return the top element (min or max depending on comparator).
|
|
1076
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
1077
|
+
* @returns The removed top element, or undefined if empty.
|
|
1078
|
+
*/
|
|
1079
|
+
pop() {
|
|
978
1080
|
if (this.elements.length === 0) return;
|
|
979
1081
|
const value = this.elements[0];
|
|
980
1082
|
const last = this.elements.pop();
|
|
@@ -1015,6 +1117,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1015
1117
|
|
|
1016
1118
|
|
|
1017
1119
|
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1018
1127
|
|
|
1019
1128
|
|
|
1020
1129
|
|
|
@@ -1115,6 +1224,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1115
1224
|
|
|
1116
1225
|
|
|
1117
1226
|
|
|
1227
|
+
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
|
|
1118
1234
|
|
|
1119
1235
|
|
|
1120
1236
|
|
|
@@ -1162,6 +1278,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1162
1278
|
|
|
1163
1279
|
|
|
1164
1280
|
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
|
|
1165
1288
|
|
|
1166
1289
|
|
|
1167
1290
|
|
|
@@ -1179,16 +1302,6 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1179
1302
|
clear() {
|
|
1180
1303
|
this._elements = [];
|
|
1181
1304
|
}
|
|
1182
|
-
/**
|
|
1183
|
-
* Replace the backing array and rebuild the heap.
|
|
1184
|
-
* @remarks Time O(N), Space O(N)
|
|
1185
|
-
* @param elements - Iterable used to refill the heap.
|
|
1186
|
-
* @returns Array of per-node results from fixing steps.
|
|
1187
|
-
*/
|
|
1188
|
-
refill(elements) {
|
|
1189
|
-
this._elements = Array.from(elements);
|
|
1190
|
-
return this.fix();
|
|
1191
|
-
}
|
|
1192
1305
|
/**
|
|
1193
1306
|
* Check if an equal element exists in the heap.
|
|
1194
1307
|
* @remarks Time O(N), Space O(1)
|
|
@@ -1212,6 +1325,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1212
1325
|
|
|
1213
1326
|
|
|
1214
1327
|
|
|
1328
|
+
|
|
1329
|
+
|
|
1330
|
+
|
|
1331
|
+
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
|
|
1215
1335
|
|
|
1216
1336
|
|
|
1217
1337
|
|
|
@@ -1259,6 +1379,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1259
1379
|
|
|
1260
1380
|
|
|
1261
1381
|
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
|
|
1262
1389
|
|
|
1263
1390
|
|
|
1264
1391
|
|
|
@@ -1283,7 +1410,7 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1283
1410
|
}
|
|
1284
1411
|
if (index < 0) return false;
|
|
1285
1412
|
if (index === 0) {
|
|
1286
|
-
this.
|
|
1413
|
+
this.pop();
|
|
1287
1414
|
} else if (index === this.elements.length - 1) {
|
|
1288
1415
|
this.elements.pop();
|
|
1289
1416
|
} else {
|
|
@@ -1293,13 +1420,19 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1293
1420
|
}
|
|
1294
1421
|
return true;
|
|
1295
1422
|
}
|
|
1423
|
+
/**
|
|
1424
|
+
* @deprecated Use `deleteWhere` instead. Will be removed in a future major version.
|
|
1425
|
+
*/
|
|
1426
|
+
deleteBy(predicate) {
|
|
1427
|
+
return this.deleteWhere(predicate);
|
|
1428
|
+
}
|
|
1296
1429
|
/**
|
|
1297
1430
|
* Delete the first element that matches a predicate.
|
|
1298
1431
|
* @remarks Time O(N), Space O(1)
|
|
1299
1432
|
* @param predicate - Function (element, index, heap) → boolean.
|
|
1300
1433
|
* @returns True if an element was removed.
|
|
1301
1434
|
*/
|
|
1302
|
-
|
|
1435
|
+
deleteWhere(predicate) {
|
|
1303
1436
|
let idx = -1;
|
|
1304
1437
|
for (let i = 0; i < this.elements.length; i++) {
|
|
1305
1438
|
if (predicate(this.elements[i], i, this)) {
|
|
@@ -1309,7 +1442,7 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1309
1442
|
}
|
|
1310
1443
|
if (idx < 0) return false;
|
|
1311
1444
|
if (idx === 0) {
|
|
1312
|
-
this.
|
|
1445
|
+
this.pop();
|
|
1313
1446
|
} else if (idx === this.elements.length - 1) {
|
|
1314
1447
|
this.elements.pop();
|
|
1315
1448
|
} else {
|
|
@@ -1352,6 +1485,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1352
1485
|
|
|
1353
1486
|
|
|
1354
1487
|
|
|
1488
|
+
|
|
1489
|
+
|
|
1490
|
+
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
|
|
1355
1495
|
|
|
1356
1496
|
|
|
1357
1497
|
|
|
@@ -1432,6 +1572,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1432
1572
|
|
|
1433
1573
|
|
|
1434
1574
|
|
|
1575
|
+
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
|
|
1435
1582
|
|
|
1436
1583
|
|
|
1437
1584
|
|
|
@@ -1485,6 +1632,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1485
1632
|
|
|
1486
1633
|
|
|
1487
1634
|
|
|
1635
|
+
|
|
1636
|
+
|
|
1637
|
+
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
|
|
1641
|
+
|
|
1488
1642
|
|
|
1489
1643
|
|
|
1490
1644
|
|
|
@@ -1537,6 +1691,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1537
1691
|
|
|
1538
1692
|
|
|
1539
1693
|
|
|
1694
|
+
|
|
1695
|
+
|
|
1696
|
+
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
|
|
1700
|
+
|
|
1540
1701
|
|
|
1541
1702
|
|
|
1542
1703
|
|
|
@@ -1596,6 +1757,13 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1596
1757
|
|
|
1597
1758
|
|
|
1598
1759
|
|
|
1760
|
+
|
|
1761
|
+
|
|
1762
|
+
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1599
1767
|
|
|
1600
1768
|
|
|
1601
1769
|
|
|
@@ -1809,6 +1977,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1809
1977
|
|
|
1810
1978
|
|
|
1811
1979
|
|
|
1980
|
+
|
|
1981
|
+
|
|
1982
|
+
|
|
1983
|
+
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
|
|
1812
1987
|
|
|
1813
1988
|
|
|
1814
1989
|
|
|
@@ -1859,6 +2034,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1859
2034
|
|
|
1860
2035
|
|
|
1861
2036
|
|
|
2037
|
+
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
|
|
1862
2044
|
|
|
1863
2045
|
|
|
1864
2046
|
|
|
@@ -1876,6 +2058,14 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1876
2058
|
get first() {
|
|
1877
2059
|
return this.length > 0 ? this.elements[this._offset] : void 0;
|
|
1878
2060
|
}
|
|
2061
|
+
/**
|
|
2062
|
+
* Peek at the front element without removing it (alias for `first`).
|
|
2063
|
+
* @remarks Time O(1), Space O(1)
|
|
2064
|
+
* @returns Front element or undefined.
|
|
2065
|
+
*/
|
|
2066
|
+
peek() {
|
|
2067
|
+
return this.first;
|
|
2068
|
+
}
|
|
1879
2069
|
/**
|
|
1880
2070
|
* Get the last element (back) without removing it.
|
|
1881
2071
|
* @remarks Time O(1), Space O(1)
|
|
@@ -1925,6 +2115,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1925
2115
|
|
|
1926
2116
|
|
|
1927
2117
|
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
|
|
2122
|
+
|
|
2123
|
+
|
|
2124
|
+
|
|
1928
2125
|
|
|
1929
2126
|
|
|
1930
2127
|
|
|
@@ -1987,6 +2184,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1987
2184
|
|
|
1988
2185
|
|
|
1989
2186
|
|
|
2187
|
+
|
|
2188
|
+
|
|
2189
|
+
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
1990
2194
|
|
|
1991
2195
|
|
|
1992
2196
|
|
|
@@ -2056,6 +2260,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2056
2260
|
|
|
2057
2261
|
|
|
2058
2262
|
|
|
2263
|
+
|
|
2264
|
+
|
|
2265
|
+
|
|
2266
|
+
|
|
2267
|
+
|
|
2268
|
+
|
|
2269
|
+
|
|
2059
2270
|
|
|
2060
2271
|
|
|
2061
2272
|
|
|
@@ -2115,6 +2326,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2115
2326
|
|
|
2116
2327
|
|
|
2117
2328
|
|
|
2329
|
+
|
|
2330
|
+
|
|
2331
|
+
|
|
2332
|
+
|
|
2333
|
+
|
|
2334
|
+
|
|
2335
|
+
|
|
2118
2336
|
|
|
2119
2337
|
|
|
2120
2338
|
|
|
@@ -2167,6 +2385,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2167
2385
|
|
|
2168
2386
|
|
|
2169
2387
|
|
|
2388
|
+
|
|
2389
|
+
|
|
2390
|
+
|
|
2391
|
+
|
|
2392
|
+
|
|
2393
|
+
|
|
2394
|
+
|
|
2170
2395
|
|
|
2171
2396
|
|
|
2172
2397
|
|
|
@@ -2221,6 +2446,21 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2221
2446
|
this._elements[this._offset + index] = newElement;
|
|
2222
2447
|
return true;
|
|
2223
2448
|
}
|
|
2449
|
+
/**
|
|
2450
|
+
* Delete the first element that satisfies a predicate.
|
|
2451
|
+
* @remarks Time O(N), Space O(N)
|
|
2452
|
+
* @param predicate - Function (value, index, queue) → boolean to decide deletion.
|
|
2453
|
+
* @returns True if a match was removed.
|
|
2454
|
+
*/
|
|
2455
|
+
deleteWhere(predicate) {
|
|
2456
|
+
for (let i = 0; i < this.length; i++) {
|
|
2457
|
+
if (predicate(this._elements[this._offset + i], i, this)) {
|
|
2458
|
+
this.deleteAt(i);
|
|
2459
|
+
return true;
|
|
2460
|
+
}
|
|
2461
|
+
}
|
|
2462
|
+
return false;
|
|
2463
|
+
}
|
|
2224
2464
|
/**
|
|
2225
2465
|
* Reverse the queue in-place by compacting then reversing.
|
|
2226
2466
|
* @remarks Time O(N), Space O(N)
|
|
@@ -2260,6 +2500,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2260
2500
|
|
|
2261
2501
|
|
|
2262
2502
|
|
|
2503
|
+
|
|
2504
|
+
|
|
2505
|
+
|
|
2506
|
+
|
|
2507
|
+
|
|
2508
|
+
|
|
2509
|
+
|
|
2263
2510
|
|
|
2264
2511
|
|
|
2265
2512
|
|
|
@@ -2306,6 +2553,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2306
2553
|
|
|
2307
2554
|
|
|
2308
2555
|
|
|
2556
|
+
|
|
2557
|
+
|
|
2558
|
+
|
|
2559
|
+
|
|
2560
|
+
|
|
2561
|
+
|
|
2562
|
+
|
|
2309
2563
|
|
|
2310
2564
|
|
|
2311
2565
|
|
|
@@ -2375,6 +2629,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2375
2629
|
|
|
2376
2630
|
|
|
2377
2631
|
|
|
2632
|
+
|
|
2633
|
+
|
|
2634
|
+
|
|
2635
|
+
|
|
2636
|
+
|
|
2637
|
+
|
|
2638
|
+
|
|
2378
2639
|
|
|
2379
2640
|
|
|
2380
2641
|
|
|
@@ -2428,6 +2689,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2428
2689
|
|
|
2429
2690
|
|
|
2430
2691
|
|
|
2692
|
+
|
|
2693
|
+
|
|
2694
|
+
|
|
2695
|
+
|
|
2696
|
+
|
|
2697
|
+
|
|
2698
|
+
|
|
2431
2699
|
|
|
2432
2700
|
|
|
2433
2701
|
|
|
@@ -2485,6 +2753,13 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2485
2753
|
|
|
2486
2754
|
|
|
2487
2755
|
|
|
2756
|
+
|
|
2757
|
+
|
|
2758
|
+
|
|
2759
|
+
|
|
2760
|
+
|
|
2761
|
+
|
|
2762
|
+
|
|
2488
2763
|
|
|
2489
2764
|
|
|
2490
2765
|
|
|
@@ -3624,6 +3899,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3624
3899
|
|
|
3625
3900
|
|
|
3626
3901
|
|
|
3902
|
+
|
|
3903
|
+
|
|
3904
|
+
|
|
3905
|
+
|
|
3906
|
+
|
|
3907
|
+
|
|
3908
|
+
|
|
3627
3909
|
|
|
3628
3910
|
|
|
3629
3911
|
|
|
@@ -3712,6 +3994,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3712
3994
|
|
|
3713
3995
|
|
|
3714
3996
|
|
|
3997
|
+
|
|
3998
|
+
|
|
3999
|
+
|
|
4000
|
+
|
|
4001
|
+
|
|
4002
|
+
|
|
4003
|
+
|
|
3715
4004
|
|
|
3716
4005
|
|
|
3717
4006
|
|
|
@@ -3798,6 +4087,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3798
4087
|
|
|
3799
4088
|
|
|
3800
4089
|
|
|
4090
|
+
|
|
4091
|
+
|
|
4092
|
+
|
|
4093
|
+
|
|
4094
|
+
|
|
4095
|
+
|
|
4096
|
+
|
|
3801
4097
|
|
|
3802
4098
|
|
|
3803
4099
|
|
|
@@ -3875,6 +4171,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3875
4171
|
|
|
3876
4172
|
|
|
3877
4173
|
|
|
4174
|
+
|
|
4175
|
+
|
|
4176
|
+
|
|
4177
|
+
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
|
|
3878
4181
|
|
|
3879
4182
|
|
|
3880
4183
|
|
|
@@ -3929,6 +4232,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3929
4232
|
|
|
3930
4233
|
|
|
3931
4234
|
|
|
4235
|
+
|
|
4236
|
+
|
|
4237
|
+
|
|
4238
|
+
|
|
4239
|
+
|
|
4240
|
+
|
|
4241
|
+
|
|
3932
4242
|
|
|
3933
4243
|
|
|
3934
4244
|
|
|
@@ -4036,6 +4346,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4036
4346
|
|
|
4037
4347
|
|
|
4038
4348
|
|
|
4349
|
+
|
|
4350
|
+
|
|
4351
|
+
|
|
4352
|
+
|
|
4353
|
+
|
|
4354
|
+
|
|
4355
|
+
|
|
4039
4356
|
|
|
4040
4357
|
|
|
4041
4358
|
|
|
@@ -4124,6 +4441,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4124
4441
|
|
|
4125
4442
|
|
|
4126
4443
|
|
|
4444
|
+
|
|
4445
|
+
|
|
4446
|
+
|
|
4447
|
+
|
|
4448
|
+
|
|
4449
|
+
|
|
4450
|
+
|
|
4127
4451
|
|
|
4128
4452
|
|
|
4129
4453
|
|
|
@@ -4174,6 +4498,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4174
4498
|
|
|
4175
4499
|
|
|
4176
4500
|
|
|
4501
|
+
|
|
4502
|
+
|
|
4503
|
+
|
|
4504
|
+
|
|
4505
|
+
|
|
4506
|
+
|
|
4507
|
+
|
|
4177
4508
|
|
|
4178
4509
|
|
|
4179
4510
|
|
|
@@ -4277,6 +4608,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4277
4608
|
|
|
4278
4609
|
|
|
4279
4610
|
|
|
4611
|
+
|
|
4612
|
+
|
|
4613
|
+
|
|
4614
|
+
|
|
4615
|
+
|
|
4616
|
+
|
|
4617
|
+
|
|
4280
4618
|
|
|
4281
4619
|
|
|
4282
4620
|
|
|
@@ -4383,6 +4721,13 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4383
4721
|
|
|
4384
4722
|
|
|
4385
4723
|
|
|
4724
|
+
|
|
4725
|
+
|
|
4726
|
+
|
|
4727
|
+
|
|
4728
|
+
|
|
4729
|
+
|
|
4730
|
+
|
|
4386
4731
|
|
|
4387
4732
|
|
|
4388
4733
|
|
|
@@ -4555,6 +4900,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4555
4900
|
|
|
4556
4901
|
|
|
4557
4902
|
|
|
4903
|
+
|
|
4904
|
+
|
|
4905
|
+
|
|
4906
|
+
|
|
4907
|
+
|
|
4908
|
+
|
|
4909
|
+
|
|
4558
4910
|
|
|
4559
4911
|
|
|
4560
4912
|
|
|
@@ -4639,6 +4991,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4639
4991
|
|
|
4640
4992
|
|
|
4641
4993
|
|
|
4994
|
+
|
|
4995
|
+
|
|
4996
|
+
|
|
4997
|
+
|
|
4998
|
+
|
|
4999
|
+
|
|
5000
|
+
|
|
4642
5001
|
|
|
4643
5002
|
|
|
4644
5003
|
|
|
@@ -4723,6 +5082,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4723
5082
|
|
|
4724
5083
|
|
|
4725
5084
|
|
|
5085
|
+
|
|
5086
|
+
|
|
5087
|
+
|
|
5088
|
+
|
|
5089
|
+
|
|
5090
|
+
|
|
5091
|
+
|
|
4726
5092
|
|
|
4727
5093
|
|
|
4728
5094
|
|
|
@@ -4821,6 +5187,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4821
5187
|
|
|
4822
5188
|
|
|
4823
5189
|
|
|
5190
|
+
|
|
5191
|
+
|
|
5192
|
+
|
|
5193
|
+
|
|
5194
|
+
|
|
5195
|
+
|
|
5196
|
+
|
|
4824
5197
|
|
|
4825
5198
|
|
|
4826
5199
|
|
|
@@ -4875,6 +5248,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4875
5248
|
|
|
4876
5249
|
|
|
4877
5250
|
|
|
5251
|
+
|
|
5252
|
+
|
|
5253
|
+
|
|
5254
|
+
|
|
5255
|
+
|
|
5256
|
+
|
|
5257
|
+
|
|
4878
5258
|
|
|
4879
5259
|
|
|
4880
5260
|
|
|
@@ -4999,6 +5379,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4999
5379
|
|
|
5000
5380
|
|
|
5001
5381
|
|
|
5382
|
+
|
|
5383
|
+
|
|
5384
|
+
|
|
5385
|
+
|
|
5386
|
+
|
|
5387
|
+
|
|
5388
|
+
|
|
5002
5389
|
|
|
5003
5390
|
|
|
5004
5391
|
|
|
@@ -5145,6 +5532,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5145
5532
|
|
|
5146
5533
|
|
|
5147
5534
|
|
|
5535
|
+
|
|
5536
|
+
|
|
5537
|
+
|
|
5538
|
+
|
|
5539
|
+
|
|
5540
|
+
|
|
5541
|
+
|
|
5148
5542
|
|
|
5149
5543
|
|
|
5150
5544
|
|
|
@@ -5213,6 +5607,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5213
5607
|
|
|
5214
5608
|
|
|
5215
5609
|
|
|
5610
|
+
|
|
5611
|
+
|
|
5612
|
+
|
|
5613
|
+
|
|
5614
|
+
|
|
5615
|
+
|
|
5616
|
+
|
|
5216
5617
|
|
|
5217
5618
|
|
|
5218
5619
|
|
|
@@ -5263,6 +5664,13 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5263
5664
|
|
|
5264
5665
|
|
|
5265
5666
|
|
|
5667
|
+
|
|
5668
|
+
|
|
5669
|
+
|
|
5670
|
+
|
|
5671
|
+
|
|
5672
|
+
|
|
5673
|
+
|
|
5266
5674
|
|
|
5267
5675
|
|
|
5268
5676
|
|