【发布时间】:2019-11-12 16:48:09
【问题描述】:
很多人说循环和递归基本上是一样的。两者之间的唯一区别是某些算法在递归或迭代中更容易理解。此外,由于函数调用的开销,总是首选循环。但是,这里有一个 python 代码来获取二叉搜索树的高度。如何使用循环编写它?
bst = [(1, 2), (3, None), (None, None), (None, None)]
def recursion_height(tree, v=0):
if v is None:
return -1
else:
return max(recursion_height(tree, tree[v][0]), recursion_height(tree, tree[v][1])) + 1
【问题讨论】:
标签: python recursion iteration binary-search-tree