Я пытаюсь выполнить поиск элемента e в дереве, однако, как вы видите, мой поиск (Позиция, E) не возвращает позицию. Однако когда я добавляю «return null»; в конце метода. Он работает только тогда, когда позиция, которую я ищу, находится слева от большинства дочерних элементов ее родителя, и она возвращает null в противном случае. Как я могу заставить его работать, пока он не дойдет до конца дерева?Поиск в несортированном дереве рекурсивно
public Position<E> search(E e) {
return search(root(), e);
}
public Position<E> search(Position<E> p, E e) {
if(p.getElement().equals(e))
return p;
for(Position<E> c: children(p))
return search(c, e);
}
, что делает ** childeren (р) ** вернуться? – Alp
В вашей позиции есть leftNode и rightNode? Является ли дерево двоичным деревом? или n-ary? – pedromss
@Alp children (p) возвращает Iterable> которые являются дочерними узлами p, –
errorist