max-priority-queue-typed 2.5.0 → 2.5.1

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.
Files changed (74) hide show
  1. package/dist/cjs/index.cjs +294 -0
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +294 -0
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +294 -0
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +294 -0
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/base/index.d.ts +1 -0
  10. package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
  11. package/dist/types/data-structures/base/linear-base.d.ts +3 -3
  12. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +252 -0
  13. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +294 -0
  14. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +527 -2
  15. package/dist/types/data-structures/binary-tree/bst.d.ts +505 -1
  16. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +399 -0
  17. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +126 -1
  18. package/dist/types/data-structures/binary-tree/tree-map.d.ts +2881 -382
  19. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +2867 -347
  20. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2328 -312
  21. package/dist/types/data-structures/binary-tree/tree-set.d.ts +2671 -277
  22. package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
  23. package/dist/types/data-structures/graph/directed-graph.d.ts +210 -0
  24. package/dist/types/data-structures/graph/undirected-graph.d.ts +189 -0
  25. package/dist/types/data-structures/hash/hash-map.d.ts +241 -10
  26. package/dist/types/data-structures/heap/heap.d.ts +294 -0
  27. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +360 -3
  28. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +318 -3
  29. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +380 -2
  30. package/dist/types/data-structures/matrix/matrix.d.ts +168 -0
  31. package/dist/types/data-structures/queue/deque.d.ts +319 -4
  32. package/dist/types/data-structures/queue/queue.d.ts +252 -0
  33. package/dist/types/data-structures/stack/stack.d.ts +210 -0
  34. package/dist/types/data-structures/trie/trie.d.ts +256 -4
  35. package/dist/types/interfaces/graph.d.ts +1 -1
  36. package/dist/types/types/common.d.ts +2 -2
  37. package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
  38. package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
  39. package/dist/types/types/utils/validate-type.d.ts +4 -4
  40. package/dist/umd/max-priority-queue-typed.js +294 -0
  41. package/dist/umd/max-priority-queue-typed.js.map +1 -1
  42. package/dist/umd/max-priority-queue-typed.min.js.map +1 -1
  43. package/package.json +2 -2
  44. package/src/data-structures/base/index.ts +1 -0
  45. package/src/data-structures/base/iterable-entry-base.ts +8 -8
  46. package/src/data-structures/base/linear-base.ts +3 -3
  47. package/src/data-structures/binary-tree/avl-tree.ts +252 -0
  48. package/src/data-structures/binary-tree/binary-indexed-tree.ts +295 -1
  49. package/src/data-structures/binary-tree/binary-tree.ts +527 -2
  50. package/src/data-structures/binary-tree/bst.ts +505 -1
  51. package/src/data-structures/binary-tree/red-black-tree.ts +399 -0
  52. package/src/data-structures/binary-tree/segment-tree.ts +127 -2
  53. package/src/data-structures/binary-tree/tree-map.ts +2958 -459
  54. package/src/data-structures/binary-tree/tree-multi-map.ts +3069 -549
  55. package/src/data-structures/binary-tree/tree-multi-set.ts +2476 -460
  56. package/src/data-structures/binary-tree/tree-set.ts +2816 -422
  57. package/src/data-structures/graph/abstract-graph.ts +4 -4
  58. package/src/data-structures/graph/directed-graph.ts +210 -0
  59. package/src/data-structures/graph/undirected-graph.ts +189 -0
  60. package/src/data-structures/hash/hash-map.ts +246 -15
  61. package/src/data-structures/heap/heap.ts +294 -0
  62. package/src/data-structures/linked-list/doubly-linked-list.ts +360 -3
  63. package/src/data-structures/linked-list/singly-linked-list.ts +318 -3
  64. package/src/data-structures/linked-list/skip-linked-list.ts +380 -2
  65. package/src/data-structures/matrix/matrix.ts +169 -1
  66. package/src/data-structures/queue/deque.ts +320 -5
  67. package/src/data-structures/queue/queue.ts +252 -0
  68. package/src/data-structures/stack/stack.ts +210 -0
  69. package/src/data-structures/trie/trie.ts +257 -5
  70. package/src/interfaces/graph.ts +1 -1
  71. package/src/types/common.ts +2 -2
  72. package/src/types/data-structures/heap/heap.ts +1 -0
  73. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  74. package/src/types/utils/validate-type.ts +4 -4
@@ -279,6 +279,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
279
279
 
280
280
 
281
281
 
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
282
303
  * @example
283
304
  * // basic DoublyLinkedList creation and push operation
284
305
  * // Create a simple DoublyLinkedList with initial values
@@ -326,6 +347,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
326
347
 
327
348
 
328
349
 
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
329
371
  * @example
330
372
  * // DoublyLinkedList pop and shift operations
331
373
  * const list = new DoublyLinkedList<number>([10, 20, 30, 40, 50]);
@@ -372,6 +414,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
372
414
 
373
415
 
374
416
 
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
375
438
  * @example
376
439
  * // Remove from the front
377
440
  * const list = new DoublyLinkedList<number>([10, 20, 30]);
@@ -409,6 +472,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
409
472
 
410
473
 
411
474
 
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
412
496
  * @example
413
497
  * // Add to the front
414
498
  * const list = new DoublyLinkedList<number>([2, 3]);
@@ -479,6 +563,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
479
563
 
480
564
 
481
565
 
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
482
587
  * @example
483
588
  * // Access by index
484
589
  * const list = new DoublyLinkedList<string>(['a', 'b', 'c']);
@@ -506,6 +611,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
506
611
 
507
612
 
508
613
 
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
509
635
  * @example
510
636
  * // Get node at index
511
637
  * const list = new DoublyLinkedList<string>(['a', 'b', 'c']);
@@ -572,6 +698,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
572
698
 
573
699
 
574
700
 
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
575
722
  * @example
576
723
  * // Insert at position
577
724
  * const list = new DoublyLinkedList<number>([1, 3]);
@@ -674,6 +821,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
674
821
 
675
822
 
676
823
 
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
677
845
  * @example
678
846
  * // Remove by index
679
847
  * const list = new DoublyLinkedList<string>(['a', 'b', 'c']);
@@ -708,6 +876,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
708
876
 
709
877
 
710
878
 
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
711
900
  * @example
712
901
  * // Remove first occurrence
713
902
  * const list = new DoublyLinkedList<number>([1, 2, 3, 2]);
@@ -744,6 +933,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
744
933
 
745
934
 
746
935
 
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
747
957
  * @example
748
958
  * // Check empty
749
959
  * console.log(new DoublyLinkedList().isEmpty()); // true;
@@ -766,6 +976,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
766
976
 
767
977
 
768
978
 
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
769
1000
  * @example
770
1001
  * // Remove all
771
1002
  * const list = new DoublyLinkedList<number>([1, 2]);
@@ -792,6 +1023,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
792
1023
 
793
1024
 
794
1025
 
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
795
1047
  * @example
796
1048
  * // Search with predicate
797
1049
  * const list = new DoublyLinkedList<number>([10, 20, 30]);
@@ -824,6 +1076,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
824
1076
 
825
1077
 
826
1078
 
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
827
1100
  * @example
828
1101
  * // Find value scanning from tail
829
1102
  * const list = new DoublyLinkedList<number>([1, 2, 3, 4]);
@@ -859,6 +1132,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
859
1132
 
860
1133
 
861
1134
 
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
862
1156
  * @example
863
1157
  * // Reverse in-place
864
1158
  * const list = new DoublyLinkedList<number>([1, 2, 3]);
@@ -902,6 +1196,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
902
1196
 
903
1197
 
904
1198
 
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
905
1220
  * @example
906
1221
  * // Deep copy
907
1222
  * const list = new DoublyLinkedList<number>([1, 2, 3]);
@@ -933,6 +1248,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
933
1248
 
934
1249
 
935
1250
 
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
936
1272
  * @example
937
1273
  * // Filter elements
938
1274
  * const list = new DoublyLinkedList<number>([1, 2, 3, 4, 5]);
@@ -940,7 +1276,7 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
940
1276
  * console.log([...evens]); // [2, 4];
941
1277
  */
942
1278
 
943
- filter(callback: ElementCallback<E, R, boolean>, thisArg?: any): this {
1279
+ filter(callback: ElementCallback<E, R, boolean>, thisArg?: unknown): this {
944
1280
  const out = this._createInstance({ toElementFn: this._toElementFn, maxLen: this._maxLen });
945
1281
  let index = 0;
946
1282
  for (const v of this) if (callback.call(thisArg, v, index++, this)) out.push(v);
@@ -955,7 +1291,7 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
955
1291
  * @returns A new list with mapped values.
956
1292
  */
957
1293
 
958
- mapSame(callback: ElementCallback<E, R, E>, thisArg?: any): this {
1294
+ mapSame(callback: ElementCallback<E, R, E>, thisArg?: unknown): this {
959
1295
  const out = this._createInstance({ toElementFn: this._toElementFn, maxLen: this._maxLen });
960
1296
  let index = 0;
961
1297
  for (const v of this) {
@@ -985,6 +1321,27 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
985
1321
 
986
1322
 
987
1323
 
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
988
1345
  * @example
989
1346
  * // DoublyLinkedList for...of iteration and map operation
990
1347
  * const list = new DoublyLinkedList<number>([1, 2, 3, 4, 5]);
@@ -1004,7 +1361,7 @@ export class DoublyLinkedList<E = any, R = any> extends LinearLinkedBase<E, R, D
1004
1361
  map<EM, RM>(
1005
1362
  callback: ElementCallback<E, R, EM>,
1006
1363
  options?: DoublyLinkedListOptions<EM, RM>,
1007
- thisArg?: any
1364
+ thisArg?: unknown
1008
1365
  ): DoublyLinkedList<EM, RM> {
1009
1366
  const out = this._createLike<EM, RM>([], { ...(options ?? {}), maxLen: this._maxLen });
1010
1367
  let index = 0;