deque-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 (75) hide show
  1. package/dist/cjs/index.cjs +315 -0
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +315 -0
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +315 -0
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +315 -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/deque-typed.js +315 -0
  41. package/dist/umd/deque-typed.js.map +1 -1
  42. package/dist/umd/deque-typed.min.js +1 -1
  43. package/dist/umd/deque-typed.min.js.map +1 -1
  44. package/package.json +2 -2
  45. package/src/data-structures/base/index.ts +1 -0
  46. package/src/data-structures/base/iterable-entry-base.ts +8 -8
  47. package/src/data-structures/base/linear-base.ts +3 -3
  48. package/src/data-structures/binary-tree/avl-tree.ts +252 -0
  49. package/src/data-structures/binary-tree/binary-indexed-tree.ts +295 -1
  50. package/src/data-structures/binary-tree/binary-tree.ts +527 -2
  51. package/src/data-structures/binary-tree/bst.ts +505 -1
  52. package/src/data-structures/binary-tree/red-black-tree.ts +399 -0
  53. package/src/data-structures/binary-tree/segment-tree.ts +127 -2
  54. package/src/data-structures/binary-tree/tree-map.ts +2958 -459
  55. package/src/data-structures/binary-tree/tree-multi-map.ts +3069 -549
  56. package/src/data-structures/binary-tree/tree-multi-set.ts +2476 -460
  57. package/src/data-structures/binary-tree/tree-set.ts +2816 -422
  58. package/src/data-structures/graph/abstract-graph.ts +4 -4
  59. package/src/data-structures/graph/directed-graph.ts +210 -0
  60. package/src/data-structures/graph/undirected-graph.ts +189 -0
  61. package/src/data-structures/hash/hash-map.ts +246 -15
  62. package/src/data-structures/heap/heap.ts +294 -0
  63. package/src/data-structures/linked-list/doubly-linked-list.ts +360 -3
  64. package/src/data-structures/linked-list/singly-linked-list.ts +318 -3
  65. package/src/data-structures/linked-list/skip-linked-list.ts +380 -2
  66. package/src/data-structures/matrix/matrix.ts +169 -1
  67. package/src/data-structures/queue/deque.ts +320 -5
  68. package/src/data-structures/queue/queue.ts +252 -0
  69. package/src/data-structures/stack/stack.ts +210 -0
  70. package/src/data-structures/trie/trie.ts +257 -5
  71. package/src/interfaces/graph.ts +1 -1
  72. package/src/types/common.ts +2 -2
  73. package/src/types/data-structures/heap/heap.ts +1 -0
  74. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  75. package/src/types/utils/validate-type.ts +4 -4
@@ -583,6 +583,27 @@ var dequeTyped = (() => {
583
583
 
584
584
 
585
585
 
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+
586
607
  * @example
587
608
  * // Deque peek at both ends
588
609
  * const deque = new Deque<number>([10, 20, 30, 40, 50]);
@@ -617,6 +638,27 @@ var dequeTyped = (() => {
617
638
 
618
639
 
619
640
 
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
620
662
  * @example
621
663
  * // Peek at the back element
622
664
  * const dq = new Deque<string>(['a', 'b', 'c']);
@@ -656,6 +698,27 @@ var dequeTyped = (() => {
656
698
 
657
699
 
658
700
 
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
659
722
  * @example
660
723
  * // basic Deque creation and push/pop operations
661
724
  * // Create a simple Deque with initial values
@@ -708,6 +771,27 @@ var dequeTyped = (() => {
708
771
 
709
772
 
710
773
 
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
711
795
  * @example
712
796
  * // Remove from the back
713
797
  * const dq = new Deque<number>([1, 2, 3]);
@@ -747,6 +831,27 @@ var dequeTyped = (() => {
747
831
 
748
832
 
749
833
 
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
750
855
  * @example
751
856
  * // Remove from the front
752
857
  * const dq = new Deque<number>([1, 2, 3]);
@@ -787,6 +892,27 @@ var dequeTyped = (() => {
787
892
 
788
893
 
789
894
 
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
790
916
  * @example
791
917
  * // Deque shift and unshift operations
792
918
  * const deque = new Deque<number>([20, 30, 40]);
@@ -868,6 +994,27 @@ var dequeTyped = (() => {
868
994
 
869
995
 
870
996
 
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
871
1018
  * @example
872
1019
  * // Check if empty
873
1020
  * const dq = new Deque();
@@ -889,6 +1036,27 @@ var dequeTyped = (() => {
889
1036
 
890
1037
 
891
1038
 
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
892
1060
  * @example
893
1061
  * // Remove all elements
894
1062
  * const dq = new Deque<number>([1, 2, 3]);
@@ -914,6 +1082,27 @@ var dequeTyped = (() => {
914
1082
 
915
1083
 
916
1084
 
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
917
1106
  * @example
918
1107
  * // Access by index
919
1108
  * const dq = new Deque<string>(['a', 'b', 'c']);
@@ -1090,6 +1279,27 @@ var dequeTyped = (() => {
1090
1279
 
1091
1280
 
1092
1281
 
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1093
1303
  * @example
1094
1304
  * // Remove element
1095
1305
  * const dq = new Deque<number>([1, 2, 3]);
@@ -1153,6 +1363,27 @@ var dequeTyped = (() => {
1153
1363
 
1154
1364
 
1155
1365
 
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1156
1387
  * @example
1157
1388
  * // Deque for...of iteration and reverse
1158
1389
  * const deque = new Deque<string>(['A', 'B', 'C', 'D']);
@@ -1241,6 +1472,27 @@ var dequeTyped = (() => {
1241
1472
 
1242
1473
 
1243
1474
 
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1244
1496
  * @example
1245
1497
  * // Reclaim memory
1246
1498
  * const dq = new Deque<number>([1, 2, 3, 4, 5]);
@@ -1288,6 +1540,27 @@ var dequeTyped = (() => {
1288
1540
 
1289
1541
 
1290
1542
 
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1291
1564
  * @example
1292
1565
  * // Create independent copy
1293
1566
  * const dq = new Deque<number>([1, 2, 3]);
@@ -1318,6 +1591,27 @@ var dequeTyped = (() => {
1318
1591
 
1319
1592
 
1320
1593
 
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1321
1615
  * @example
1322
1616
  * // Filter elements
1323
1617
  * const dq = new Deque<number>([1, 2, 3, 4]);
@@ -1368,6 +1662,27 @@ var dequeTyped = (() => {
1368
1662
 
1369
1663
 
1370
1664
 
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1371
1686
  * @example
1372
1687
  * // Transform elements
1373
1688
  * const dq = new Deque<number>([1, 2, 3]);