data-structure-typed 1.38.5 → 1.38.6

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 (39) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +9 -3
  3. package/dist/cjs/data-structures/binary-tree/avl-tree.js +9 -4
  4. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  5. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +31 -79
  6. package/dist/cjs/data-structures/binary-tree/binary-tree.js +50 -59
  7. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  8. package/dist/cjs/data-structures/binary-tree/bst.d.ts +7 -7
  9. package/dist/cjs/data-structures/binary-tree/bst.js +13 -13
  10. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  11. package/dist/cjs/data-structures/binary-tree/tree-multiset.d.ts +9 -5
  12. package/dist/cjs/data-structures/binary-tree/tree-multiset.js +9 -5
  13. package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +1 -1
  14. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  15. package/dist/cjs/interfaces/binary-tree.d.ts +2 -2
  16. package/dist/cjs/types/helpers.d.ts +2 -0
  17. package/dist/cjs/types/helpers.js.map +1 -1
  18. package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +9 -3
  19. package/dist/mjs/data-structures/binary-tree/avl-tree.js +9 -4
  20. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +31 -79
  21. package/dist/mjs/data-structures/binary-tree/binary-tree.js +50 -59
  22. package/dist/mjs/data-structures/binary-tree/bst.d.ts +7 -7
  23. package/dist/mjs/data-structures/binary-tree/bst.js +13 -13
  24. package/dist/mjs/data-structures/binary-tree/tree-multiset.d.ts +9 -5
  25. package/dist/mjs/data-structures/binary-tree/tree-multiset.js +9 -5
  26. package/dist/mjs/interfaces/binary-tree.d.ts +2 -2
  27. package/dist/mjs/types/helpers.d.ts +2 -0
  28. package/dist/umd/index.global.js +1 -1
  29. package/dist/umd/index.global.js.map +1 -1
  30. package/package.json +5 -5
  31. package/src/data-structures/binary-tree/avl-tree.ts +13 -4
  32. package/src/data-structures/binary-tree/binary-tree.ts +113 -69
  33. package/src/data-structures/binary-tree/bst.ts +17 -17
  34. package/src/data-structures/binary-tree/rb-tree.ts +2 -2
  35. package/src/data-structures/binary-tree/tree-multiset.ts +14 -6
  36. package/src/data-structures/linked-list/doubly-linked-list.ts +0 -1
  37. package/src/interfaces/binary-tree.ts +2 -2
  38. package/src/types/helpers.ts +4 -0
  39. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +14 -14
@@ -1,9 +1,13 @@
1
+ import {BinaryTreeNodeKey} from './data-structures';
2
+
1
3
  export type Comparator<T> = (a: T, b: T) => number;
2
4
 
3
5
  export type DFSOrderPattern = 'pre' | 'in' | 'post';
4
6
 
5
7
  export type MapCallback<N, D = any> = (node: N) => D;
6
8
 
9
+ export type DefaultMapCallback<N, D = BinaryTreeNodeKey> = (node: N) => D;
10
+
7
11
  export type MapCallbackReturn<N> = ReturnType<MapCallback<N>>;
8
12
 
9
13
  export enum CP {
@@ -73,7 +73,7 @@ describe('TreeMultiset operations test', () => {
73
73
  expect(bfsNodesAfterBalanced[0].key).toBe(8);
74
74
  expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
75
75
 
76
- const removed11 = treeMultiset.delete(11, true);
76
+ const removed11 = treeMultiset.delete(11, undefined, true);
77
77
  expect(removed11 instanceof Array);
78
78
  expect(removed11[0]);
79
79
  expect(removed11[0].deleted);
@@ -84,7 +84,7 @@ describe('TreeMultiset operations test', () => {
84
84
 
85
85
  expect(treeMultiset.getHeight(15)).toBe(1);
86
86
 
87
- const removed1 = treeMultiset.delete(1, true);
87
+ const removed1 = treeMultiset.delete(1, undefined, true);
88
88
  expect(removed1 instanceof Array);
89
89
  expect(removed1[0]);
90
90
  expect(removed1[0].deleted);
@@ -94,7 +94,7 @@ describe('TreeMultiset operations test', () => {
94
94
 
95
95
  expect(treeMultiset.getHeight()).toBe(4);
96
96
 
97
- const removed4 = treeMultiset.delete(4, true);
97
+ const removed4 = treeMultiset.delete(4, undefined, true);
98
98
  expect(removed4 instanceof Array);
99
99
  expect(removed4[0]);
100
100
  expect(removed4[0].deleted);
@@ -103,7 +103,7 @@ describe('TreeMultiset operations test', () => {
103
103
  expect(treeMultiset.isAVLBalanced()).toBe(true);
104
104
  expect(treeMultiset.getHeight()).toBe(4);
105
105
 
106
- const removed10 = treeMultiset.delete(10, true);
106
+ const removed10 = treeMultiset.delete(10, undefined, true);
107
107
  expect(removed10 instanceof Array);
108
108
  expect(removed10[0]);
109
109
  expect(removed10[0].deleted);
@@ -112,7 +112,7 @@ describe('TreeMultiset operations test', () => {
112
112
 
113
113
  expect(treeMultiset.getHeight()).toBe(3);
114
114
 
115
- const removed15 = treeMultiset.delete(15, true);
115
+ const removed15 = treeMultiset.delete(15, undefined, true);
116
116
  expect(removed15 instanceof Array);
117
117
  expect(removed15[0]);
118
118
  expect(removed15[0].deleted);
@@ -121,7 +121,7 @@ describe('TreeMultiset operations test', () => {
121
121
  expect(treeMultiset.isAVLBalanced()).toBe(true);
122
122
  expect(treeMultiset.getHeight()).toBe(3);
123
123
 
124
- const removed5 = treeMultiset.delete(5, true);
124
+ const removed5 = treeMultiset.delete(5, undefined, true);
125
125
  expect(removed5 instanceof Array);
126
126
  expect(removed5[0]);
127
127
  expect(removed5[0].deleted);
@@ -130,7 +130,7 @@ describe('TreeMultiset operations test', () => {
130
130
  expect(treeMultiset.isAVLBalanced()).toBe(true);
131
131
  expect(treeMultiset.getHeight()).toBe(3);
132
132
 
133
- const removed13 = treeMultiset.delete(13, true);
133
+ const removed13 = treeMultiset.delete(13, undefined, true);
134
134
  expect(removed13 instanceof Array);
135
135
  expect(removed13[0]);
136
136
  expect(removed13[0].deleted);
@@ -138,7 +138,7 @@ describe('TreeMultiset operations test', () => {
138
138
  expect(treeMultiset.isAVLBalanced()).toBe(true);
139
139
  expect(treeMultiset.getHeight()).toBe(3);
140
140
 
141
- const removed3 = treeMultiset.delete(3, true);
141
+ const removed3 = treeMultiset.delete(3, undefined, true);
142
142
  expect(removed3 instanceof Array);
143
143
  expect(removed3[0]);
144
144
  expect(removed3[0].deleted);
@@ -146,7 +146,7 @@ describe('TreeMultiset operations test', () => {
146
146
  expect(treeMultiset.isAVLBalanced()).toBe(true);
147
147
  expect(treeMultiset.getHeight()).toBe(3);
148
148
 
149
- const removed8 = treeMultiset.delete(8, true);
149
+ const removed8 = treeMultiset.delete(8, undefined, true);
150
150
  expect(removed8 instanceof Array);
151
151
  expect(removed8[0]);
152
152
  expect(removed8[0].deleted);
@@ -154,17 +154,17 @@ describe('TreeMultiset operations test', () => {
154
154
  expect(treeMultiset.isAVLBalanced()).toBe(true);
155
155
  expect(treeMultiset.getHeight()).toBe(3);
156
156
 
157
- const removed6 = treeMultiset.delete(6, true);
157
+ const removed6 = treeMultiset.delete(6, undefined, true);
158
158
  expect(removed6 instanceof Array);
159
159
  expect(removed6[0]);
160
160
  expect(removed6[0].deleted);
161
161
  if (removed6[0].deleted) expect(removed6[0].deleted.key).toBe(6);
162
- expect(treeMultiset.delete(6, true).length).toBe(0);
162
+ expect(treeMultiset.delete(6, undefined, true).length).toBe(0);
163
163
  expect(treeMultiset.isAVLBalanced()).toBe(true);
164
164
 
165
165
  expect(treeMultiset.getHeight()).toBe(2);
166
166
 
167
- const removed7 = treeMultiset.delete(7, true);
167
+ const removed7 = treeMultiset.delete(7, undefined, true);
168
168
  expect(removed7 instanceof Array);
169
169
  expect(removed7[0]);
170
170
  expect(removed7[0].deleted);
@@ -172,7 +172,7 @@ describe('TreeMultiset operations test', () => {
172
172
  expect(treeMultiset.isAVLBalanced()).toBe(true);
173
173
  expect(treeMultiset.getHeight()).toBe(2);
174
174
 
175
- const removed9 = treeMultiset.delete(9, true);
175
+ const removed9 = treeMultiset.delete(9, undefined, true);
176
176
  expect(removed9 instanceof Array);
177
177
  expect(removed9[0]);
178
178
  expect(removed9[0].deleted);
@@ -180,7 +180,7 @@ describe('TreeMultiset operations test', () => {
180
180
  expect(treeMultiset.isAVLBalanced()).toBe(true);
181
181
  expect(treeMultiset.getHeight()).toBe(2);
182
182
 
183
- const removed14 = treeMultiset.delete(14, true);
183
+ const removed14 = treeMultiset.delete(14, undefined, true);
184
184
  expect(removed14 instanceof Array);
185
185
  expect(removed14[0]);
186
186
  expect(removed14[0].deleted);