Как найти высоту поддерева как левый и правый, я использовал этот код в следующей ссылке C# BSTКак найти высоту левого и правого поддерева в C#
Любая помощь будет оценена.
С наилучшими пожеланиями
Как найти высоту поддерева как левый и правый, я использовал этот код в следующей ссылке C# BSTКак найти высоту левого и правого поддерева в C#
Любая помощь будет оценена.
С наилучшими пожеланиями
Ну, если это правильная реализация BST, то они должны быть сбалансированы.
Но для его проверки это простая рекурсивная реализация.
public int TreeDepth(TreeNode<T> tree, int depth = 0)
{
int leftDepth = tree.Left != null
? TreeDepth(tree.Left, depth + 1)
: depth;
int rightDepth = tree.Right != null
? TreeDepth(tree.Right, depth + 1)
: depth;
return leftDepth >= rightDepth
? leftDepth
: rightDepth;
}
Это реализовано правильно, я проверил тестирование кода. Мне интересно, как вызвать TreeDepth и какие параметры передать. Спасибо за помощь @Kaerber –
Вы просто передаете ему дерево, которое вы хотите измерить, например: var depth = TreeDepth (root); – Kaerber
Что такое * высота * бинарного дерева? максимальная высота? мин высота? – ogzd
это проверить, сбалансирована ли она по высоте или нет. поскольку я новичок в кодировании, я понятия не имею, как это сделать. Мне нужно знать максимальную высоту левого под дерева и максимальную высоту правого поддерева. –
искал эту функцию, чтобы найти высоту с помощью источника выше. –