Бинарное дерево может быть закодирован с помощью двух функций lи r
таких , что для node n, l(n)дать левый ребенка n, r(n)
дать право ребенка n.
Ветвь дерева представляет собой путь от корня к листу, длина ветви к конкретному листу этого числа дуг на пути от корня до этого листа.
Пусть MinBranch(l,r,x)быть простым рекурсивным алгоритмом для принятия двоичного дерева , кодируемого л и г функциями вместе с корневым узлом х для двоичного дерева и возвращает длину кратчайшего ветви двоичного дерева.
Дайте псевдокод этого алгоритма.
ОК, так что в основном это то, что я придумал до сих пор:
MinBranch(l, r, x)
{
if x is None return 0
left_one = MinBranch(l, r, l(x))
right_one = MinBranch(l, r, r(x))
return {min (left_one),(right_one)}
}
Очевидно, что это не является большим или совершенным. Я бы признателен, если люди могут помочь мне получить эту прекрасную и работать - любая помощь будет оценена.













