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);
   }
 }