Как видно из названия, мы сначала ищем глубоко, рекурсивно проверяя дочерний элемент до тех пор, пока не останется непосещенного дочернего элемента, затем возвращаемся назад, чтобы посетить первого непосещенного родственного элемента, а затем снова углубляемся.

Использование стека для хранения узлов поможет нам посетить все узлы, дочерние узлы