поэтому мне нужно написать функцию в C++, которая возвращает глубину дерева. Im немного confussed относительно того, что это влечет за собой. Это глубина каждого отдельного узла или это глубина всего дерева, например дерево имеет 4 уровня. любая помощь будет оцененаглубина двоичного дерева поиска
ответ
Глубина дерева - это уровень самого глубокого узла. Это похоже на хорошее определение. Сказав это, вот реализация в классе в C++, где root является атрибутом класса. В основном вы получаете глубину левого поддерева и глубину правильного поддерева, и выбираете, какая из них самая большая из этих двух.
#define max(a,b) ((a)>=(b) ? (a) : (b))
int height2(Node *t) {
if(!t)
return 0;
int height_left = height2(t->L);
int height_right = height2(t->R);
return 1 + max(height_left,height_right);
};
int height() {
return height2(root);
};
Пожалуйста, не делайте домашнее задание OP для них. –
Простите? Не знаю – average
Кроме того, использование макроса здесь значительно снижает эффективность кода. –
class Node {
public:
//...
unsigned int depth() {
return 1 + max(depth(left),
depth(right));
}
private:
unsigned int depth(Node* node) {
return node ? node->depth() : 0;
}
Node* left;
Node* right;
};
- 1. Глубина дерева двоичного поиска
- 2. Глубина двоичного дерева поиска в Python
- 3. Min Глубина двоичного дерева
- 4. Максимальная глубина двоичного дерева
- 5. максимальная глубина для двоичного дерева
- 6. Java: минимальная глубина двоичного поиска Дерево рекурсивное
- 7. глубина двоичного поиска Дерево рекурсивно
- 8. Определение сбалансированного дерева двоичного поиска
- 9. Вывод двоичного дерева дерева поиска
- 10. Удаление двоичного дерева дерева поиска
- 11. Очистка дерева двоичного поиска
- 12. создание двоичного дерева поиска
- 13. Вращение дерева двоичного поиска
- 14. Создание дерева двоичного поиска
- 15. Вероятность двоичного дерева поиска
- 16. поиск двоичного дерева поиска
- 17. Обход двоичного дерева поиска
- 18. Реализация дерева двоичного поиска
- 19. Сложность поиска двоичного дерева
- 20. Последовательность двоичного поиска дерева
- 21. Балансировка двоичного дерева поиска
- 22. Изучение дерева двоичного поиска
- 23. Синтаксис дерева двоичного поиска
- 24. Редактирование двоичного дерева поиска
- 25. Алгоритм поиска двоичного дерева
- 26. Рекурсия двоичного поиска дерева
- 27. Вставка двоичного дерева поиска
- 28. Класс поиска двоичного дерева
- 29. Анализ двоичного дерева поиска
- 30. Объединение дерева двоичного поиска
Это обычно относится к глубине всего дерева. Но будьте осторожны, деревья могут быть неравномерными по глубине, т. Е. У вашего дерева могут быть листья на глубине 3, а некоторые на глубине 4, в этом случае глубина дерева будет равна 4. – us2012
Возможно, вам придется ознакомиться с определением " глубина дерева "? – taocp
Хорошей идеей является обновление значений глубины и узлов при добавлении или перемещении новых узлов. –