nlptoolkit-datastructure 1.0.2 → 1.0.4
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/heap/Heap.d.ts +3 -2
- package/dist/heap/Heap.js +4 -1
- package/dist/heap/Heap.js.map +1 -1
- package/dist/heap/MaxHeap.d.ts +1 -1
- package/dist/heap/MaxHeap.js.map +1 -1
- package/dist/heap/MinHeap.d.ts +1 -1
- package/dist/heap/MinHeap.js.map +1 -1
- package/package.json +1 -1
- package/source/heap/Heap.ts +7 -3
- package/source/heap/MaxHeap.ts +1 -1
- package/source/heap/MinHeap.ts +1 -1
- package/tests/HeapTest.ts +2 -5
package/dist/heap/Heap.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare class Heap<T> {
|
|
2
2
|
private readonly array;
|
|
3
|
-
protected comparator:
|
|
3
|
+
protected comparator: (item1: T, item2: T) => number;
|
|
4
4
|
private count;
|
|
5
|
-
|
|
5
|
+
private n;
|
|
6
|
+
constructor(N: number, comparator: (item1: T, item2: T) => number);
|
|
6
7
|
compare(data1: T, data2: T): number;
|
|
7
8
|
isEmpty(): boolean;
|
|
8
9
|
private swapNode;
|
package/dist/heap/Heap.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
this.comparator = comparator;
|
|
17
17
|
this.array = new Array();
|
|
18
18
|
this.count = 0;
|
|
19
|
+
this.n = N;
|
|
19
20
|
for (let i = 0; i < N; i++) {
|
|
20
21
|
this.array.push();
|
|
21
22
|
}
|
|
@@ -64,7 +65,9 @@
|
|
|
64
65
|
return tmp.getData();
|
|
65
66
|
}
|
|
66
67
|
insert(data) {
|
|
67
|
-
this.count
|
|
68
|
+
if (this.count < this.n) {
|
|
69
|
+
this.count = this.count + 1;
|
|
70
|
+
}
|
|
68
71
|
this.array[this.count - 1] = new HeapNode_1.HeapNode(data);
|
|
69
72
|
this.percolateUp(this.count - 1);
|
|
70
73
|
}
|
package/dist/heap/Heap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heap.js","sourceRoot":"","sources":["../../source/heap/Heap.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,yCAAoC;IAEpC,MAAa,IAAI;
|
|
1
|
+
{"version":3,"file":"Heap.js","sourceRoot":"","sources":["../../source/heap/Heap.ts"],"names":[],"mappings":"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"}
|
package/dist/heap/MaxHeap.d.ts
CHANGED
package/dist/heap/MaxHeap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaxHeap.js","sourceRoot":"","sources":["../../source/heap/MaxHeap.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iCAA4B;IAG5B,MAAa,OAAW,SAAQ,WAAO;QAEnC,YAAY,CAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"MaxHeap.js","sourceRoot":"","sources":["../../source/heap/MaxHeap.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iCAA4B;IAG5B,MAAa,OAAW,SAAQ,WAAO;QAEnC,YAAY,CAAS,EAAE,UAA0C;YAC7D,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACxB,CAAC;QAED,OAAO,CAAC,KAAQ,EAAE,KAAQ;YACtB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC;KAEJ;IAVD,0BAUC"}
|
package/dist/heap/MinHeap.d.ts
CHANGED
package/dist/heap/MinHeap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinHeap.js","sourceRoot":"","sources":["../../source/heap/MinHeap.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iCAA4B;IAE5B,MAAa,OAAW,SAAQ,WAAO;QAEnC,YAAY,CAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"MinHeap.js","sourceRoot":"","sources":["../../source/heap/MinHeap.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iCAA4B;IAE5B,MAAa,OAAW,SAAQ,WAAO;QAEnC,YAAY,CAAS,EAAE,UAA0C;YAC7D,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACxB,CAAC;QAED,OAAO,CAAC,KAAQ,EAAE,KAAQ;YACtB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;KAEJ;IAVD,0BAUC"}
|
package/package.json
CHANGED
package/source/heap/Heap.ts
CHANGED
|
@@ -3,13 +3,15 @@ import {HeapNode} from "./HeapNode";
|
|
|
3
3
|
export class Heap<T> {
|
|
4
4
|
|
|
5
5
|
private readonly array: Array<HeapNode<T>>
|
|
6
|
-
protected comparator :
|
|
6
|
+
protected comparator : (item1: T, item2: T) => number
|
|
7
7
|
private count: number
|
|
8
|
+
private n: number
|
|
8
9
|
|
|
9
|
-
constructor(N: number, comparator:
|
|
10
|
+
constructor(N: number, comparator: (item1: T, item2: T) => number){
|
|
10
11
|
this.comparator = comparator
|
|
11
12
|
this.array = new Array<HeapNode<T>>()
|
|
12
13
|
this.count = 0
|
|
14
|
+
this.n = N
|
|
13
15
|
for (let i = 0; i < N; i++){
|
|
14
16
|
this.array.push()
|
|
15
17
|
}
|
|
@@ -64,7 +66,9 @@ export class Heap<T> {
|
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
public insert(data: T){
|
|
67
|
-
this.count
|
|
69
|
+
if (this.count < this.n) {
|
|
70
|
+
this.count = this.count + 1
|
|
71
|
+
}
|
|
68
72
|
this.array[this.count - 1] = new HeapNode<T>(data)
|
|
69
73
|
this.percolateUp(this.count - 1)
|
|
70
74
|
}
|
package/source/heap/MaxHeap.ts
CHANGED
package/source/heap/MinHeap.ts
CHANGED
package/tests/HeapTest.ts
CHANGED
|
@@ -4,11 +4,8 @@ import {MinHeap} from "../dist/heap/MinHeap";
|
|
|
4
4
|
|
|
5
5
|
describe('HeapTest', function() {
|
|
6
6
|
describe('HeapTest', function() {
|
|
7
|
-
function compare
|
|
8
|
-
|
|
9
|
-
return item1 - item2
|
|
10
|
-
}
|
|
11
|
-
return 0
|
|
7
|
+
function compare(item1: number, item2: number): number {
|
|
8
|
+
return item1 - item2
|
|
12
9
|
}
|
|
13
10
|
it('testMaxHeap', function() {
|
|
14
11
|
let maxHeap : MaxHeap<number> = new MaxHeap<number>(8, compare)
|