Нужно реализовать метод на Java
Класс двоичного дерева описан следующим образом
public class SimpleTree {
protected class TreeItem {
public T value;
public TreeItem left;
public TreeItem right;
public TreeItem(T value, TreeItem left, TreeItem right) {
this.value = value;
this.left = left;
this.right = right;
}
public TreeItem(T value) {
this(value, null, null);
}
}
protected TreeItem root = null; // корневой элемент дерева
protected int size = 0; // кол-во элементов в дереве
// остальные методы класса SimpleTree
...
}
Обратите внимание, что класс для элемента дерева описан внутри класса дерева.
Необходимо для данного дерева описать метод, который удалит все элементы на уровне level. level передается в метод в качестве параметра. Примем, что уровень корневого элемента - 0, его детей - 1 и т.д.
При удалении элементов в дереве должны остаться их дети (заменить родителя): в случае если один ребенок - то именно он, если два ребенка - то левый.
Например,дерево:
1
/ \
6 9
/ \ \
5 7 4
\ /
3 7
при вызове данного метода с параметром level = 1 должно превратиться в:
1
/ \
5 4
/
7
Не забыть пересчитать значение size после модификации дерева.
При необходимости можно описать вспомогательные методы.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |