По заданному бинарному дереву поиска (BST) с дубликатами найдите узел (наиболее часто встречающийся элемент) в данном BST. Если BST содержит два или более таких узлов, выведите любой из них.
Примечание. Мы не можем использовать дополнительное пространство. (Предположим, что неявное пространство стека, возникшее из-за рекурсии, не учитывается)
Предположим, что BST определяется следующим образом:
- Левое поддерево узла содержит только узлы с ключами, меньшими или равными ключу узла.
- Правое поддерево узла содержит только узлы с ключами, которые больше или равны ключу узла.
- Левое и правое поддеревья также должны быть деревьями двоичного поиска.
Примеры:
Input : Given BST is 6 / \ 5 7 / \ / \ 4 5 7 7 Output : 7 Input : Given BST is 10 / \ 5 12 / \ / \ 5 6 12 16 Output : 5 or 12 We can print any of the two value 5 or 12.
Подходить:
Чтобы найти узел, нам нужно найти обход Inorder BST, потому что его обход Inorder будет в отсортированном порядке.
Итак, идея состоит в том, чтобы сделать рекурсивный обход Inorder и отслеживать предыдущий узел. Если текущее значение узла равно предыдущему значению, мы можем увеличить текущий счет, и если текущий счет становится больше, чем максимальный счет, замените элемент.
Ниже приведена реализация вышеуказанного подхода:
|
Джава
|
C #
|
Выход:
node of BST is 7
Сложность времени:
Рекомендуемые посты:
- Найти узел с максимальным значением в бинарном дереве поиска
- Найти максимум среди всех правильных узлов в двоичном дереве
- Найти узел с максимальным значением в бинарном дереве поиска с помощью рекурсии
- Подсчитайте узлы дерева, чья взвешенная строка не содержит повторяющихся символов
- Распечатать все нечетные узлы дерева двоичного поиска
- Распечатать все четные узлы дерева двоичного поиска
- Пре-заказ преемника всех узлов в бинарном дереве поиска
- Конечные узлы из Предзаказа дерева двоичного поиска
- Удалить все конечные узлы из дерева двоичного поиска
- Подсчитайте количество деревьев двоичного поиска, присутствующих в двоичном дереве
- Сумма узлов на максимальной глубине двоичного дерева | Набор 2
- Сумма и произведение минимального и максимального элемента дерева двоичного поиска
- Максимальная высота двоичного дерева поиска, созданного из заданного массива
- Подсчет узлов с двумя детьми на уровне L в двоичном дереве
- Сумма узлов на максимальной глубине двоичного дерева | Итеративный подход
0.00 (0%) 0 votes