Я вижу, что вы получили ответы о том, как получить длину самой короткой ветви, но ваше домашнее задание фактически состоит в том, чтобы вернуть саму ветку , предположительно в виде списка узлы. Итак, вот исполняемый псевдокод (т. Е. Python), чтобы фактически вернуть ветвь, используя None
для обозначения нуля:
def MinBranch(l, r, x):
if x is None: return []
left_one = MinBranch(l, r, l(x))
right_one = MinBranch(l, r, r(x))
if len(left_one) < len(right_one):
tail = left_one
else:
tail = right_one
return [x] + tail