From cce3fcdca81b869c3916c6cdcb7e271e4fa9d58b Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Fri, 5 Apr 2024 10:51:13 +0200 Subject: [PATCH] feat(binheap): remove passes tests --- .../java/org/insa/graphs/algorithm/utils/BinaryHeap.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java index bce050d..1c607e6 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java @@ -137,16 +137,17 @@ public class BinaryHeap> implements PriorityQueue { @Override public void remove(E x) throws ElementNotFoundException { - // TODO optimize indexOf int index = array.indexOf(x); if (isEmpty() || index == -1 || index >= this.currentSize) { throw new ElementNotFoundException(x); } - // replace element with last element - arraySet(index, array.get(--this.currentSize)); + // replace element with the min + arraySet(index, this.findMin()); - percolateDown(index); + percolateUp(index); + + this.deleteMin(); } @Override