Прямо сейчас я бинарное дерево, и я хочу получить максимальное значение из него. Учитывая, как он имеет как значения строки, так и значения int, он упорядочивается по алфавиту. Все исправляет все вставки, поиск, удаление и т. Д. На данный момент все, что нам нужно знать, это то, что здесь у меня есть дерево.Получение максимального значения из двоичного дерева
typedef struct node
{
char *name;
int count;
struct node *l, *r;
}*link;
Как я могу сделать простую функцию, которая находит то, что является самым высоким count
в дереве. Как и я могу иметь 20 узлов в дереве и предположим, что самый высокий count
равен 10, и есть 3 узла с самым высоким count
. Неважно, сколько из них имеет 10 самых высоких count
, я просто хочу, чтобы функция возвращалась. 10. Функция вроде.
int maxValue(link head)
{
//the help i need with
}
Я посмотрел в Интернете и попробовал некоторые примеры, как в заказовМои и все разные Funtions, но большинство из них просто расставил все значения из левого узла наиболее правого в порядке, так что действительно не поможет мне найти максимальное число в дереве, потому что моя не организована от минимального до наибольшего числа.
Я не понимаю - вы просто проходите дерево и сохраняете примечание о самом высоком значении.Это или добавить другой индекс, чтобы вы могли заказать его по значению. –
Если он заказан, вы просто переходите на самый правый лист. –
В этом вопросе говорится: * Он упорядочен по алфавиту *. –