【发布时间】:2020-09-14 17:48:44
【问题描述】:
下面我附上了一段代码。请各位大侠说说下面的代码是如何有O(n)时间运行时间的。
def _height2(self, p):
if self.is_leaf(p):
return 0
else:
return 1 + max(self._height2(c) for c in self.children(p))
我无法理解它在 O(n) 时间复杂度下的工作原理。 请帮助我学习。
【问题讨论】:
-
如果涉及到一些记忆,那就是命令 n。
-
兄弟,我们尝试访问每个节点一次,在最坏的情况下,我们尝试从根节点访问高度,因此我们得到 n 个节点的 O(n) 时间复杂度
标签: python python-3.x data-structures tree