mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2026-03-13 08:51:02 +08:00
Use Comparator in heap.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import MinHeap from '../heap/MinHeap';
|
||||
import Comparator from '../../utils/comparator/Comparator';
|
||||
|
||||
// It is the same as min heap except that when comparing to elements
|
||||
// we take into account not element's value but rather its priority.
|
||||
@@ -6,6 +7,7 @@ export default class PriorityQueue extends MinHeap {
|
||||
constructor() {
|
||||
super();
|
||||
this.priorities = {};
|
||||
this.compare = new Comparator(this.comparePriority.bind(this));
|
||||
}
|
||||
|
||||
add(item, priority = 0) {
|
||||
@@ -13,7 +15,7 @@ export default class PriorityQueue extends MinHeap {
|
||||
super.add(item);
|
||||
}
|
||||
|
||||
compare(a, b) {
|
||||
comparePriority(a, b) {
|
||||
if (this.priorities[a] === this.priorities[b]) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user