Hier ist meine Implementierung des Knotens der verknüpften ListeNachdem ich eine verknüpfte Liste in Python implementiert habe, wie kann ich den Speicher davon befreien?
class ListNode(object):
def __init__(self,val):
self.val = val
self.next = None
Base auf meinem Verständnis, wie Python verwaltet den Speicher, glaube ich, wenn ich den Speicher frei brauche, ich brauche noch eine Funktion wie diese unten verwenden , nicht wahr?
def free_linked_list(head):
while head:
next_node = head.next
del head # As long as no variable is pointed to this node, it would be freed from the memory. Is it?
head = next_node
Also mein Problem ist: 1. Ist Recht mein Verständnis? 2. Wenn nicht, wie kann ich den Speicher dieser verknüpften Liste freigeben? Oder Python hat es schon für mich getan?
Wenn Sie den Hauptknoten löschen (oder den Verweis auf diesen verlieren), sollte python den Rest der verknüpften Liste freigeben. – mgilson