如何在不浪费内存的情况下重置树?

时间:2017-09-08 10:37:06

标签: python algorithm list memory memory-management

我有一个Python代码,它从根节点构建一个四叉树,根据需要引入新节点。

这个四叉树需要不断重建我到目前为止所做的是,每次需要重建四叉树时,我将根节点的子节点列表重置为空列表,并从根节点开始构建树

我担心的是,前一棵树的所有节点(根节点除外)仍将存在于内存中。在程序过程中树可能重建了数万次,平均包含5000个节点,所以如果内存过载,我不会感到惊讶。

为了不超出内存限制,我不是必须以某种方式删除所有以前的节点吗?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

使用del,如下所示:

del children

确保如果列表children未在其他任何地方引用,则将释放列表的内存。

你必须遍历整个树,但要删除每个节点,这很容易递归。

how to release used memory immediately in python list?

中了解详情