data-structure-typed 1.34.7 → 1.34.8
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.
- package/CHANGELOG.md +1 -1
- package/dist/data-structures/binary-tree/abstract-binary-tree.js +70 -70
- package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/avl-tree.js +8 -8
- package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/binary-tree.js +4 -4
- package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/bst.js +59 -59
- package/dist/data-structures/binary-tree/bst.js.map +1 -1
- package/dist/data-structures/binary-tree/rb-tree.js +4 -4
- package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/tree-multiset.js +39 -39
- package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -1
- package/dist/data-structures/graph/abstract-graph.js +49 -49
- package/dist/data-structures/graph/abstract-graph.js.map +1 -1
- package/dist/data-structures/graph/directed-graph.js +33 -33
- package/dist/data-structures/graph/directed-graph.js.map +1 -1
- package/dist/data-structures/graph/map-graph.js +4 -4
- package/dist/data-structures/graph/map-graph.js.map +1 -1
- package/dist/data-structures/graph/undirected-graph.js +14 -14
- package/dist/data-structures/graph/undirected-graph.js.map +1 -1
- package/dist/data-structures/tree/tree.js +5 -5
- package/dist/data-structures/tree/tree.js.map +1 -1
- package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +71 -71
- package/lib/data-structures/binary-tree/abstract-binary-tree.js +110 -110
- package/lib/data-structures/binary-tree/avl-tree.d.ts +10 -10
- package/lib/data-structures/binary-tree/avl-tree.js +13 -13
- package/lib/data-structures/binary-tree/binary-tree.d.ts +6 -6
- package/lib/data-structures/binary-tree/binary-tree.js +7 -7
- package/lib/data-structures/binary-tree/bst.d.ts +34 -34
- package/lib/data-structures/binary-tree/bst.js +80 -80
- package/lib/data-structures/binary-tree/rb-tree.d.ts +3 -3
- package/lib/data-structures/binary-tree/rb-tree.js +4 -4
- package/lib/data-structures/binary-tree/tree-multiset.d.ts +27 -27
- package/lib/data-structures/binary-tree/tree-multiset.js +55 -55
- package/lib/data-structures/graph/abstract-graph.d.ts +60 -60
- package/lib/data-structures/graph/abstract-graph.js +81 -81
- package/lib/data-structures/graph/directed-graph.d.ts +51 -51
- package/lib/data-structures/graph/directed-graph.js +63 -63
- package/lib/data-structures/graph/map-graph.d.ts +13 -13
- package/lib/data-structures/graph/map-graph.js +12 -12
- package/lib/data-structures/graph/undirected-graph.d.ts +30 -30
- package/lib/data-structures/graph/undirected-graph.js +32 -32
- package/lib/data-structures/tree/tree.d.ts +4 -4
- package/lib/data-structures/tree/tree.js +6 -6
- package/lib/interfaces/abstract-binary-tree.d.ts +24 -24
- package/lib/interfaces/abstract-graph.d.ts +13 -13
- package/lib/interfaces/avl-tree.d.ts +3 -3
- package/lib/interfaces/bst.d.ts +8 -8
- package/lib/interfaces/directed-graph.d.ts +5 -5
- package/lib/interfaces/rb-tree.d.ts +2 -2
- package/lib/interfaces/undirected-graph.d.ts +2 -2
- package/lib/types/data-structures/abstract-binary-tree.d.ts +3 -3
- package/lib/types/data-structures/abstract-graph.d.ts +2 -2
- package/lib/types/data-structures/bst.d.ts +2 -2
- package/lib/types/data-structures/tree-multiset.d.ts +1 -1
- package/lib/types/utils/validate-type.d.ts +8 -8
- package/package.json +1 -1
- package/scripts/rename_clear_files.sh +29 -0
- package/src/data-structures/binary-tree/abstract-binary-tree.ts +147 -147
- package/src/data-structures/binary-tree/avl-tree.ts +14 -14
- package/src/data-structures/binary-tree/binary-tree.ts +8 -8
- package/src/data-structures/binary-tree/bst.ts +98 -90
- package/src/data-structures/binary-tree/rb-tree.ts +9 -9
- package/src/data-structures/binary-tree/tree-multiset.ts +62 -62
- package/src/data-structures/graph/abstract-graph.ts +109 -104
- package/src/data-structures/graph/directed-graph.ts +77 -77
- package/src/data-structures/graph/map-graph.ts +20 -15
- package/src/data-structures/graph/undirected-graph.ts +39 -39
- package/src/data-structures/tree/tree.ts +7 -7
- package/src/interfaces/abstract-binary-tree.ts +24 -24
- package/src/interfaces/abstract-graph.ts +13 -13
- package/src/interfaces/avl-tree.ts +3 -3
- package/src/interfaces/bst.ts +8 -8
- package/src/interfaces/directed-graph.ts +5 -5
- package/src/interfaces/rb-tree.ts +2 -2
- package/src/interfaces/undirected-graph.ts +2 -2
- package/src/types/data-structures/abstract-binary-tree.ts +3 -3
- package/src/types/data-structures/abstract-graph.ts +2 -2
- package/src/types/data-structures/bst.ts +2 -2
- package/src/types/data-structures/tree-multiset.ts +1 -1
- package/src/types/utils/validate-type.ts +10 -10
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +24 -24
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +3 -3
- package/test/unit/data-structures/binary-tree/bst.test.ts +71 -71
- package/test/unit/data-structures/binary-tree/overall.test.ts +19 -19
- package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +72 -72
- package/test/unit/data-structures/graph/directed-graph.test.ts +8 -8
- package/test/unit/data-structures/graph/map-graph.test.ts +4 -4
- package/test/unit/data-structures/graph/overall.test.ts +2 -2
- package/test/unit/data-structures/graph/undirected-graph.test.ts +1 -1
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +0 -1
- package/test/unit/data-structures/tree/tree.test.ts +2 -2
- package/umd/bundle.min.js +1 -1
- package/umd/bundle.min.js.map +1 -1
|
@@ -19,8 +19,8 @@ exports.BinaryTree = exports.BinaryTreeNode = void 0;
|
|
|
19
19
|
var abstract_binary_tree_1 = require("./abstract-binary-tree");
|
|
20
20
|
var BinaryTreeNode = (function (_super) {
|
|
21
21
|
__extends(BinaryTreeNode, _super);
|
|
22
|
-
function BinaryTreeNode(
|
|
23
|
-
return _super.call(this,
|
|
22
|
+
function BinaryTreeNode(key, val) {
|
|
23
|
+
return _super.call(this, key, val) || this;
|
|
24
24
|
}
|
|
25
25
|
return BinaryTreeNode;
|
|
26
26
|
}(abstract_binary_tree_1.AbstractBinaryTreeNode));
|
|
@@ -30,8 +30,8 @@ var BinaryTree = (function (_super) {
|
|
|
30
30
|
function BinaryTree(options) {
|
|
31
31
|
return _super.call(this, options) || this;
|
|
32
32
|
}
|
|
33
|
-
BinaryTree.prototype.createNode = function (
|
|
34
|
-
return new BinaryTreeNode(
|
|
33
|
+
BinaryTree.prototype.createNode = function (key, val) {
|
|
34
|
+
return new BinaryTreeNode(key, val);
|
|
35
35
|
};
|
|
36
36
|
return BinaryTree;
|
|
37
37
|
}(abstract_binary_tree_1.AbstractBinaryTree));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/binary-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AASA,+DAAkF;AAGlF;IACU,kCAAmC;IAG3C,wBAAY,
|
|
1
|
+
{"version":3,"file":"binary-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/binary-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AASA,+DAAkF;AAGlF;IACU,kCAAmC;IAG3C,wBAAY,GAAsB,EAAE,GAAO;eACzC,kBAAM,GAAG,EAAE,GAAG,CAAC;IACjB,CAAC;IACH,qBAAC;AAAD,CAAC,AAPD,CACU,6CAAsB,GAM/B;AAPY,wCAAc;AAS3B;IACU,8BAAqB;IAS7B,oBAAY,OAA2B;eACrC,kBAAM,OAAO,CAAC;IAChB,CAAC;IAUD,+BAAU,GAAV,UAAW,GAAsB,EAAE,GAAc;QAC/C,OAAO,IAAI,cAAc,CAAc,GAAG,EAAE,GAAG,CAAM,CAAC;IACxD,CAAC;IACH,iBAAC;AAAD,CAAC,AAzBD,CACU,yCAAkB,GAwB3B;AAzBY,gCAAU"}
|
|
@@ -47,8 +47,8 @@ var types_1 = require("../../types");
|
|
|
47
47
|
var binary_tree_1 = require("./binary-tree");
|
|
48
48
|
var BSTNode = (function (_super) {
|
|
49
49
|
__extends(BSTNode, _super);
|
|
50
|
-
function BSTNode(
|
|
51
|
-
return _super.call(this,
|
|
50
|
+
function BSTNode(key, val) {
|
|
51
|
+
return _super.call(this, key, val) || this;
|
|
52
52
|
}
|
|
53
53
|
return BSTNode;
|
|
54
54
|
}(binary_tree_1.BinaryTreeNode));
|
|
@@ -66,19 +66,19 @@ var BST = (function (_super) {
|
|
|
66
66
|
}
|
|
67
67
|
return _this;
|
|
68
68
|
}
|
|
69
|
-
BST.prototype.createNode = function (
|
|
70
|
-
return new BSTNode(
|
|
69
|
+
BST.prototype.createNode = function (key, val) {
|
|
70
|
+
return new BSTNode(key, val);
|
|
71
71
|
};
|
|
72
|
-
BST.prototype.add = function (
|
|
72
|
+
BST.prototype.add = function (keyOrNode, val) {
|
|
73
73
|
var inserted = null;
|
|
74
74
|
var newNode = null;
|
|
75
|
-
if (
|
|
76
|
-
newNode =
|
|
75
|
+
if (keyOrNode instanceof BSTNode) {
|
|
76
|
+
newNode = keyOrNode;
|
|
77
77
|
}
|
|
78
|
-
else if (typeof
|
|
79
|
-
newNode = this.createNode(
|
|
78
|
+
else if (typeof keyOrNode === 'number') {
|
|
79
|
+
newNode = this.createNode(keyOrNode, val);
|
|
80
80
|
}
|
|
81
|
-
else if (
|
|
81
|
+
else if (keyOrNode === null) {
|
|
82
82
|
newNode = null;
|
|
83
83
|
}
|
|
84
84
|
if (this.root === null) {
|
|
@@ -91,14 +91,14 @@ var BST = (function (_super) {
|
|
|
91
91
|
var traversing = true;
|
|
92
92
|
while (traversing) {
|
|
93
93
|
if (cur !== null && newNode !== null) {
|
|
94
|
-
if (this._compare(cur.
|
|
94
|
+
if (this._compare(cur.key, newNode.key) === types_1.CP.eq) {
|
|
95
95
|
if (newNode) {
|
|
96
96
|
cur.val = newNode.val;
|
|
97
97
|
}
|
|
98
98
|
traversing = false;
|
|
99
99
|
inserted = cur;
|
|
100
100
|
}
|
|
101
|
-
else if (this._compare(cur.
|
|
101
|
+
else if (this._compare(cur.key, newNode.key) === types_1.CP.gt) {
|
|
102
102
|
if (cur.left === undefined) {
|
|
103
103
|
if (newNode) {
|
|
104
104
|
newNode.parent = cur;
|
|
@@ -113,7 +113,7 @@ var BST = (function (_super) {
|
|
|
113
113
|
cur = cur.left;
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
else if (this._compare(cur.
|
|
116
|
+
else if (this._compare(cur.key, newNode.key) === types_1.CP.lt) {
|
|
117
117
|
if (cur.right === undefined) {
|
|
118
118
|
if (newNode) {
|
|
119
119
|
newNode.parent = cur;
|
|
@@ -152,8 +152,8 @@ var BST = (function (_super) {
|
|
|
152
152
|
var e_1, _a;
|
|
153
153
|
try {
|
|
154
154
|
for (var arr_1 = __values(arr), arr_1_1 = arr_1.next(); !arr_1_1.done; arr_1_1 = arr_1.next()) {
|
|
155
|
-
var _b = __read(arr_1_1.value, 1),
|
|
156
|
-
if (
|
|
155
|
+
var _b = __read(arr_1_1.value, 1), keyOrNode = _b[0];
|
|
156
|
+
if (keyOrNode instanceof BSTNode)
|
|
157
157
|
return true;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
@@ -166,12 +166,12 @@ var BST = (function (_super) {
|
|
|
166
166
|
}
|
|
167
167
|
return false;
|
|
168
168
|
}
|
|
169
|
-
function
|
|
169
|
+
function isBinaryTreeKeyOrNullTuple(arr) {
|
|
170
170
|
var e_2, _a;
|
|
171
171
|
try {
|
|
172
172
|
for (var arr_2 = __values(arr), arr_2_1 = arr_2.next(); !arr_2_1.done; arr_2_1 = arr_2.next()) {
|
|
173
|
-
var _b = __read(arr_2_1.value, 1),
|
|
174
|
-
if (typeof
|
|
173
|
+
var _b = __read(arr_2_1.value, 1), keyOrNode = _b[0];
|
|
174
|
+
if (typeof keyOrNode === 'number')
|
|
175
175
|
return true;
|
|
176
176
|
}
|
|
177
177
|
}
|
|
@@ -184,19 +184,19 @@ var BST = (function (_super) {
|
|
|
184
184
|
}
|
|
185
185
|
return false;
|
|
186
186
|
}
|
|
187
|
-
var
|
|
187
|
+
var sortedKeysOrNodes = [], sortedData = [];
|
|
188
188
|
if (isNodeOrNullTuple(combinedArr)) {
|
|
189
|
-
sorted = combinedArr.sort(function (a, b) { return a[0].
|
|
189
|
+
sorted = combinedArr.sort(function (a, b) { return a[0].key - b[0].key; });
|
|
190
190
|
}
|
|
191
|
-
else if (
|
|
191
|
+
else if (isBinaryTreeKeyOrNullTuple(combinedArr)) {
|
|
192
192
|
sorted = combinedArr.sort(function (a, b) { return a[0] - b[0]; });
|
|
193
193
|
}
|
|
194
194
|
else {
|
|
195
195
|
throw new Error('Invalid input idsOrNodes');
|
|
196
196
|
}
|
|
197
|
-
|
|
198
|
-
var _b = __read(_a, 1),
|
|
199
|
-
return
|
|
197
|
+
sortedKeysOrNodes = sorted.map(function (_a) {
|
|
198
|
+
var _b = __read(_a, 1), keyOrNode = _b[0];
|
|
199
|
+
return keyOrNode;
|
|
200
200
|
});
|
|
201
201
|
sortedData = sorted.map(function (_a) {
|
|
202
202
|
var _b = __read(_a, 2), val = _b[1];
|
|
@@ -220,7 +220,7 @@ var BST = (function (_super) {
|
|
|
220
220
|
var _a = __read(popped, 2), l = _a[0], r = _a[1];
|
|
221
221
|
if (l <= r) {
|
|
222
222
|
var m = l + Math.floor((r - l) / 2);
|
|
223
|
-
var newNode = _this.add(
|
|
223
|
+
var newNode = _this.add(sortedKeysOrNodes[m], sortedData === null || sortedData === void 0 ? void 0 : sortedData[m]);
|
|
224
224
|
inserted.push(newNode);
|
|
225
225
|
stack.push([m + 1, r]);
|
|
226
226
|
stack.push([l, m - 1]);
|
|
@@ -229,7 +229,7 @@ var BST = (function (_super) {
|
|
|
229
229
|
}
|
|
230
230
|
};
|
|
231
231
|
if (this.loopType === types_1.LoopType.RECURSIVE) {
|
|
232
|
-
recursive(
|
|
232
|
+
recursive(sortedKeysOrNodes, sortedData);
|
|
233
233
|
}
|
|
234
234
|
else {
|
|
235
235
|
iterative();
|
|
@@ -238,21 +238,21 @@ var BST = (function (_super) {
|
|
|
238
238
|
};
|
|
239
239
|
BST.prototype.get = function (nodeProperty, propertyName) {
|
|
240
240
|
var _a;
|
|
241
|
-
propertyName = propertyName !== null && propertyName !== void 0 ? propertyName : '
|
|
241
|
+
propertyName = propertyName !== null && propertyName !== void 0 ? propertyName : 'key';
|
|
242
242
|
return (_a = this.getNodes(nodeProperty, propertyName, true)[0]) !== null && _a !== void 0 ? _a : null;
|
|
243
243
|
};
|
|
244
244
|
BST.prototype.lastKey = function () {
|
|
245
245
|
var _a, _b, _c, _d, _e, _f;
|
|
246
246
|
if (this._compare(0, 1) === types_1.CP.lt)
|
|
247
|
-
return (_b = (_a = this.getRightMost()) === null || _a === void 0 ? void 0 : _a.
|
|
247
|
+
return (_b = (_a = this.getRightMost()) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : 0;
|
|
248
248
|
else if (this._compare(0, 1) === types_1.CP.gt)
|
|
249
|
-
return (_d = (_c = this.getLeftMost()) === null || _c === void 0 ? void 0 : _c.
|
|
249
|
+
return (_d = (_c = this.getLeftMost()) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : 0;
|
|
250
250
|
else
|
|
251
|
-
return (_f = (_e = this.getRightMost()) === null || _e === void 0 ? void 0 : _e.
|
|
251
|
+
return (_f = (_e = this.getRightMost()) === null || _e === void 0 ? void 0 : _e.key) !== null && _f !== void 0 ? _f : 0;
|
|
252
252
|
};
|
|
253
253
|
BST.prototype.getNodes = function (nodeProperty, propertyName, onlyOne) {
|
|
254
254
|
var _this = this;
|
|
255
|
-
if (propertyName === void 0) { propertyName = '
|
|
255
|
+
if (propertyName === void 0) { propertyName = 'key'; }
|
|
256
256
|
if (!this.root)
|
|
257
257
|
return [];
|
|
258
258
|
var result = [];
|
|
@@ -262,10 +262,10 @@ var BST = (function (_super) {
|
|
|
262
262
|
return;
|
|
263
263
|
if (!cur.left && !cur.right)
|
|
264
264
|
return;
|
|
265
|
-
if (propertyName === '
|
|
266
|
-
if (_this._compare(cur.
|
|
265
|
+
if (propertyName === 'key') {
|
|
266
|
+
if (_this._compare(cur.key, nodeProperty) === types_1.CP.gt)
|
|
267
267
|
cur.left && _traverse_1(cur.left);
|
|
268
|
-
if (_this._compare(cur.
|
|
268
|
+
if (_this._compare(cur.key, nodeProperty) === types_1.CP.lt)
|
|
269
269
|
cur.right && _traverse_1(cur.right);
|
|
270
270
|
}
|
|
271
271
|
else {
|
|
@@ -282,10 +282,10 @@ var BST = (function (_super) {
|
|
|
282
282
|
if (cur) {
|
|
283
283
|
if (this._pushByPropertyNameStopOrNot(cur, result, nodeProperty, propertyName, onlyOne))
|
|
284
284
|
return result;
|
|
285
|
-
if (propertyName === '
|
|
286
|
-
if (this._compare(cur.
|
|
285
|
+
if (propertyName === 'key') {
|
|
286
|
+
if (this._compare(cur.key, nodeProperty) === types_1.CP.gt)
|
|
287
287
|
cur.left && queue.push(cur.left);
|
|
288
|
-
if (this._compare(cur.
|
|
288
|
+
if (this._compare(cur.key, nodeProperty) === types_1.CP.lt)
|
|
289
289
|
cur.right && queue.push(cur.right);
|
|
290
290
|
}
|
|
291
291
|
else {
|
|
@@ -299,22 +299,22 @@ var BST = (function (_super) {
|
|
|
299
299
|
};
|
|
300
300
|
BST.prototype.lesserSum = function (beginNode, propertyName) {
|
|
301
301
|
var _this = this;
|
|
302
|
-
propertyName = propertyName !== null && propertyName !== void 0 ? propertyName : '
|
|
302
|
+
propertyName = propertyName !== null && propertyName !== void 0 ? propertyName : 'key';
|
|
303
303
|
if (typeof beginNode === 'number')
|
|
304
|
-
beginNode = this.get(beginNode, '
|
|
304
|
+
beginNode = this.get(beginNode, 'key');
|
|
305
305
|
if (!beginNode)
|
|
306
306
|
return 0;
|
|
307
307
|
if (!this.root)
|
|
308
308
|
return 0;
|
|
309
|
-
var
|
|
309
|
+
var key = beginNode.key;
|
|
310
310
|
var getSumByPropertyName = function (cur) {
|
|
311
311
|
var needSum;
|
|
312
312
|
switch (propertyName) {
|
|
313
|
-
case '
|
|
314
|
-
needSum = cur.
|
|
313
|
+
case 'key':
|
|
314
|
+
needSum = cur.key;
|
|
315
315
|
break;
|
|
316
316
|
default:
|
|
317
|
-
needSum = cur.
|
|
317
|
+
needSum = cur.key;
|
|
318
318
|
break;
|
|
319
319
|
}
|
|
320
320
|
return needSum;
|
|
@@ -322,7 +322,7 @@ var BST = (function (_super) {
|
|
|
322
322
|
var sum = 0;
|
|
323
323
|
if (this.loopType === types_1.LoopType.RECURSIVE) {
|
|
324
324
|
var _traverse_2 = function (cur) {
|
|
325
|
-
var compared = _this._compare(cur.
|
|
325
|
+
var compared = _this._compare(cur.key, key);
|
|
326
326
|
if (compared === types_1.CP.eq) {
|
|
327
327
|
if (cur.right)
|
|
328
328
|
sum += _this.subTreeSum(cur.right, propertyName);
|
|
@@ -351,7 +351,7 @@ var BST = (function (_super) {
|
|
|
351
351
|
while (queue.length > 0) {
|
|
352
352
|
var cur = queue.shift();
|
|
353
353
|
if (cur) {
|
|
354
|
-
var compared = this._compare(cur.
|
|
354
|
+
var compared = this._compare(cur.key, key);
|
|
355
355
|
if (compared === types_1.CP.eq) {
|
|
356
356
|
if (cur.right)
|
|
357
357
|
sum += this.subTreeSum(cur.right, propertyName);
|
|
@@ -379,34 +379,34 @@ var BST = (function (_super) {
|
|
|
379
379
|
};
|
|
380
380
|
BST.prototype.allGreaterNodesAdd = function (node, delta, propertyName) {
|
|
381
381
|
var _this = this;
|
|
382
|
-
propertyName = propertyName !== null && propertyName !== void 0 ? propertyName : '
|
|
382
|
+
propertyName = propertyName !== null && propertyName !== void 0 ? propertyName : 'key';
|
|
383
383
|
if (typeof node === 'number')
|
|
384
|
-
node = this.get(node, '
|
|
384
|
+
node = this.get(node, 'key');
|
|
385
385
|
if (!node)
|
|
386
386
|
return false;
|
|
387
|
-
var
|
|
387
|
+
var key = node.key;
|
|
388
388
|
if (!this.root)
|
|
389
389
|
return false;
|
|
390
390
|
var _sumByPropertyName = function (cur) {
|
|
391
391
|
switch (propertyName) {
|
|
392
|
-
case '
|
|
393
|
-
cur.
|
|
392
|
+
case 'key':
|
|
393
|
+
cur.key += delta;
|
|
394
394
|
break;
|
|
395
395
|
default:
|
|
396
|
-
cur.
|
|
396
|
+
cur.key += delta;
|
|
397
397
|
break;
|
|
398
398
|
}
|
|
399
399
|
};
|
|
400
400
|
if (this.loopType === types_1.LoopType.RECURSIVE) {
|
|
401
401
|
var _traverse_3 = function (cur) {
|
|
402
|
-
var compared = _this._compare(cur.
|
|
402
|
+
var compared = _this._compare(cur.key, key);
|
|
403
403
|
if (compared === types_1.CP.gt)
|
|
404
404
|
_sumByPropertyName(cur);
|
|
405
405
|
if (!cur.left && !cur.right)
|
|
406
406
|
return;
|
|
407
|
-
if (cur.left && _this._compare(cur.left.
|
|
407
|
+
if (cur.left && _this._compare(cur.left.key, key) === types_1.CP.gt)
|
|
408
408
|
_traverse_3(cur.left);
|
|
409
|
-
if (cur.right && _this._compare(cur.right.
|
|
409
|
+
if (cur.right && _this._compare(cur.right.key, key) === types_1.CP.gt)
|
|
410
410
|
_traverse_3(cur.right);
|
|
411
411
|
};
|
|
412
412
|
_traverse_3(this.root);
|
|
@@ -417,12 +417,12 @@ var BST = (function (_super) {
|
|
|
417
417
|
while (queue.length > 0) {
|
|
418
418
|
var cur = queue.shift();
|
|
419
419
|
if (cur) {
|
|
420
|
-
var compared = this._compare(cur.
|
|
420
|
+
var compared = this._compare(cur.key, key);
|
|
421
421
|
if (compared === types_1.CP.gt)
|
|
422
422
|
_sumByPropertyName(cur);
|
|
423
|
-
if (cur.left && this._compare(cur.left.
|
|
423
|
+
if (cur.left && this._compare(cur.left.key, key) === types_1.CP.gt)
|
|
424
424
|
queue.push(cur.left);
|
|
425
|
-
if (cur.right && this._compare(cur.right.
|
|
425
|
+
if (cur.right && this._compare(cur.right.key, key) === types_1.CP.gt)
|
|
426
426
|
queue.push(cur.right);
|
|
427
427
|
}
|
|
428
428
|
}
|
|
@@ -441,7 +441,7 @@ var BST = (function (_super) {
|
|
|
441
441
|
return;
|
|
442
442
|
var m = l + Math.floor((r - l) / 2);
|
|
443
443
|
var midNode = sorted[m];
|
|
444
|
-
_this.add(midNode.
|
|
444
|
+
_this.add(midNode.key, midNode.val);
|
|
445
445
|
buildBalanceBST_1(l, m - 1);
|
|
446
446
|
buildBalanceBST_1(m + 1, r);
|
|
447
447
|
};
|
|
@@ -457,7 +457,7 @@ var BST = (function (_super) {
|
|
|
457
457
|
if (l <= r) {
|
|
458
458
|
var m = l + Math.floor((r - l) / 2);
|
|
459
459
|
var midNode = sorted[m];
|
|
460
|
-
this.add(midNode.
|
|
460
|
+
this.add(midNode.key, midNode.val);
|
|
461
461
|
stack.push([m + 1, r]);
|
|
462
462
|
stack.push([l, m - 1]);
|
|
463
463
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bst.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/bst.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bst.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/bst.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,qCAAyC;AACzC,6CAAyD;AAGzD;IACU,2BAA2B;IAGnC,iBAAY,GAAsB,EAAE,GAAO;eACzC,kBAAM,GAAG,EAAE,GAAG,CAAC;IACjB,CAAC;IACH,cAAC;AAAD,CAAC,AAPD,CACU,4BAAc,GAMvB;AAPY,0BAAO;AASpB;IAAmE,uBAAa;IAK9E,aAAY,OAAoB;QAAhC,YACE,kBAAM,OAAO,CAAC,SAOf;QAseS,iBAAW,GAAkB,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC;QA5erD,IAAI,OAAO,KAAK,SAAS,EAAE;YAClB,IAAA,UAAU,GAAI,OAAO,WAAX,CAAY;YAC7B,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC5B,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;aAC/B;SACF;;IACH,CAAC;IAUQ,wBAAU,GAAnB,UAAoB,GAAsB,EAAE,GAAc;QACxD,OAAO,IAAI,OAAO,CAAc,GAAG,EAAE,GAAG,CAAM,CAAC;IACjD,CAAC;IAWQ,iBAAG,GAAZ,UAAa,SAAuC,EAAE,GAAc;QAElE,IAAI,QAAQ,GAAa,IAAI,CAAC;QAC9B,IAAI,OAAO,GAAa,IAAI,CAAC;QAC7B,IAAI,SAAS,YAAY,OAAO,EAAE;YAChC,OAAO,GAAG,SAAS,CAAC;SACrB;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACxC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;SAC3C;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE;YAC7B,OAAO,GAAG,IAAI,CAAC;SAChB;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC7B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SACtB;aAAM;YACL,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,OAAO,UAAU,EAAE;gBACjB,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE;oBACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE,EAAE;wBACjD,IAAI,OAAO,EAAE;4BACX,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;yBACvB;wBAED,UAAU,GAAG,KAAK,CAAC;wBACnB,QAAQ,GAAG,GAAG,CAAC;qBAChB;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE,EAAE;wBAExD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;4BAC1B,IAAI,OAAO,EAAE;gCACX,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;6BACtB;4BAED,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;4BACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;4BAC7B,UAAU,GAAG,KAAK,CAAC;4BACnB,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;yBACrB;6BAAM;4BAEL,IAAI,GAAG,CAAC,IAAI;gCAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;yBAC9B;qBACF;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE,EAAE;wBAExD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;4BAC3B,IAAI,OAAO,EAAE;gCACX,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;6BACtB;4BAED,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC;4BACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;4BAC7B,UAAU,GAAG,KAAK,CAAC;4BACnB,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yBACtB;6BAAM;4BAEL,IAAI,GAAG,CAAC,KAAK;gCAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;yBAChC;qBACF;iBACF;qBAAM;oBACL,UAAU,GAAG,KAAK,CAAC;iBACpB;aACF;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAYQ,qBAAO,GAAhB,UACE,UAAuD,EACvD,IAAiB,EACjB,YAAoB;QAHtB,iBAqEC;QAlEC,6BAAA,EAAA,oBAAoB;QAEpB,SAAS,SAAS,CAAC,GAAgD;YACjE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAC3C,OAAO,iBAAM,OAAO,YAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACxC;QACD,IAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,IAAM,WAAW,GAAwC,UAAU,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,CAAC,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,KAAK,CAAC,CAAC,EAAtB,CAAsB,CAAC,CAAC;QAClH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,SAAS,iBAAiB,CAAC,GAAwC;;;gBACjE,KAA0B,IAAA,QAAA,SAAA,GAAG,CAAA,wBAAA;oBAAlB,IAAA,KAAA,wBAAW,EAAV,SAAS,QAAA;oBAAU,IAAI,SAAS,YAAY,OAAO;wBAAE,OAAO,IAAI,CAAC;iBAAA;;;;;;;;;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS,0BAA0B,CACjC,GAAwC;;;gBAExC,KAA0B,IAAA,QAAA,SAAA,GAAG,CAAA,wBAAA;oBAAlB,IAAA,KAAA,wBAAW,EAAV,SAAS,QAAA;oBAAU,IAAI,OAAO,SAAS,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC;iBAAA;;;;;;;;;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,iBAAiB,GAA0B,EAAE,EAC/C,UAAU,GAAyC,EAAE,CAAC;QAExD,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE;YAClC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAnB,CAAmB,CAAC,CAAC;SAC1D;aAAM,IAAI,0BAA0B,CAAC,WAAW,CAAC,EAAE;YAClD,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC;SAClD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,EAAW;gBAAX,KAAA,aAAW,EAAV,SAAS,QAAA;YAAM,OAAA,SAAS;QAAT,CAAS,CAAC,CAAC;QAC3D,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,EAAO;gBAAP,KAAA,aAAO,EAAJ,GAAG,QAAA;YAAM,OAAA,GAAG;QAAH,CAAG,CAAC,CAAC;QAC1C,IAAM,SAAS,GAAG,UAAC,GAAqC,EAAE,IAAiB;YACzE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE7B,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAM,OAAO,GAAG,KAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAM,SAAS,GAAG;YAChB,IAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACxB,IAAM,KAAK,GAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,MAAM,EAAE;oBACJ,IAAA,KAAA,OAAS,MAAM,IAAA,EAAd,CAAC,QAAA,EAAE,CAAC,QAAU,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,EAAE;wBACV,IAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtC,IAAM,OAAO,GAAG,KAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC,CAAC;wBAChE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACxB;iBACF;aACF;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE;YACxC,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;SAC1C;aAAM;YACL,SAAS,EAAE,CAAC;SACb;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAUQ,iBAAG,GAAZ,UAAa,YAAmC,EAAE,YAAyC;;QACzF,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK,CAAC;QACrC,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IACpE,CAAC;IASD,qBAAO,GAAP;;QACE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAE,CAAC,EAAE;YAAE,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,GAAG,mCAAI,CAAC,CAAC;aACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAE,CAAC,EAAE;YAAE,OAAO,MAAA,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,GAAG,mCAAI,CAAC,CAAC;;YACvE,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,GAAG,mCAAI,CAAC,CAAC;IAC5C,CAAC;IAaQ,sBAAQ,GAAjB,UACE,YAAmC,EACnC,YAAgD,EAChD,OAAiB;QAHnB,iBAyCC;QAvCC,6BAAA,EAAA,oBAAgD;QAGhD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAC1B,IAAM,MAAM,GAAQ,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE;YACxC,IAAM,WAAS,GAAG,UAAC,GAAM;gBACvB,IAAI,KAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;oBAAE,OAAO;gBAEhG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,OAAO;gBACpC,IAAI,YAAY,KAAK,KAAK,EAAE;oBAC1B,IAAI,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAsB,CAAC,KAAK,UAAE,CAAC,EAAE;wBAAE,GAAG,CAAC,IAAI,IAAI,WAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9F,IAAI,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAsB,CAAC,KAAK,UAAE,CAAC,EAAE;wBAAE,GAAG,CAAC,KAAK,IAAI,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACjG;qBAAM;oBACL,GAAG,CAAC,IAAI,IAAI,WAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChC,GAAG,CAAC,KAAK,IAAI,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC;YAEF,WAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;aAAM;YACL,IAAM,KAAK,GAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,GAAG,EAAE;oBACP,IAAI,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;wBAAE,OAAO,MAAM,CAAC;oBACvG,IAAI,YAAY,KAAK,KAAK,EAAE;wBAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAsB,CAAC,KAAK,UAAE,CAAC,EAAE;4BAAE,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC/F,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAsB,CAAC,KAAK,UAAE,CAAC,EAAE;4BAAE,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAClG;yBAAM;wBACL,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACjC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBACpC;iBACF;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAYD,uBAAS,GAAT,UAAU,SAAuC,EAAE,YAAyC;QAA5F,iBA+DC;QA9DC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK,CAAC;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QACzB,IAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QAC1B,IAAM,oBAAoB,GAAG,UAAC,GAAM;YAClC,IAAI,OAAe,CAAC;YACpB,QAAQ,YAAY,EAAE;gBACpB,KAAK,KAAK;oBACR,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;oBAClB,MAAM;gBACR;oBACE,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;oBAClB,MAAM;aACT;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE;YACxC,IAAM,WAAS,GAAG,UAAC,GAAM;gBACvB,IAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,IAAI,QAAQ,KAAK,UAAE,CAAC,EAAE,EAAE;oBACtB,IAAI,GAAG,CAAC,KAAK;wBAAE,GAAG,IAAI,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBAC/D,OAAO;iBACR;qBAAM,IAAI,QAAQ,KAAK,UAAE,CAAC,EAAE,EAAE;oBAC7B,IAAI,GAAG,CAAC,IAAI;wBAAE,GAAG,IAAI,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAC7D,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,GAAG,CAAC,KAAK;wBAAE,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;wBAC/B,OAAO;iBACb;qBAAM;oBACL,IAAI,GAAG,CAAC,IAAI;wBAAE,WAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;wBAC7B,OAAO;iBACb;YACH,CAAC,CAAC;YAEF,WAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;aAAM;YACL,IAAM,KAAK,GAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,GAAG,EAAE;oBACP,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,IAAI,QAAQ,KAAK,UAAE,CAAC,EAAE,EAAE;wBACtB,IAAI,GAAG,CAAC,KAAK;4BAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;wBAC/D,OAAO,GAAG,CAAC;qBACZ;yBAAM,IAAI,QAAQ,KAAK,UAAE,CAAC,EAAE,EAAE;wBAE7B,IAAI,GAAG,CAAC,IAAI;4BAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAC7D,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,GAAG,CAAC,KAAK;4BAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;4BAChC,OAAO,GAAG,CAAC;qBACjB;yBAAM;wBACL,IAAI,GAAG,CAAC,IAAI;4BAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;4BAC9B,OAAO,GAAG,CAAC;qBACjB;iBACF;aACF;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAcD,gCAAkB,GAAlB,UACE,IAAkC,EAClC,KAAa,EACb,YAAyC;QAH3C,iBA+CC;QA1CC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK,CAAC;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAE7B,IAAM,kBAAkB,GAAG,UAAC,GAAM;YAChC,QAAQ,YAAY,EAAE;gBACpB,KAAK,KAAK;oBACR,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC;oBACjB,MAAM;gBACR;oBACE,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC;oBACjB,MAAM;aACT;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE;YACxC,IAAM,WAAS,GAAG,UAAC,GAAM;gBACvB,IAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,IAAI,QAAQ,KAAK,UAAE,CAAC,EAAE;oBAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAEhD,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,OAAO;gBACpC,IAAI,GAAG,CAAC,IAAI,IAAI,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE;oBAAE,WAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChF,IAAI,GAAG,CAAC,KAAK,IAAI,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE;oBAAE,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrF,CAAC,CAAC;YAEF,WAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAM,KAAK,GAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,GAAG,EAAE;oBACP,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,IAAI,QAAQ,KAAK,UAAE,CAAC,EAAE;wBAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAEhD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjF,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,UAAE,CAAC,EAAE;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACrF;aACF;YACD,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAiBD,8BAAgB,GAAhB;QAAA,iBAmCC;QAlCC,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE;YACxC,IAAM,iBAAe,GAAG,UAAC,CAAS,EAAE,CAAS;gBAC3C,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO;gBAClB,IAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1B,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,iBAAe,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,iBAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,iBAAe,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAM,KAAK,GAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,MAAM,EAAE;oBACJ,IAAA,KAAA,OAAS,MAAM,IAAA,EAAd,CAAC,QAAA,EAAE,CAAC,QAAU,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,EAAE;wBACV,IAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtC,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBACnC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACxB;iBACF;aACF;YACD,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAMD,2BAAa,GAAb;;QACE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5B,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE;YACxC,IAAM,SAAO,GAAG,UAAC,GAAyB;gBACxC,IAAI,CAAC,GAAG;oBAAE,OAAO,CAAC,CAAC;gBACnB,IAAM,UAAU,GAAG,SAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAClC,WAAW,GAAG,SAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC;oBAAE,QAAQ,GAAG,KAAK,CAAC;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC,CAAC;YACF,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;aAAM;YACL,IAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,IAAI,IAAI,GAAyB,IAAI,CAAC,IAAI,EACxC,IAAI,GAAa,IAAI,CAAC;YACxB,IAAM,MAAM,GAAmB,IAAI,GAAG,EAAE,CAAC;YAEzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE;gBAC/B,IAAI,IAAI,EAAE;oBACR,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;iBAClB;qBAAM;oBACL,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE;wBACtC,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;wBACnB,IAAI,IAAI,EAAE;4BACR,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1D,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gCAAE,OAAO,KAAK,CAAC;4BAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;4BAC5C,IAAI,GAAG,IAAI,CAAC;4BACZ,IAAI,GAAG,IAAI,CAAC;yBACb;qBACF;;wBAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;iBAC1B;aACF;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAYS,sBAAQ,GAAlB,UAAmB,CAAoB,EAAE,CAAoB;QAC3D,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,UAAE,CAAC,EAAE,CAAC;aAC1B,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,UAAE,CAAC,EAAE,CAAC;;YAC/B,OAAO,UAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAGH,UAAC;AAAD,CAAC,AArgBD,CAAmE,wBAAU,GAqgB5E;AArgBY,kBAAG"}
|
|
@@ -20,8 +20,8 @@ var types_1 = require("../../types");
|
|
|
20
20
|
var bst_1 = require("./bst");
|
|
21
21
|
var RBTreeNode = (function (_super) {
|
|
22
22
|
__extends(RBTreeNode, _super);
|
|
23
|
-
function RBTreeNode(
|
|
24
|
-
var _this = _super.call(this,
|
|
23
|
+
function RBTreeNode(key, val) {
|
|
24
|
+
var _this = _super.call(this, key, val) || this;
|
|
25
25
|
_this._color = types_1.RBColor.RED;
|
|
26
26
|
return _this;
|
|
27
27
|
}
|
|
@@ -43,8 +43,8 @@ var RBTree = (function (_super) {
|
|
|
43
43
|
function RBTree(options) {
|
|
44
44
|
return _super.call(this, options) || this;
|
|
45
45
|
}
|
|
46
|
-
RBTree.prototype.createNode = function (
|
|
47
|
-
return new RBTreeNode(
|
|
46
|
+
RBTree.prototype.createNode = function (key, val) {
|
|
47
|
+
return new RBTreeNode(key, val);
|
|
48
48
|
};
|
|
49
49
|
return RBTree;
|
|
50
50
|
}(bst_1.BST));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAwF;AAExF,6BAAmC;AAEnC;IACU,8BAAoB;IAK5B,oBAAY,GAAsB,EAAE,GAAO;QAA3C,YACE,kBAAM,GAAG,EAAE,GAAG,CAAC,SAEhB;QADC,KAAI,CAAC,MAAM,GAAG,eAAO,CAAC,GAAG,CAAC;;IAC5B,CAAC;IAED,sBAAI,6BAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAED,UAAU,KAAc;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;;;OAJA;IAKH,iBAAC;AAAD,CAAC,AAlBD,CACU,aAAO,GAiBhB;AAlBY,gCAAU;AAoBvB;IAA4E,0BAAM;IAChF,gBAAY,OAAuB;eACjC,kBAAM,OAAO,CAAC;IAChB,CAAC;IAEQ,2BAAU,GAAnB,UAAoB,GAAsB,EAAE,GAAc;QACxD,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAM,CAAC;IACvC,CAAC;IA8UH,aAAC;AAAD,CAAC,AArVD,CAA4E,SAAG,GAqV9E;AArVY,wBAAM"}
|