basicprimitives
Version:
Basic Primitives Diagrams for JavaScript - data visualization components library that implements organizational chart and multi-parent dependency diagrams, contains implementations of JavaScript Controls and PDF rendering plugins.
82 lines (74 loc) • 1.95 kB
JavaScript
import FibonacciHeap from './FibonacciHeap';
function getFibonacciHeap(items, isMaximum) {
var queue = FibonacciHeap(isMaximum);
for (var index = 0, len = items.length; index < len; index += 1) {
var item = items[index];
queue.add(item[0], item[1], item[2]);
}
return queue;
}
test('FibonacciHeap - Structure should return sorted items', () => {
const items = [
[],
[],
[],
[],
[],
[],
[],
[],
[]
];
const queue = getFibonacciHeap(items, false);
const result = [];
let item = null;
while ((item = queue.extractRoot()) != null) {
result.push([item.key, item.priority, item.item]);
queue.validate();
}
expect(result).toEqual([
[],
[],
[],
[],
[],
[],
[],
[],
[]
]);
});
test('FibonacciHeap - Structure should return item #1 first', () => {
const items = [
[],
[],
[],
[],
[],
[],
[],
[],
[]
];
const queue = getFibonacciHeap(items, false);
queue.extractRoot()
queue.validate();
queue.setPriority(8, 1);
queue.validate();
var result = [];
let item = null;
while ((item = queue.extractRoot()) != null) {
result.push([item.key, item.priority, item.item]);
queue.validate();
}
expect(result).toEqual([
[],
[],
[],
[],
[],
[],
[],
[]
]);
});