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
@@ -563,6 +563,27 @@ var _Deque = class _Deque extends LinearBase {
563
563
 
564
564
 
565
565
 
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
566
587
  * @example
567
588
  * // Deque peek at both ends
568
589
  * const deque = new Deque<number>([10, 20, 30, 40, 50]);
@@ -597,6 +618,27 @@ var _Deque = class _Deque extends LinearBase {
597
618
 
598
619
 
599
620
 
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
600
642
  * @example
601
643
  * // Peek at the back element
602
644
  * const dq = new Deque<string>(['a', 'b', 'c']);
@@ -636,6 +678,27 @@ var _Deque = class _Deque extends LinearBase {
636
678
 
637
679
 
638
680
 
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+
639
702
  * @example
640
703
  * // basic Deque creation and push/pop operations
641
704
  * // Create a simple Deque with initial values
@@ -688,6 +751,27 @@ var _Deque = class _Deque extends LinearBase {
688
751
 
689
752
 
690
753
 
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
691
775
  * @example
692
776
  * // Remove from the back
693
777
  * const dq = new Deque<number>([1, 2, 3]);
@@ -727,6 +811,27 @@ var _Deque = class _Deque extends LinearBase {
727
811
 
728
812
 
729
813
 
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
730
835
  * @example
731
836
  * // Remove from the front
732
837
  * const dq = new Deque<number>([1, 2, 3]);
@@ -767,6 +872,27 @@ var _Deque = class _Deque extends LinearBase {
767
872
 
768
873
 
769
874
 
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
770
896
  * @example
771
897
  * // Deque shift and unshift operations
772
898
  * const deque = new Deque<number>([20, 30, 40]);
@@ -848,6 +974,27 @@ var _Deque = class _Deque extends LinearBase {
848
974
 
849
975
 
850
976
 
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
851
998
  * @example
852
999
  * // Check if empty
853
1000
  * const dq = new Deque();
@@ -869,6 +1016,27 @@ var _Deque = class _Deque extends LinearBase {
869
1016
 
870
1017
 
871
1018
 
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
872
1040
  * @example
873
1041
  * // Remove all elements
874
1042
  * const dq = new Deque<number>([1, 2, 3]);
@@ -894,6 +1062,27 @@ var _Deque = class _Deque extends LinearBase {
894
1062
 
895
1063
 
896
1064
 
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
897
1086
  * @example
898
1087
  * // Access by index
899
1088
  * const dq = new Deque<string>(['a', 'b', 'c']);
@@ -1070,6 +1259,27 @@ var _Deque = class _Deque extends LinearBase {
1070
1259
 
1071
1260
 
1072
1261
 
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+
1073
1283
  * @example
1074
1284
  * // Remove element
1075
1285
  * const dq = new Deque<number>([1, 2, 3]);
@@ -1133,6 +1343,27 @@ var _Deque = class _Deque extends LinearBase {
1133
1343
 
1134
1344
 
1135
1345
 
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1136
1367
  * @example
1137
1368
  * // Deque for...of iteration and reverse
1138
1369
  * const deque = new Deque<string>(['A', 'B', 'C', 'D']);
@@ -1221,6 +1452,27 @@ var _Deque = class _Deque extends LinearBase {
1221
1452
 
1222
1453
 
1223
1454
 
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1224
1476
  * @example
1225
1477
  * // Reclaim memory
1226
1478
  * const dq = new Deque<number>([1, 2, 3, 4, 5]);
@@ -1268,6 +1520,27 @@ var _Deque = class _Deque extends LinearBase {
1268
1520
 
1269
1521
 
1270
1522
 
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1271
1544
  * @example
1272
1545
  * // Create independent copy
1273
1546
  * const dq = new Deque<number>([1, 2, 3]);
@@ -1298,6 +1571,27 @@ var _Deque = class _Deque extends LinearBase {
1298
1571
 
1299
1572
 
1300
1573
 
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1301
1595
  * @example
1302
1596
  * // Filter elements
1303
1597
  * const dq = new Deque<number>([1, 2, 3, 4]);
@@ -1348,6 +1642,27 @@ var _Deque = class _Deque extends LinearBase {
1348
1642
 
1349
1643
 
1350
1644
 
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1351
1666
  * @example
1352
1667
  * // Transform elements
1353
1668
  * const dq = new Deque<number>([1, 2, 3]);