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
@@ -177,6 +177,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
177
177
 
178
178
 
179
179
 
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
180
201
  * @example
181
202
  * // Deque peek at both ends
182
203
  * const deque = new Deque<number>([10, 20, 30, 40, 50]);
@@ -208,6 +229,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
208
229
 
209
230
 
210
231
 
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
211
253
  * @example
212
254
  * // Peek at the back element
213
255
  * const dq = new Deque<string>(['a', 'b', 'c']);
@@ -242,6 +284,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
242
284
 
243
285
 
244
286
 
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
245
308
  * @example
246
309
  * // basic Deque creation and push/pop operations
247
310
  * // Create a simple Deque with initial values
@@ -277,6 +340,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
277
340
 
278
341
 
279
342
 
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
280
364
  * @example
281
365
  * // Remove from the back
282
366
  * const dq = new Deque<number>([1, 2, 3]);
@@ -299,6 +383,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
299
383
 
300
384
 
301
385
 
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
302
407
  * @example
303
408
  * // Remove from the front
304
409
  * const dq = new Deque<number>([1, 2, 3]);
@@ -322,6 +427,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
322
427
 
323
428
 
324
429
 
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
325
451
  * @example
326
452
  * // Deque shift and unshift operations
327
453
  * const deque = new Deque<number>([20, 30, 40]);
@@ -366,6 +492,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
366
492
 
367
493
 
368
494
 
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
369
516
  * @example
370
517
  * // Check if empty
371
518
  * const dq = new Deque();
@@ -385,6 +532,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
385
532
 
386
533
 
387
534
 
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
388
556
  * @example
389
557
  * // Remove all elements
390
558
  * const dq = new Deque<number>([1, 2, 3]);
@@ -405,6 +573,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
405
573
 
406
574
 
407
575
 
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
408
597
  * @example
409
598
  * // Access by index
410
599
  * const dq = new Deque<string>(['a', 'b', 'c']);
@@ -474,6 +663,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
474
663
 
475
664
 
476
665
 
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
477
687
  * @example
478
688
  * // Remove element
479
689
  * const dq = new Deque<number>([1, 2, 3]);
@@ -510,6 +720,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
510
720
 
511
721
 
512
722
 
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+
742
+
743
+
513
744
  * @example
514
745
  * // Deque for...of iteration and reverse
515
746
  * const deque = new Deque<string>(['A', 'B', 'C', 'D']);
@@ -564,6 +795,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
564
795
 
565
796
 
566
797
 
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
567
819
  * @example
568
820
  * // Reclaim memory
569
821
  * const dq = new Deque<number>([1, 2, 3, 4, 5]);
@@ -587,6 +839,27 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
587
839
 
588
840
 
589
841
 
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
590
863
  * @example
591
864
  * // Create independent copy
592
865
  * const dq = new Deque<number>([1, 2, 3]);
@@ -611,13 +884,34 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
611
884
 
612
885
 
613
886
 
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
614
908
  * @example
615
909
  * // Filter elements
616
910
  * const dq = new Deque<number>([1, 2, 3, 4]);
617
911
  * const result = dq.filter(x => x > 2);
618
912
  * console.log(result.length); // 2;
619
913
  */
620
- filter(predicate: ElementCallback<E, R, boolean>, thisArg?: any): this;
914
+ filter(predicate: ElementCallback<E, R, boolean>, thisArg?: unknown): this;
621
915
  /**
622
916
  * Map elements into a new deque of the same element type.
623
917
  * @remarks Time O(N), Space O(N)
@@ -625,7 +919,7 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
625
919
  * @param [thisArg] - Value for `this` inside the callback.
626
920
  * @returns A new deque with mapped values.
627
921
  */
628
- mapSame(callback: ElementCallback<E, R, E>, thisArg?: any): this;
922
+ mapSame(callback: ElementCallback<E, R, E>, thisArg?: unknown): this;
629
923
  /**
630
924
  * Map elements into a new deque (possibly different element type).
631
925
  * @remarks Time O(N), Space O(N)
@@ -643,13 +937,34 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
643
937
 
644
938
 
645
939
 
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
646
961
  * @example
647
962
  * // Transform elements
648
963
  * const dq = new Deque<number>([1, 2, 3]);
649
964
  * const result = dq.map(x => x * 10);
650
965
  * console.log(result.toArray()); // [10, 20, 30];
651
966
  */
652
- map<EM, RM>(callback: ElementCallback<E, R, EM>, options?: IterableElementBaseOptions<EM, RM>, thisArg?: any): Deque<EM, RM>;
967
+ map<EM, RM>(callback: ElementCallback<E, R, EM>, options?: IterableElementBaseOptions<EM, RM>, thisArg?: unknown): Deque<EM, RM>;
653
968
  /**
654
969
  * (Protected) Set the internal bucket size.
655
970
  * @remarks Time O(1), Space O(1)
@@ -696,7 +1011,7 @@ export declare class Deque<E = any, R = any> extends LinearBase<E, R> {
696
1011
  * @param [options] - Options forwarded to the constructor.
697
1012
  * @returns A like-kind Deque instance.
698
1013
  */
699
- protected _createLike<T = E, RR = R>(elements?: IterableWithSizeOrLength<T> | IterableWithSizeOrLength<RR>, options?: DequeOptions<T, RR>): any;
1014
+ protected _createLike<T = E, RR = R>(elements?: IterableWithSizeOrLength<T> | IterableWithSizeOrLength<RR>, options?: DequeOptions<T, RR>): Deque<T, RR>;
700
1015
  /**
701
1016
  * (Protected) Iterate elements from back to front.
702
1017
  * @remarks Time O(N), Space O(1)