Деревья

Задачки общие, на оттачивание навыка работы с бинарными деревьями.

1

Построить бинарное дерево поиска для набора чисел [10, 5, 20, 3, 7, 15, 25] и отобразить его на форме.

Бинарное дерево поиска – это дерево в котором у каждого узла не более двух потомков, причем левый потомок меньше значения родительского узла, правый – больше. Например:

2

Реализовать, чтобы при выборе узла, на форме отображался путь до корневого элемента (так называемый обход в высоту)

3

Реализовать проверку наличия узла с заданным значением в дереве и выделить его используя метод mainTree.getSelectionModel().select(node). Если узла с заданым значением нет выдать соответствующее сообщение.

4

Реализовать, чтобы при выборе узла выводился самый глубокий потомок с самым маленьким значением

5

Реализовать реакцию, чтобы при нажатии на узел, на форме отображались все элементы того же уровня (обход в ширину)

6

Реализовать возможность добавить элемент в дерево в соответствие с организацией дерева поиска бинарного. Если элемент уже присутствует в дереве, выдать соответствующее сообщение.

7

Реализовать возможность построить бинарное дерево поиска для случайного набор чисел