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
|
@@ -410,6 +410,35 @@ var _IterableElementBase = class _IterableElementBase {
|
|
|
410
410
|
for (const ele of this) if (ele === element) return true;
|
|
411
411
|
return false;
|
|
412
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Check whether a value exists (Array-compatible alias for `has`).
|
|
415
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1).
|
|
416
|
+
* @param element - Element to search for (uses `===`).
|
|
417
|
+
* @returns `true` if found.
|
|
418
|
+
*/
|
|
419
|
+
includes(element) {
|
|
420
|
+
return this.has(element);
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Return an iterator of `[index, value]` pairs (Array-compatible).
|
|
424
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
425
|
+
*/
|
|
426
|
+
*entries() {
|
|
427
|
+
let index = 0;
|
|
428
|
+
for (const value of this) {
|
|
429
|
+
yield [index++, value];
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Return an iterator of numeric indices (Array-compatible).
|
|
434
|
+
* @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
435
|
+
*/
|
|
436
|
+
*keys() {
|
|
437
|
+
let index = 0;
|
|
438
|
+
for (const _ of this) {
|
|
439
|
+
yield index++;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
413
442
|
/**
|
|
414
443
|
* Reduces all elements to a single accumulated value.
|
|
415
444
|
*
|
|
@@ -671,6 +700,16 @@ var _LinearBase = class _LinearBase extends IterableElementBase {
|
|
|
671
700
|
}
|
|
672
701
|
return this;
|
|
673
702
|
}
|
|
703
|
+
/**
|
|
704
|
+
* Return a new instance of the same type with elements in reverse order (non-mutating).
|
|
705
|
+
* @remarks Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
|
|
706
|
+
* @returns A new reversed instance.
|
|
707
|
+
*/
|
|
708
|
+
toReversed() {
|
|
709
|
+
const cloned = this.clone();
|
|
710
|
+
cloned.reverse();
|
|
711
|
+
return cloned;
|
|
712
|
+
}
|
|
674
713
|
};
|
|
675
714
|
__name(_LinearBase, "LinearBase");
|
|
676
715
|
var LinearBase = _LinearBase;
|
|
@@ -742,6 +781,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
742
781
|
|
|
743
782
|
|
|
744
783
|
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
|
|
745
791
|
|
|
746
792
|
|
|
747
793
|
|
|
@@ -799,7 +845,7 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
799
845
|
}
|
|
800
846
|
/**
|
|
801
847
|
* Insert an element.
|
|
802
|
-
* @remarks Time O(
|
|
848
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
803
849
|
* @param element - Element to insert.
|
|
804
850
|
* @returns True.
|
|
805
851
|
|
|
@@ -829,6 +875,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
829
875
|
|
|
830
876
|
|
|
831
877
|
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
832
885
|
|
|
833
886
|
|
|
834
887
|
|
|
@@ -886,6 +939,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
886
939
|
|
|
887
940
|
|
|
888
941
|
|
|
942
|
+
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
|
|
889
949
|
|
|
890
950
|
|
|
891
951
|
|
|
@@ -950,6 +1010,40 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
950
1010
|
|
|
951
1011
|
|
|
952
1012
|
|
|
1013
|
+
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
* @example
|
|
1020
|
+
* // Heap with custom comparator (MaxHeap behavior)
|
|
1021
|
+
* interface Task {
|
|
1022
|
+
* id: number;
|
|
1023
|
+
* priority: number;
|
|
1024
|
+
* name: string;
|
|
1025
|
+
* }
|
|
1026
|
+
*
|
|
1027
|
+
* // Custom comparator for max heap behavior (higher priority first)
|
|
1028
|
+
* const tasks: Task[] = [
|
|
1029
|
+
* { id: 1, priority: 5, name: 'Email' },
|
|
1030
|
+
* { id: 2, priority: 3, name: 'Chat' },
|
|
1031
|
+
* { id: 3, priority: 8, name: 'Alert' }
|
|
1032
|
+
* ];
|
|
1033
|
+
*
|
|
1034
|
+
* const maxHeap = new Heap(tasks, {
|
|
1035
|
+
* comparator: (a: Task, b: Task) => b.priority - a.priority
|
|
1036
|
+
* });
|
|
1037
|
+
*
|
|
1038
|
+
* console.log(maxHeap.size); // 3;
|
|
1039
|
+
*
|
|
1040
|
+
* // Peek returns highest priority task
|
|
1041
|
+
* const topTask = maxHeap.peek();
|
|
1042
|
+
* console.log(topTask?.priority); // 8;
|
|
1043
|
+
* console.log(topTask?.name); // 'Alert';
|
|
1044
|
+
*/
|
|
1045
|
+
/**
|
|
1046
|
+
* @deprecated Use `pop` instead. Will be removed in a future major version.
|
|
953
1047
|
|
|
954
1048
|
|
|
955
1049
|
|
|
@@ -980,6 +1074,14 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
980
1074
|
* console.log(topTask?.name); // 'Alert';
|
|
981
1075
|
*/
|
|
982
1076
|
poll() {
|
|
1077
|
+
return this.pop();
|
|
1078
|
+
}
|
|
1079
|
+
/**
|
|
1080
|
+
* Remove and return the top element (min or max depending on comparator).
|
|
1081
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
1082
|
+
* @returns The removed top element, or undefined if empty.
|
|
1083
|
+
*/
|
|
1084
|
+
pop() {
|
|
983
1085
|
if (this.elements.length === 0) return;
|
|
984
1086
|
const value = this.elements[0];
|
|
985
1087
|
const last = this.elements.pop();
|
|
@@ -1020,6 +1122,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1020
1122
|
|
|
1021
1123
|
|
|
1022
1124
|
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1023
1132
|
|
|
1024
1133
|
|
|
1025
1134
|
|
|
@@ -1120,6 +1229,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1120
1229
|
|
|
1121
1230
|
|
|
1122
1231
|
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
|
|
1123
1239
|
|
|
1124
1240
|
|
|
1125
1241
|
|
|
@@ -1167,6 +1283,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1167
1283
|
|
|
1168
1284
|
|
|
1169
1285
|
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
|
|
1291
|
+
|
|
1292
|
+
|
|
1170
1293
|
|
|
1171
1294
|
|
|
1172
1295
|
|
|
@@ -1184,16 +1307,6 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1184
1307
|
clear() {
|
|
1185
1308
|
this._elements = [];
|
|
1186
1309
|
}
|
|
1187
|
-
/**
|
|
1188
|
-
* Replace the backing array and rebuild the heap.
|
|
1189
|
-
* @remarks Time O(N), Space O(N)
|
|
1190
|
-
* @param elements - Iterable used to refill the heap.
|
|
1191
|
-
* @returns Array of per-node results from fixing steps.
|
|
1192
|
-
*/
|
|
1193
|
-
refill(elements) {
|
|
1194
|
-
this._elements = Array.from(elements);
|
|
1195
|
-
return this.fix();
|
|
1196
|
-
}
|
|
1197
1310
|
/**
|
|
1198
1311
|
* Check if an equal element exists in the heap.
|
|
1199
1312
|
* @remarks Time O(N), Space O(1)
|
|
@@ -1217,6 +1330,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1217
1330
|
|
|
1218
1331
|
|
|
1219
1332
|
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
|
|
1220
1340
|
|
|
1221
1341
|
|
|
1222
1342
|
|
|
@@ -1264,6 +1384,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1264
1384
|
|
|
1265
1385
|
|
|
1266
1386
|
|
|
1387
|
+
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
|
|
1267
1394
|
|
|
1268
1395
|
|
|
1269
1396
|
|
|
@@ -1288,7 +1415,7 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1288
1415
|
}
|
|
1289
1416
|
if (index < 0) return false;
|
|
1290
1417
|
if (index === 0) {
|
|
1291
|
-
this.
|
|
1418
|
+
this.pop();
|
|
1292
1419
|
} else if (index === this.elements.length - 1) {
|
|
1293
1420
|
this.elements.pop();
|
|
1294
1421
|
} else {
|
|
@@ -1298,13 +1425,19 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1298
1425
|
}
|
|
1299
1426
|
return true;
|
|
1300
1427
|
}
|
|
1428
|
+
/**
|
|
1429
|
+
* @deprecated Use `deleteWhere` instead. Will be removed in a future major version.
|
|
1430
|
+
*/
|
|
1431
|
+
deleteBy(predicate) {
|
|
1432
|
+
return this.deleteWhere(predicate);
|
|
1433
|
+
}
|
|
1301
1434
|
/**
|
|
1302
1435
|
* Delete the first element that matches a predicate.
|
|
1303
1436
|
* @remarks Time O(N), Space O(1)
|
|
1304
1437
|
* @param predicate - Function (element, index, heap) → boolean.
|
|
1305
1438
|
* @returns True if an element was removed.
|
|
1306
1439
|
*/
|
|
1307
|
-
|
|
1440
|
+
deleteWhere(predicate) {
|
|
1308
1441
|
let idx = -1;
|
|
1309
1442
|
for (let i = 0; i < this.elements.length; i++) {
|
|
1310
1443
|
if (predicate(this.elements[i], i, this)) {
|
|
@@ -1314,7 +1447,7 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1314
1447
|
}
|
|
1315
1448
|
if (idx < 0) return false;
|
|
1316
1449
|
if (idx === 0) {
|
|
1317
|
-
this.
|
|
1450
|
+
this.pop();
|
|
1318
1451
|
} else if (idx === this.elements.length - 1) {
|
|
1319
1452
|
this.elements.pop();
|
|
1320
1453
|
} else {
|
|
@@ -1357,6 +1490,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1357
1490
|
|
|
1358
1491
|
|
|
1359
1492
|
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
|
|
1360
1500
|
|
|
1361
1501
|
|
|
1362
1502
|
|
|
@@ -1437,6 +1577,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1437
1577
|
|
|
1438
1578
|
|
|
1439
1579
|
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
|
|
1585
|
+
|
|
1586
|
+
|
|
1440
1587
|
|
|
1441
1588
|
|
|
1442
1589
|
|
|
@@ -1490,6 +1637,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1490
1637
|
|
|
1491
1638
|
|
|
1492
1639
|
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
|
|
1493
1647
|
|
|
1494
1648
|
|
|
1495
1649
|
|
|
@@ -1542,6 +1696,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1542
1696
|
|
|
1543
1697
|
|
|
1544
1698
|
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1545
1706
|
|
|
1546
1707
|
|
|
1547
1708
|
|
|
@@ -1601,6 +1762,13 @@ var _Heap = class _Heap extends IterableElementBase {
|
|
|
1601
1762
|
|
|
1602
1763
|
|
|
1603
1764
|
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
|
|
1770
|
+
|
|
1771
|
+
|
|
1604
1772
|
|
|
1605
1773
|
|
|
1606
1774
|
|
|
@@ -1804,6 +1972,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1804
1972
|
|
|
1805
1973
|
|
|
1806
1974
|
|
|
1975
|
+
|
|
1976
|
+
|
|
1977
|
+
|
|
1978
|
+
|
|
1979
|
+
|
|
1980
|
+
|
|
1981
|
+
|
|
1807
1982
|
|
|
1808
1983
|
|
|
1809
1984
|
|
|
@@ -1854,6 +2029,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1854
2029
|
|
|
1855
2030
|
|
|
1856
2031
|
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
|
|
2035
|
+
|
|
2036
|
+
|
|
2037
|
+
|
|
2038
|
+
|
|
1857
2039
|
|
|
1858
2040
|
|
|
1859
2041
|
|
|
@@ -1871,6 +2053,14 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1871
2053
|
get first() {
|
|
1872
2054
|
return this.length > 0 ? this.elements[this._offset] : void 0;
|
|
1873
2055
|
}
|
|
2056
|
+
/**
|
|
2057
|
+
* Peek at the front element without removing it (alias for `first`).
|
|
2058
|
+
* @remarks Time O(1), Space O(1)
|
|
2059
|
+
* @returns Front element or undefined.
|
|
2060
|
+
*/
|
|
2061
|
+
peek() {
|
|
2062
|
+
return this.first;
|
|
2063
|
+
}
|
|
1874
2064
|
/**
|
|
1875
2065
|
* Get the last element (back) without removing it.
|
|
1876
2066
|
* @remarks Time O(1), Space O(1)
|
|
@@ -1920,6 +2110,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1920
2110
|
|
|
1921
2111
|
|
|
1922
2112
|
|
|
2113
|
+
|
|
2114
|
+
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
|
|
1923
2120
|
|
|
1924
2121
|
|
|
1925
2122
|
|
|
@@ -1982,6 +2179,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
1982
2179
|
|
|
1983
2180
|
|
|
1984
2181
|
|
|
2182
|
+
|
|
2183
|
+
|
|
2184
|
+
|
|
2185
|
+
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
|
|
1985
2189
|
|
|
1986
2190
|
|
|
1987
2191
|
|
|
@@ -2051,6 +2255,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2051
2255
|
|
|
2052
2256
|
|
|
2053
2257
|
|
|
2258
|
+
|
|
2259
|
+
|
|
2260
|
+
|
|
2261
|
+
|
|
2262
|
+
|
|
2263
|
+
|
|
2264
|
+
|
|
2054
2265
|
|
|
2055
2266
|
|
|
2056
2267
|
|
|
@@ -2110,6 +2321,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2110
2321
|
|
|
2111
2322
|
|
|
2112
2323
|
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
|
|
2328
|
+
|
|
2329
|
+
|
|
2330
|
+
|
|
2113
2331
|
|
|
2114
2332
|
|
|
2115
2333
|
|
|
@@ -2162,6 +2380,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2162
2380
|
|
|
2163
2381
|
|
|
2164
2382
|
|
|
2383
|
+
|
|
2384
|
+
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
|
|
2389
|
+
|
|
2165
2390
|
|
|
2166
2391
|
|
|
2167
2392
|
|
|
@@ -2216,6 +2441,21 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2216
2441
|
this._elements[this._offset + index] = newElement;
|
|
2217
2442
|
return true;
|
|
2218
2443
|
}
|
|
2444
|
+
/**
|
|
2445
|
+
* Delete the first element that satisfies a predicate.
|
|
2446
|
+
* @remarks Time O(N), Space O(N)
|
|
2447
|
+
* @param predicate - Function (value, index, queue) → boolean to decide deletion.
|
|
2448
|
+
* @returns True if a match was removed.
|
|
2449
|
+
*/
|
|
2450
|
+
deleteWhere(predicate) {
|
|
2451
|
+
for (let i = 0; i < this.length; i++) {
|
|
2452
|
+
if (predicate(this._elements[this._offset + i], i, this)) {
|
|
2453
|
+
this.deleteAt(i);
|
|
2454
|
+
return true;
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2457
|
+
return false;
|
|
2458
|
+
}
|
|
2219
2459
|
/**
|
|
2220
2460
|
* Reverse the queue in-place by compacting then reversing.
|
|
2221
2461
|
* @remarks Time O(N), Space O(N)
|
|
@@ -2255,6 +2495,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2255
2495
|
|
|
2256
2496
|
|
|
2257
2497
|
|
|
2498
|
+
|
|
2499
|
+
|
|
2500
|
+
|
|
2501
|
+
|
|
2502
|
+
|
|
2503
|
+
|
|
2504
|
+
|
|
2258
2505
|
|
|
2259
2506
|
|
|
2260
2507
|
|
|
@@ -2301,6 +2548,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2301
2548
|
|
|
2302
2549
|
|
|
2303
2550
|
|
|
2551
|
+
|
|
2552
|
+
|
|
2553
|
+
|
|
2554
|
+
|
|
2555
|
+
|
|
2556
|
+
|
|
2557
|
+
|
|
2304
2558
|
|
|
2305
2559
|
|
|
2306
2560
|
|
|
@@ -2370,6 +2624,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2370
2624
|
|
|
2371
2625
|
|
|
2372
2626
|
|
|
2627
|
+
|
|
2628
|
+
|
|
2629
|
+
|
|
2630
|
+
|
|
2631
|
+
|
|
2632
|
+
|
|
2633
|
+
|
|
2373
2634
|
|
|
2374
2635
|
|
|
2375
2636
|
|
|
@@ -2423,6 +2684,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2423
2684
|
|
|
2424
2685
|
|
|
2425
2686
|
|
|
2687
|
+
|
|
2688
|
+
|
|
2689
|
+
|
|
2690
|
+
|
|
2691
|
+
|
|
2692
|
+
|
|
2693
|
+
|
|
2426
2694
|
|
|
2427
2695
|
|
|
2428
2696
|
|
|
@@ -2480,6 +2748,13 @@ var _Queue = class _Queue extends LinearBase {
|
|
|
2480
2748
|
|
|
2481
2749
|
|
|
2482
2750
|
|
|
2751
|
+
|
|
2752
|
+
|
|
2753
|
+
|
|
2754
|
+
|
|
2755
|
+
|
|
2756
|
+
|
|
2757
|
+
|
|
2483
2758
|
|
|
2484
2759
|
|
|
2485
2760
|
|
|
@@ -3611,6 +3886,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3611
3886
|
|
|
3612
3887
|
|
|
3613
3888
|
|
|
3889
|
+
|
|
3890
|
+
|
|
3891
|
+
|
|
3892
|
+
|
|
3893
|
+
|
|
3894
|
+
|
|
3895
|
+
|
|
3614
3896
|
|
|
3615
3897
|
|
|
3616
3898
|
|
|
@@ -3696,6 +3978,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3696
3978
|
|
|
3697
3979
|
|
|
3698
3980
|
|
|
3981
|
+
|
|
3982
|
+
|
|
3983
|
+
|
|
3984
|
+
|
|
3985
|
+
|
|
3986
|
+
|
|
3987
|
+
|
|
3699
3988
|
|
|
3700
3989
|
|
|
3701
3990
|
|
|
@@ -3780,6 +4069,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3780
4069
|
|
|
3781
4070
|
|
|
3782
4071
|
|
|
4072
|
+
|
|
4073
|
+
|
|
4074
|
+
|
|
4075
|
+
|
|
4076
|
+
|
|
4077
|
+
|
|
4078
|
+
|
|
3783
4079
|
|
|
3784
4080
|
|
|
3785
4081
|
|
|
@@ -3879,6 +4175,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3879
4175
|
|
|
3880
4176
|
|
|
3881
4177
|
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
|
|
4181
|
+
|
|
4182
|
+
|
|
4183
|
+
|
|
4184
|
+
|
|
3882
4185
|
|
|
3883
4186
|
|
|
3884
4187
|
|
|
@@ -3933,6 +4236,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
3933
4236
|
|
|
3934
4237
|
|
|
3935
4238
|
|
|
4239
|
+
|
|
4240
|
+
|
|
4241
|
+
|
|
4242
|
+
|
|
4243
|
+
|
|
4244
|
+
|
|
4245
|
+
|
|
3936
4246
|
|
|
3937
4247
|
|
|
3938
4248
|
|
|
@@ -4057,6 +4367,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4057
4367
|
|
|
4058
4368
|
|
|
4059
4369
|
|
|
4370
|
+
|
|
4371
|
+
|
|
4372
|
+
|
|
4373
|
+
|
|
4374
|
+
|
|
4375
|
+
|
|
4376
|
+
|
|
4060
4377
|
|
|
4061
4378
|
|
|
4062
4379
|
|
|
@@ -4203,6 +4520,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4203
4520
|
|
|
4204
4521
|
|
|
4205
4522
|
|
|
4523
|
+
|
|
4524
|
+
|
|
4525
|
+
|
|
4526
|
+
|
|
4527
|
+
|
|
4528
|
+
|
|
4529
|
+
|
|
4206
4530
|
|
|
4207
4531
|
|
|
4208
4532
|
|
|
@@ -4271,6 +4595,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4271
4595
|
|
|
4272
4596
|
|
|
4273
4597
|
|
|
4598
|
+
|
|
4599
|
+
|
|
4600
|
+
|
|
4601
|
+
|
|
4602
|
+
|
|
4603
|
+
|
|
4604
|
+
|
|
4274
4605
|
|
|
4275
4606
|
|
|
4276
4607
|
|
|
@@ -4321,6 +4652,13 @@ var _UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4321
4652
|
|
|
4322
4653
|
|
|
4323
4654
|
|
|
4655
|
+
|
|
4656
|
+
|
|
4657
|
+
|
|
4658
|
+
|
|
4659
|
+
|
|
4660
|
+
|
|
4661
|
+
|
|
4324
4662
|
|
|
4325
4663
|
|
|
4326
4664
|
|