我有一个算法,它在空间网格上递归操作:
def function(a):
for i in (neighbours of a):
if condition=true:
function(i)
因此,递归调用函数以根据条件(梯度小于阈值)将网格划分为子网格。但由于函数循环中始终存在剩余的邻居,因此它不是尾递归的。 有没有办法重写这个函数,使其尾递归?我已经查看了累加器,但我不知道如何在这里应用它,因为没有数量可以求和或任何东西,但算法在多个方向扩展...