下面是一些迭代编写的代码,与 DBSCAN 算法有些相似:
rw = 100
for r in range(rw):
neighs = retrieve_neighs(r)
# rest of body
Run Code Online (Sandbox Code Playgroud)
如果我使用递归重写它,我可能会写:
rw = 100
def foo(r):
if r < rw:
neighs = retrieve_neighs(r)
# rest of body
foo(r + 1)
foo(0)
Run Code Online (Sandbox Code Playgroud)
我希望retrieve_neighs 返回点列表(或某些集合) - 这开启了可以加载整个数据文件的可能性,对吗?有没有认识到嘶嘶声之后不使用
foo(r + 1)
Run Code Online (Sandbox Code Playgroud)
那么嘶嘶声所指的内存被释放了?