Я пытаюсь переместить курсор в этом родительском узел в бинарном дереве. Я хочу сделать это рекурсивно, не используя сохранение узла для отслеживания родителя. Я думаю, что мой аргумент base/stoping правильный, но я считаю, что последние два, если утверждение неверно. Я не уверен, как это сделать. Любой совет будет полезен. Спасибо.Как я могу найти родитель курсора в виде двоичного дерева без использования родительских опорного узла
public void cursorToParent()
{
TreeNode parent = root;
if(cursor == root)
return;
if(parent.getLeft().equals(cursor) || parent.getRight().equals(cursor))
cursor = parent;
else
if(parent.getLeft()!=null)
{
parent = parent.getLeft();
cursorToParent();
}
if(parent.getLeft()!=null)
{
parent = parent.getLeft();
cursorToParent();
}
}
Вам необходимо передать аргумент методу 'cursorToParent'. Для получения большей помощи, Отправьте пример ожидаемого результата. Благодаря! – iNan
Я делаю дерево, в котором курсор перемещается на основе ответа «да» или «нет» (слева или справа от дерева). например, если корень красного цвета, да (правый узел) = яблоко, нет (левый узел) = оранжевый. Поэтому, если мой курсор сейчас оранжевый. Когда я вызываю свой метод, я хочу, чтобы курсор переместился к родительскому оранжевому, что является красным. @iNan –