diff --git a/src/main/java/ch/hepia/structure/BinaryHeap.java b/src/main/java/ch/hepia/structure/BinaryHeap.java index e05737af760c784fbe5c13e9815bcf025f85b5f0..f0300b9c185748775a86aa22e77335d133fbfbf7 100644 --- a/src/main/java/ch/hepia/structure/BinaryHeap.java +++ b/src/main/java/ch/hepia/structure/BinaryHeap.java @@ -35,6 +35,18 @@ final public class BinaryHeap } } + public int depth() + { + int index=this.size(); + int dptCompteur=1; + while(index!=0) + { + index=this.getParentNodeIndex(index); + dptCompteur++; + } + return dptCompteur; + } + public boolean exist(int k) { for(int val:this.lstBinaryHeap) diff --git a/src/test/java/ch/hepia/structure/AppTest.java b/src/test/java/ch/hepia/structure/AppTest.java index f0234d81195f5236bfc2d8a4c52dbc206af6d405..3da01ab851b7adc83a9f4f4928b82d18dd14622e 100644 --- a/src/test/java/ch/hepia/structure/AppTest.java +++ b/src/test/java/ch/hepia/structure/AppTest.java @@ -35,5 +35,6 @@ class BinaryHeapTest assertEquals(bHeapRand.isEmpty(),false); assertEquals(bHeap.exist(7),true); assertEquals(bHeap.exist(42),false); + assertEquals(bHeap.depth(),4); } }