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
@@ -60,6 +60,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
60
60
 
61
61
 
62
62
 
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
63
84
  * @example
64
85
  * // Check if empty
65
86
  * const sl = new SkipList<number, string>();
@@ -76,6 +97,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
76
97
 
77
98
 
78
99
 
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
79
121
  * @example
80
122
  * // Remove all entries
81
123
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b']]);
@@ -93,6 +135,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
93
135
 
94
136
 
95
137
 
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
96
159
  * @example
97
160
  * // Create independent copy
98
161
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b']]);
@@ -115,6 +178,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
115
178
 
116
179
 
117
180
 
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
118
202
  * @example
119
203
  * // In-memory sorted key-value store
120
204
  * const store = new SkipList<number, string>();
@@ -147,6 +231,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
147
231
 
148
232
 
149
233
 
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
150
255
  * @example
151
256
  * // Building a sorted index
152
257
  * type Product = { id: number; name: string; price: number };
@@ -156,8 +261,8 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
156
261
  * { id: 3, name: 'Doohickey', price: 15 }
157
262
  * ];
158
263
  *
159
- * const index = new SkipList<number, Product>(products as any, {
160
- * toEntryFn: (p: any) => [p.price, p]
264
+ * const index = new SkipList<number, Product, Product>(products, {
265
+ * toEntryFn: (p: Product) => [p.price, p]
161
266
  * });
162
267
  *
163
268
  * // Iterate in sorted order by price
@@ -183,6 +288,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
183
288
 
184
289
 
185
290
 
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
186
312
  * @example
187
313
  * // Check key existence
188
314
  * const sl = new SkipList<number, string>([[1, 'a'], [3, 'c'], [5, 'e']]);
@@ -203,6 +329,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
203
329
 
204
330
 
205
331
 
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
206
353
  * @example
207
354
  * // Fast lookup with deletion
208
355
  * const cache = new SkipList<string, number>();
@@ -230,6 +377,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
230
377
 
231
378
 
232
379
 
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
233
401
  * @example
234
402
  * // Access the minimum entry
235
403
  * const sl = new SkipList<number, string>([[5, 'e'], [1, 'a'], [3, 'c']]);
@@ -249,6 +417,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
249
417
 
250
418
 
251
419
 
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
252
441
  * @example
253
442
  * // Access the maximum entry
254
443
  * const sl = new SkipList<number, string>([[5, 'e'], [1, 'a'], [3, 'c']]);
@@ -265,6 +454,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
265
454
 
266
455
 
267
456
 
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
268
478
  * @example
269
479
  * // Remove and return smallest
270
480
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b'], [3, 'c']]);
@@ -282,6 +492,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
282
492
 
283
493
 
284
494
 
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
285
516
  * @example
286
517
  * // Remove and return largest
287
518
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b'], [3, 'c']]);
@@ -302,6 +533,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
302
533
 
303
534
 
304
535
 
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
305
557
  * @example
306
558
  * // Least entry ≥ key
307
559
  * const sl = new SkipList<number, string>([[10, 'a'], [20, 'b'], [30, 'c']]);
@@ -322,6 +574,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
322
574
 
323
575
 
324
576
 
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
325
598
  * @example
326
599
  * // Greatest entry ≤ key
327
600
  * const sl = new SkipList<number, string>([[10, 'a'], [20, 'b'], [30, 'c']]);
@@ -339,6 +612,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
339
612
 
340
613
 
341
614
 
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
342
636
  * @example
343
637
  * // Strictly greater entry
344
638
  * const sl = new SkipList<number, string>([[10, 'a'], [20, 'b'], [30, 'c']]);
@@ -356,6 +650,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
356
650
 
357
651
 
358
652
 
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
359
674
  * @example
360
675
  * // Strictly less entry
361
676
  * const sl = new SkipList<number, string>([[10, 'a'], [20, 'b'], [30, 'c']]);
@@ -376,6 +691,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
376
691
 
377
692
 
378
693
 
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
379
715
  * @example
380
716
  * // Find entries in a range
381
717
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd'], [5, 'e']]);
@@ -393,6 +729,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
393
729
 
394
730
 
395
731
 
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
396
753
  * @example
397
754
  * // Transform entries
398
755
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b']]);
@@ -410,6 +767,27 @@ export declare class SkipList<K = any, V = any, R = [K, V]> extends IterableEntr
410
767
 
411
768
 
412
769
 
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
413
791
  * @example
414
792
  * // Filter entries
415
793
  * const sl = new SkipList<number, string>([[1, 'a'], [2, 'b'], [3, 'c']]);
@@ -153,6 +153,27 @@ export declare class Matrix {
153
153
 
154
154
 
155
155
 
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
156
177
  * @example
157
178
  * // Get and set individual cells
158
179
  * const m = new Matrix([
@@ -193,6 +214,27 @@ export declare class Matrix {
193
214
 
194
215
 
195
216
 
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
196
238
  * @example
197
239
  * // Modify individual cells
198
240
  * const m = Matrix.zeros(2, 2);
@@ -225,6 +267,27 @@ export declare class Matrix {
225
267
 
226
268
 
227
269
 
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
228
291
  * @example
229
292
  * // Basic matrix arithmetic
230
293
  * const a = new Matrix([
@@ -266,6 +329,27 @@ export declare class Matrix {
266
329
 
267
330
 
268
331
 
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
269
353
  * @example
270
354
  * // Element-wise subtraction
271
355
  * const a = Matrix.from([[5, 6], [7, 8]]);
@@ -290,6 +374,27 @@ export declare class Matrix {
290
374
 
291
375
 
292
376
 
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
293
398
  * @example
294
399
  * // Matrix multiplication for transformations
295
400
  * // 2x3 matrix * 3x2 matrix = 2x2 matrix
@@ -329,6 +434,27 @@ export declare class Matrix {
329
434
 
330
435
 
331
436
 
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
332
458
  * @example
333
459
  * // Matrix transpose (square matrix)
334
460
  * const m = new Matrix([
@@ -364,6 +490,27 @@ export declare class Matrix {
364
490
 
365
491
 
366
492
 
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
367
514
  * @example
368
515
  * // Compute the inverse of a 2x2 matrix
369
516
  * const m = Matrix.from([[4, 7], [2, 6]]);
@@ -392,6 +539,27 @@ export declare class Matrix {
392
539
 
393
540
 
394
541
 
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
395
563
  * @example
396
564
  * // Dot product of two matrices
397
565
  * const a = Matrix.from([[1, 2], [3, 4]]);