def populate_kids(self, arr, used_Indices):
for a in self.children:
a.get_all_jumps(arr, used_Indices)
for a in self.children:
for b in a.children:
b.get_all_jumps(arr, used_Indices)
for a in self.children:
for b in a.children:
for c in b.children:
c.get_all_jumps(arr, used_Indices)
for a in self.children:
for b in a.children:
for c in b.children:
for d in c.children:
d.get_all_jumps(arr, used_Indices)
我如何自动生成此文件
我试过递归了好像不管用
2条答案
按热度按时间sxpgvts31#
这看起来像是BFS(广度优先搜索),所以沿着的方法可能有效:
其基本思想是,在处理队列时,将下一级别的要搜索项添加到队列中,以便进行下一次迭代。最终,您将到达没有更多级别的点,搜索将结束。
对于DFS(深度优先搜索),递归更容易(我假设
self.children
中的对象与self
具有相同的类型):但是遍历的顺序将有所不同(在完成当前级别的循环之前,您将一直递归到最深的级别)。
sczxawaw2#
使用递归可自动执行在树状结构中填充数据的函数。通过定义在节点的每个子代上调用自身的递归函数,该函数可以处理任何模式的嵌套子代,从而无需重复的for循环。这样,可以处理节点的所有后代,而无需显式迭代每个级别。