При заданном бинарном дереве поиска (BST) задача состоит в том, чтобы напечатать BST в режиме минимума-максимума.
Что такое миним-макс мода?
Мода min-max означает, что вы должны напечатать максимальный узел сначала, затем минимум, затем второй максимум, затем второй минимум и так далее.
Примеры:
Input: 100 / \ 20 500 / \ 10 30 \ 40 Output: 10 500 20 100 30 40 Input: 40 / \ 20 50 / \ \ 10 35 60 / / 25 55 Output: 10 60 20 55 25 50 35 40
Подходить:
- Создайте массив inorder [] и сохраните обход inorder дерева двоичного поиска givrn.
- Поскольку обход по порядку дерева двоичного поиска сортируется по возрастанию, инициализируйте i = 0 и j = n — 1 .
- Напечатайте inorder [i] и обновите i = i + 1 .
- Напечатайте порядок [j] и обновите j = j — 1 .
- Повторите шаги 3 и 4, пока все элементы не будут напечатаны.
Ниже приведена реализация вышеуказанного подхода:
|
Джава
|
python3
|
C #
|
Выход:
20 80 30 70 40 60 50
Рекомендуемые посты:
- Распечатать все четные узлы дерева двоичного поиска
- Распечатать все нечетные узлы дерева двоичного поиска
- Построить полное двоичное дерево из заданного массива в порядке уровней
- Преобразование двоичного дерева в двусвязный список по спирали
- Минимальный своп, необходимый для преобразования двоичного дерева в двоичное дерево поиска
- Сложность различных операций в двоичном дереве, двоичном дереве поиска и дереве AVL
- Двоичное дерево поиска | Набор 1 (поиск и вставка)
- Подсчитайте количество деревьев двоичного поиска, присутствующих в двоичном дереве
- Разница между двоичным деревом и двоичным деревом поиска
- Преобразование двоичного дерева в двоичное дерево поиска
- Преобразование двоичного дерева в двоичное дерево поиска с использованием набора STL
- Сумма всех уровней в бинарном дереве поиска
- Двоичное дерево поиска | Набор 2 (Удалить)
- Итеративный поиск ключа 'x' в двоичном дереве
- Сделать двоичное дерево поиска
0.00 (0%) 0 votes