【发布时间】:2011-10-10 01:54:09
【问题描述】:
我有一个段树,其中包含一系列数字的数据(选择的数据结构here)。代码如下:
class SegmentTree:
def __init__(self, N):
def _init(b, e):
if b is e:
data = foo() # No dependency
return Node(b, e, data, None, None)
else:
mid = (b + e ) / 2
L = _init(b, mid)
R = _init(mid + 1, e)
data = foo() #Data depends on L and R
return Node(b, e, data, L, R)
self.root = _init(1, N)
这在 N 大约 300 时失败,并且出现最大递归深度超出错误。有没有办法迭代而不是递归地创建树?
【问题讨论】:
标签: python algorithm optimization tree