Для двоичного дерева поиска: 7 - корень 1, являющийся левым дочерним элементом, а 10 - правильным.Предварительный порядок на двоичном дереве поиска
7
1 10
Я попытался отладить эту функцию, чтобы увидеть, как она работает, и я не могу понять одну вещь. После того, как функция проверит и увидит, что левый дочерний и правый дочерние элементы 1 равны нулю, он переходит к узлу 10, а затем проверяет, имеет ли правильный ребенок значение null. Может кто-то объяснить рекурсивный шаблон и почему метод не выходит после первоначальной проверки узла 1.
private void preOrderTraversal(Node node)
{
if(node == null) return;
System.out.println(node.data);
preOrderTraversal(node.leftChild);
preOrderTraversal(node.rightChild);
}
Не беспокойтесь, повторно используйте [существующие инструменты] (http: //docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/collect/BinaryTreeTraverser.html) – fge
@fge Хотя существующие инструменты вам очень помогут, особенно при производстве приложений, очень полезно создавать собственные материалы. – RobAu