binary-tree-typed 2.5.2 → 2.6.0

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 (63) hide show
  1. package/dist/cjs/index.cjs +320 -55
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +320 -55
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +320 -55
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +320 -55
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
  10. package/dist/types/data-structures/base/linear-base.d.ts +6 -0
  11. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +86 -2
  12. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +98 -0
  13. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +191 -15
  14. package/dist/types/data-structures/binary-tree/bst.d.ts +171 -3
  15. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +136 -8
  16. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +42 -0
  17. package/dist/types/data-structures/binary-tree/tree-map.d.ts +1061 -167
  18. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1232 -355
  19. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +916 -194
  20. package/dist/types/data-structures/binary-tree/tree-set.d.ts +1078 -141
  21. package/dist/types/data-structures/graph/directed-graph.d.ts +70 -0
  22. package/dist/types/data-structures/graph/undirected-graph.d.ts +63 -0
  23. package/dist/types/data-structures/hash/hash-map.d.ts +84 -6
  24. package/dist/types/data-structures/heap/heap.d.ts +140 -12
  25. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +150 -2
  26. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +106 -1
  27. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +126 -0
  28. package/dist/types/data-structures/matrix/matrix.d.ts +56 -0
  29. package/dist/types/data-structures/queue/deque.d.ts +171 -0
  30. package/dist/types/data-structures/queue/queue.d.ts +97 -0
  31. package/dist/types/data-structures/stack/stack.d.ts +72 -2
  32. package/dist/types/data-structures/trie/trie.d.ts +84 -0
  33. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  34. package/dist/umd/binary-tree-typed.js +320 -55
  35. package/dist/umd/binary-tree-typed.js.map +1 -1
  36. package/dist/umd/binary-tree-typed.min.js +5 -5
  37. package/dist/umd/binary-tree-typed.min.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/data-structures/base/iterable-element-base.ts +32 -0
  40. package/src/data-structures/base/linear-base.ts +11 -0
  41. package/src/data-structures/binary-tree/avl-tree.ts +88 -5
  42. package/src/data-structures/binary-tree/binary-indexed-tree.ts +98 -0
  43. package/src/data-structures/binary-tree/binary-tree.ts +242 -81
  44. package/src/data-structures/binary-tree/bst.ts +173 -7
  45. package/src/data-structures/binary-tree/red-black-tree.ts +139 -15
  46. package/src/data-structures/binary-tree/segment-tree.ts +42 -0
  47. package/src/data-structures/binary-tree/tree-map.ts +948 -36
  48. package/src/data-structures/binary-tree/tree-multi-map.ts +893 -13
  49. package/src/data-structures/binary-tree/tree-multi-set.ts +761 -33
  50. package/src/data-structures/binary-tree/tree-set.ts +1260 -251
  51. package/src/data-structures/graph/directed-graph.ts +71 -1
  52. package/src/data-structures/graph/undirected-graph.ts +64 -1
  53. package/src/data-structures/hash/hash-map.ts +100 -12
  54. package/src/data-structures/heap/heap.ts +149 -19
  55. package/src/data-structures/linked-list/doubly-linked-list.ts +178 -2
  56. package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
  57. package/src/data-structures/linked-list/skip-linked-list.ts +126 -0
  58. package/src/data-structures/matrix/matrix.ts +56 -0
  59. package/src/data-structures/queue/deque.ts +187 -0
  60. package/src/data-structures/queue/queue.ts +109 -0
  61. package/src/data-structures/stack/stack.ts +75 -5
  62. package/src/data-structures/trie/trie.ts +84 -0
  63. package/src/interfaces/binary-tree.ts +1 -9
@@ -5,7 +5,7 @@
5
5
  * @copyright Copyright (c) 2022 Pablo Zeng <zrwusa@gmail.com>
6
6
  * @license MIT License
7
7
  */
8
- import type { BinaryTreeDeleteResult, BTNRep, CRUD, EntryCallback, FamilyPosition, NodePredicate, RBTNColor, IterationType, RedBlackTreeOptions } from '../../types';
8
+ import type { BTNRep, CRUD, EntryCallback, FamilyPosition, NodePredicate, RBTNColor, IterationType, RedBlackTreeOptions } from '../../types';
9
9
  import { BST } from './bst';
10
10
  import { IBinaryTree } from '../../interfaces';
11
11
  export declare class RedBlackTreeNode<K = any, V = any> {
@@ -217,13 +217,36 @@ export declare class RedBlackTree<K = any, V = any, R = any> extends BST<K, V, R
217
217
  */
218
218
  isNode(keyNodeOrEntry: K | RedBlackTreeNode<K, V> | [K | null | undefined, V | undefined] | null | undefined): keyNodeOrEntry is RedBlackTreeNode<K, V>;
219
219
  /**
220
- * Remove all nodes and clear the key→value store (if in map mode).
220
+ * Remove all nodes, clear the key→value store (if in map mode) and internal caches.
221
221
  * @remarks Time O(n), Space O(1)
222
- * @returns void
223
- */
224
- /**
225
- * Remove all nodes and clear internal caches.
226
- * @remarks Time O(n) average, Space O(1)
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
227
250
 
228
251
 
229
252
 
@@ -572,6 +595,34 @@ export declare class RedBlackTree<K = any, V = any, R = any> extends BST<K, V, R
572
595
 
573
596
 
574
597
 
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
575
626
 
576
627
 
577
628
 
@@ -730,6 +781,34 @@ export declare class RedBlackTree<K = any, V = any, R = any> extends BST<K, V, R
730
781
 
731
782
 
732
783
 
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
733
812
 
734
813
 
735
814
 
@@ -758,7 +837,7 @@ export declare class RedBlackTree<K = any, V = any, R = any> extends BST<K, V, R
758
837
  * console.log(rbt.has(5)); // false;
759
838
  * console.log(rbt.size); // 4;
760
839
  */
761
- delete(keyNodeEntryRawOrPredicate: BTNRep<K, V, RedBlackTreeNode<K, V>> | NodePredicate<RedBlackTreeNode<K, V> | null>): BinaryTreeDeleteResult<RedBlackTreeNode<K, V>>[];
840
+ delete(keyNodeEntryRawOrPredicate: BTNRep<K, V, RedBlackTreeNode<K, V>> | NodePredicate<RedBlackTreeNode<K, V> | null>): boolean;
762
841
  /**
763
842
  * Transform entries into a like-kind red-black tree with possibly different key/value types.
764
843
  * @remarks Time O(n) average, Space O(n)
@@ -850,6 +929,27 @@ export declare class RedBlackTree<K = any, V = any, R = any> extends BST<K, V, R
850
929
 
851
930
 
852
931
 
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
853
953
 
854
954
 
855
955
 
@@ -990,6 +1090,34 @@ export declare class RedBlackTree<K = any, V = any, R = any> extends BST<K, V, R
990
1090
 
991
1091
 
992
1092
 
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
993
1121
 
994
1122
 
995
1123
 
@@ -72,6 +72,13 @@ export declare class SegmentTree<E = number> implements Iterable<E> {
72
72
 
73
73
 
74
74
 
75
+
76
+
77
+
78
+
79
+
80
+
81
+
75
82
 
76
83
 
77
84
 
@@ -133,6 +140,13 @@ export declare class SegmentTree<E = number> implements Iterable<E> {
133
140
 
134
141
 
135
142
 
143
+
144
+
145
+
146
+
147
+
148
+
149
+
136
150
 
137
151
 
138
152
 
@@ -190,6 +204,13 @@ export declare class SegmentTree<E = number> implements Iterable<E> {
190
204
 
191
205
 
192
206
 
207
+
208
+
209
+
210
+
211
+
212
+
213
+
193
214
 
194
215
 
195
216
 
@@ -242,6 +263,13 @@ export declare class SegmentTree<E = number> implements Iterable<E> {
242
263
 
243
264
 
244
265
 
266
+
267
+
268
+
269
+
270
+
271
+
272
+
245
273
 
246
274
 
247
275
 
@@ -289,6 +317,13 @@ export declare class SegmentTree<E = number> implements Iterable<E> {
289
317
 
290
318
 
291
319
 
320
+
321
+
322
+
323
+
324
+
325
+
326
+
292
327
 
293
328
 
294
329
 
@@ -339,6 +374,13 @@ export declare class SegmentTree<E = number> implements Iterable<E> {
339
374
 
340
375
 
341
376
 
377
+
378
+
379
+
380
+
381
+
382
+
383
+
342
384
 
343
385
 
344
386