Рекурсивный обход бинарного дерева

Я безнадежно теряюсь, когда дело доходит до рекурсивных функций. Мне нужно создать рекурсивную функцию для обхода бинарного дерева и вставки нового узла между определенными значениями. Нужно ли мне повторно копировать мою функцию перемещения и изменять ее во всех других функциях, в которых я ее использую? Кто-нибудь, пожалуйста, оцените функцию траверса?

Я думаю, что мой код обхода в порядке.

Node traverse (Node currentNode){
    if (!currentNode.left.equals(null)){
        traverse (currentNode.left);
        return currentNode.left;
    }
    if (!currentNode.right.equals(null)){
        traverse (currentNode.right);
        return currentNode.right;
    }
    return currentNode;
}
8
задан Nyx 12 April 2012 в 03:50
поделиться