nlptoolkit-datastructure 1.0.8 → 1.0.9
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/dist/CounterHashMap.js +108 -118
- package/dist/CounterHashMap.js.map +1 -1
- package/dist/LRUCache.js +55 -63
- package/dist/LRUCache.js.map +1 -1
- package/dist/Queue.js +57 -64
- package/dist/Queue.js.map +1 -1
- package/dist/Stack.js +40 -50
- package/dist/Stack.js.map +1 -1
- package/dist/heap/Heap.js +113 -119
- package/dist/heap/Heap.js.map +1 -1
- package/dist/heap/HeapNode.js +19 -28
- package/dist/heap/HeapNode.js.map +1 -1
- package/dist/heap/MaxHeap.js +11 -21
- package/dist/heap/MaxHeap.js.map +1 -1
- package/dist/heap/MinHeap.js +11 -21
- package/dist/heap/MinHeap.js.map +1 -1
- package/dist/index.js +16 -22
- package/dist/index.js.map +1 -1
- package/dist/tree/AvlTree.js +160 -170
- package/dist/tree/AvlTree.js.map +1 -1
- package/dist/tree/AvlTreeNode.js +11 -20
- package/dist/tree/AvlTreeNode.js.map +1 -1
- package/dist/tree/BTree.js +74 -82
- package/dist/tree/BTree.js.map +1 -1
- package/dist/tree/BTreeNode.js +168 -173
- package/dist/tree/BTreeNode.js.map +1 -1
- package/dist/tree/Tree.js +81 -90
- package/dist/tree/Tree.js.map +1 -1
- package/dist/tree/TreeNode.js +11 -20
- package/dist/tree/TreeNode.js.map +1 -1
- package/package.json +3 -2
- package/tsconfig.json +4 -4
- package/source/tsconfig.json +0 -13
package/dist/heap/Heap.js
CHANGED
|
@@ -1,130 +1,124 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Heap = void 0;
|
|
4
|
+
const HeapNode_1 = require("./HeapNode");
|
|
5
|
+
/**
|
|
6
|
+
* <p>The heap data structure is a binary tree structure consisting of N elements. It shows the basic properties of the
|
|
7
|
+
* binary tree data structure. The heap has a root node and each node of it has at most two child nodes
|
|
8
|
+
* (left and right). The root node of the tree is shown at the top, and its branches grow not to up but to down manner.
|
|
9
|
+
* </p>
|
|
10
|
+
*
|
|
11
|
+
* <p>In a heap, if the maximum element is in the root node and all nodes are smaller than its descendants, then this heap
|
|
12
|
+
* is called max-heap, if the minimum element is in the root node and all nodes are larger than its descendants, then
|
|
13
|
+
* this heap is called min-heap.</p>
|
|
14
|
+
* @param T Type of the data stored in the heap node.
|
|
15
|
+
*/
|
|
16
|
+
class Heap {
|
|
17
|
+
array;
|
|
18
|
+
comparator;
|
|
19
|
+
count;
|
|
20
|
+
n;
|
|
21
|
+
/**
|
|
22
|
+
* Constructor of the heap. According to the comparator, the heap could be min or max heap.
|
|
23
|
+
* @param N Maximum number of elements in the heap.
|
|
24
|
+
* @param comparator Comparator function to compare two elements.
|
|
25
|
+
*/
|
|
26
|
+
constructor(N, comparator) {
|
|
27
|
+
this.comparator = comparator;
|
|
28
|
+
this.array = new Array();
|
|
29
|
+
this.count = 0;
|
|
30
|
+
this.n = N;
|
|
31
|
+
for (let i = 0; i < N; i++) {
|
|
32
|
+
this.array.push();
|
|
33
|
+
}
|
|
5
34
|
}
|
|
6
|
-
|
|
7
|
-
|
|
35
|
+
compare(data1, data2) {
|
|
36
|
+
return 0;
|
|
8
37
|
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Heap = void 0;
|
|
13
|
-
const HeapNode_1 = require("./HeapNode");
|
|
14
38
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* (left and right). The root node of the tree is shown at the top, and its branches grow not to up but to down manner.
|
|
18
|
-
* </p>
|
|
19
|
-
*
|
|
20
|
-
* <p>In a heap, if the maximum element is in the root node and all nodes are smaller than its descendants, then this heap
|
|
21
|
-
* is called max-heap, if the minimum element is in the root node and all nodes are larger than its descendants, then
|
|
22
|
-
* this heap is called min-heap.</p>
|
|
23
|
-
* @param T Type of the data stored in the heap node.
|
|
39
|
+
* Checks if the heap is empty or not.
|
|
40
|
+
* @return True if the heap is empty, false otherwise.
|
|
24
41
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
*/
|
|
55
|
-
swapNode(index1, index2) {
|
|
56
|
-
let tmp = this.array[index1];
|
|
57
|
-
this.array[index1] = this.array[index2];
|
|
58
|
-
this.array[index2] = tmp;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* The function percolates down from a node of the tree to restore the max-heap property. Left or right children are
|
|
62
|
-
* checked, if one of them is larger than the current element of the heap, the iteration continues. The iteration is,
|
|
63
|
-
* determining the largest one of the node's children and switching that node's value with the current node's value.
|
|
64
|
-
* We need to check if current node's left and right children exist or not. These checks are done with for the left
|
|
65
|
-
* child and with for the right child.
|
|
66
|
-
* @param no Index of the starting node to restore the max-heap property.
|
|
67
|
-
*/
|
|
68
|
-
percolateDown(no) {
|
|
69
|
-
let left = 2 * no + 1;
|
|
70
|
-
let right = 2 * no + 2;
|
|
71
|
-
while ((left < this.count && this.compare(this.array[no].getData(), this.array[left].getData()) < 0) ||
|
|
72
|
-
(right < this.count && this.compare(this.array[no].getData(), this.array[right].getData()) < 0)) {
|
|
73
|
-
if (right >= this.count || this.compare(this.array[left].getData(), this.array[right].getData()) > 0) {
|
|
74
|
-
this.swapNode(no, left);
|
|
75
|
-
no = left;
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
this.swapNode(no, right);
|
|
79
|
-
no = right;
|
|
80
|
-
}
|
|
81
|
-
left = 2 * no + 1;
|
|
82
|
-
right = 2 * no + 2;
|
|
42
|
+
isEmpty() {
|
|
43
|
+
return this.count == 0;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Swaps two heap nodes in the heap given their indexes.
|
|
47
|
+
* @param index1 Index of the first node to swap.
|
|
48
|
+
* @param index2 Index of the second node to swap.
|
|
49
|
+
*/
|
|
50
|
+
swapNode(index1, index2) {
|
|
51
|
+
let tmp = this.array[index1];
|
|
52
|
+
this.array[index1] = this.array[index2];
|
|
53
|
+
this.array[index2] = tmp;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The function percolates down from a node of the tree to restore the max-heap property. Left or right children are
|
|
57
|
+
* checked, if one of them is larger than the current element of the heap, the iteration continues. The iteration is,
|
|
58
|
+
* determining the largest one of the node's children and switching that node's value with the current node's value.
|
|
59
|
+
* We need to check if current node's left and right children exist or not. These checks are done with for the left
|
|
60
|
+
* child and with for the right child.
|
|
61
|
+
* @param no Index of the starting node to restore the max-heap property.
|
|
62
|
+
*/
|
|
63
|
+
percolateDown(no) {
|
|
64
|
+
let left = 2 * no + 1;
|
|
65
|
+
let right = 2 * no + 2;
|
|
66
|
+
while ((left < this.count && this.compare(this.array[no].getData(), this.array[left].getData()) < 0) ||
|
|
67
|
+
(right < this.count && this.compare(this.array[no].getData(), this.array[right].getData()) < 0)) {
|
|
68
|
+
if (right >= this.count || this.compare(this.array[left].getData(), this.array[right].getData()) > 0) {
|
|
69
|
+
this.swapNode(no, left);
|
|
70
|
+
no = left;
|
|
83
71
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
* property is corrupted, the parent and its child switch their values. We need to pay attention that, the
|
|
88
|
-
* calculated index of the parent must be a valid number. In other words, while going upper levels,we need to see
|
|
89
|
-
* that we can not go up if we are at the root of the tree.
|
|
90
|
-
* @param no Index of the starting node to restore the max-heap property.
|
|
91
|
-
*/
|
|
92
|
-
percolateUp(no) {
|
|
93
|
-
let parent = Math.floor((no - 1) / 2);
|
|
94
|
-
while (parent >= 0 && this.compare(this.array[parent].getData(), this.array[no].getData()) < 0) {
|
|
95
|
-
this.swapNode(parent, no);
|
|
96
|
-
no = parent;
|
|
97
|
-
parent = Math.floor((no - 1) / 2);
|
|
72
|
+
else {
|
|
73
|
+
this.swapNode(no, right);
|
|
74
|
+
no = right;
|
|
98
75
|
}
|
|
76
|
+
left = 2 * no + 1;
|
|
77
|
+
right = 2 * no + 2;
|
|
99
78
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.
|
|
112
|
-
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The function percolates up from a node of the tree to restore the max-heap property. As long as the max-heap
|
|
82
|
+
* property is corrupted, the parent and its child switch their values. We need to pay attention that, the
|
|
83
|
+
* calculated index of the parent must be a valid number. In other words, while going upper levels,we need to see
|
|
84
|
+
* that we can not go up if we are at the root of the tree.
|
|
85
|
+
* @param no Index of the starting node to restore the max-heap property.
|
|
86
|
+
*/
|
|
87
|
+
percolateUp(no) {
|
|
88
|
+
let parent = Math.floor((no - 1) / 2);
|
|
89
|
+
while (parent >= 0 && this.compare(this.array[parent].getData(), this.array[no].getData()) < 0) {
|
|
90
|
+
this.swapNode(parent, no);
|
|
91
|
+
no = parent;
|
|
92
|
+
parent = Math.floor((no - 1) / 2);
|
|
113
93
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The function will return the first element, therefore the first element is stored in the variable, and the first
|
|
97
|
+
* element of the heap is set to the last element of the heap. After that, in order to restore the max-heap
|
|
98
|
+
* property, we percolate down the tree using the function. As a last step, the number of element in the heap is
|
|
99
|
+
* decremented by one.
|
|
100
|
+
* @return The first element
|
|
101
|
+
*/
|
|
102
|
+
delete() {
|
|
103
|
+
let tmp = this.array[0];
|
|
104
|
+
this.array[0] = this.array[this.count - 1];
|
|
105
|
+
this.percolateDown(0);
|
|
106
|
+
this.count = this.count - 1;
|
|
107
|
+
return tmp.getData();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The insertion of a new element to the heap, proceeds from the leaf nodes to the root node. First the new element
|
|
111
|
+
* is added to the end of the heap, then as long as the max-heap property is corrupted, the new element switches
|
|
112
|
+
* place with its parent.
|
|
113
|
+
* @param data New element to be inserted.
|
|
114
|
+
*/
|
|
115
|
+
insert(data) {
|
|
116
|
+
if (this.count < this.n) {
|
|
117
|
+
this.count = this.count + 1;
|
|
126
118
|
}
|
|
119
|
+
this.array[this.count - 1] = new HeapNode_1.HeapNode(data);
|
|
120
|
+
this.percolateUp(this.count - 1);
|
|
127
121
|
}
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
}
|
|
123
|
+
exports.Heap = Heap;
|
|
130
124
|
//# sourceMappingURL=Heap.js.map
|
package/dist/heap/Heap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heap.js","sourceRoot":"","sources":["../../source/heap/Heap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Heap.js","sourceRoot":"","sources":["../../source/heap/Heap.ts"],"names":[],"mappings":"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"}
|
package/dist/heap/HeapNode.js
CHANGED
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeapNode = void 0;
|
|
4
|
+
class HeapNode {
|
|
5
|
+
data;
|
|
6
|
+
/**
|
|
7
|
+
* Constructor of HeapNode.
|
|
8
|
+
* @param data Data to be stored in the heap node.
|
|
9
|
+
*/
|
|
10
|
+
constructor(data) {
|
|
11
|
+
this.data = data;
|
|
5
12
|
}
|
|
6
|
-
|
|
7
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Mutator of the data field
|
|
15
|
+
* @return Data
|
|
16
|
+
*/
|
|
17
|
+
getData() {
|
|
18
|
+
return this.data;
|
|
8
19
|
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.HeapNode = void 0;
|
|
13
|
-
class HeapNode {
|
|
14
|
-
/**
|
|
15
|
-
* Constructor of HeapNode.
|
|
16
|
-
* @param data Data to be stored in the heap node.
|
|
17
|
-
*/
|
|
18
|
-
constructor(data) {
|
|
19
|
-
this.data = data;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Mutator of the data field
|
|
23
|
-
* @return Data
|
|
24
|
-
*/
|
|
25
|
-
getData() {
|
|
26
|
-
return this.data;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.HeapNode = HeapNode;
|
|
30
|
-
});
|
|
20
|
+
}
|
|
21
|
+
exports.HeapNode = HeapNode;
|
|
31
22
|
//# sourceMappingURL=HeapNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeapNode.js","sourceRoot":"","sources":["../../source/heap/HeapNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeapNode.js","sourceRoot":"","sources":["../../source/heap/HeapNode.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IAEjB,IAAI,CAAI;IAER;;;OAGG;IACH,YAAY,IAAO;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;CAEJ;AApBD,4BAoBC"}
|
package/dist/heap/MaxHeap.js
CHANGED
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaxHeap = void 0;
|
|
4
|
+
const Heap_1 = require("./Heap");
|
|
5
|
+
class MaxHeap extends Heap_1.Heap {
|
|
6
|
+
constructor(N, comparator) {
|
|
7
|
+
super(N, comparator);
|
|
5
8
|
}
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
compare(data1, data2) {
|
|
10
|
+
return this.comparator(data1, data2);
|
|
8
11
|
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MaxHeap = void 0;
|
|
13
|
-
const Heap_1 = require("./Heap");
|
|
14
|
-
class MaxHeap extends Heap_1.Heap {
|
|
15
|
-
constructor(N, comparator) {
|
|
16
|
-
super(N, comparator);
|
|
17
|
-
}
|
|
18
|
-
compare(data1, data2) {
|
|
19
|
-
return this.comparator(data1, data2);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.MaxHeap = MaxHeap;
|
|
23
|
-
});
|
|
12
|
+
}
|
|
13
|
+
exports.MaxHeap = MaxHeap;
|
|
24
14
|
//# sourceMappingURL=MaxHeap.js.map
|
package/dist/heap/MaxHeap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaxHeap.js","sourceRoot":"","sources":["../../source/heap/MaxHeap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaxHeap.js","sourceRoot":"","sources":["../../source/heap/MaxHeap.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAE5B,MAAa,OAAW,SAAQ,WAAO;IAEnC,YAAY,CAAS,EAAE,UAA0C;QAC7D,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,KAAQ,EAAE,KAAQ;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CAEJ;AAVD,0BAUC"}
|
package/dist/heap/MinHeap.js
CHANGED
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MinHeap = void 0;
|
|
4
|
+
const Heap_1 = require("./Heap");
|
|
5
|
+
class MinHeap extends Heap_1.Heap {
|
|
6
|
+
constructor(N, comparator) {
|
|
7
|
+
super(N, comparator);
|
|
5
8
|
}
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
compare(data1, data2) {
|
|
10
|
+
return -this.comparator(data1, data2);
|
|
8
11
|
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MinHeap = void 0;
|
|
13
|
-
const Heap_1 = require("./Heap");
|
|
14
|
-
class MinHeap extends Heap_1.Heap {
|
|
15
|
-
constructor(N, comparator) {
|
|
16
|
-
super(N, comparator);
|
|
17
|
-
}
|
|
18
|
-
compare(data1, data2) {
|
|
19
|
-
return -this.comparator(data1, data2);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.MinHeap = MinHeap;
|
|
23
|
-
});
|
|
12
|
+
}
|
|
13
|
+
exports.MinHeap = MinHeap;
|
|
24
14
|
//# sourceMappingURL=MinHeap.js.map
|
package/dist/heap/MinHeap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinHeap.js","sourceRoot":"","sources":["../../source/heap/MinHeap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MinHeap.js","sourceRoot":"","sources":["../../source/heap/MinHeap.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAE5B,MAAa,OAAW,SAAQ,WAAO;IAEnC,YAAY,CAAS,EAAE,UAA0C;QAC7D,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,KAAQ,EAAE,KAAQ;QACtB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;CAEJ;AAVD,0BAUC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
3
|
if (k2 === undefined) k2 = k;
|
|
3
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
4
9
|
}) : (function(o, m, k, k2) {
|
|
5
10
|
if (k2 === undefined) k2 = k;
|
|
6
11
|
o[k2] = m[k];
|
|
@@ -8,25 +13,14 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
8
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
9
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
10
15
|
};
|
|
11
|
-
(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
__exportStar(require("./CounterHashMap"), exports);
|
|
23
|
-
__exportStar(require("./LRUCache"), exports);
|
|
24
|
-
__exportStar(require("./Stack"), exports);
|
|
25
|
-
__exportStar(require("./tree/BTree"), exports);
|
|
26
|
-
__exportStar(require("./tree/BTreeNode"), exports);
|
|
27
|
-
__exportStar(require("./tree/AvlTree"), exports);
|
|
28
|
-
__exportStar(require("./tree/AvlTreeNode"), exports);
|
|
29
|
-
__exportStar(require("./tree/Tree"), exports);
|
|
30
|
-
__exportStar(require("./tree/TreeNode"), exports);
|
|
31
|
-
});
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./CounterHashMap"), exports);
|
|
18
|
+
__exportStar(require("./LRUCache"), exports);
|
|
19
|
+
__exportStar(require("./Stack"), exports);
|
|
20
|
+
__exportStar(require("./tree/BTree"), exports);
|
|
21
|
+
__exportStar(require("./tree/BTreeNode"), exports);
|
|
22
|
+
__exportStar(require("./tree/AvlTree"), exports);
|
|
23
|
+
__exportStar(require("./tree/AvlTreeNode"), exports);
|
|
24
|
+
__exportStar(require("./tree/Tree"), exports);
|
|
25
|
+
__exportStar(require("./tree/TreeNode"), exports);
|
|
32
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,6CAA0B;AAC1B,0CAAuB;AACvB,+CAA4B;AAC5B,mDAAgC;AAChC,iDAA8B;AAC9B,qDAAkC;AAClC,8CAA2B;AAC3B,kDAA+B"}
|