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