Recursividad
Publicado por Camilo (3 intervenciones) el 12/11/2020 15:28:08
Buenas,
Tengo el siguiente método:
El cual busca los ancestro de un arbol binario, y lo hace bien, el problema es que cada vez que llamo al método:
me retorna la lista de los ancestros del nodo "4", pero tambien me devuelve los ancestros buscados de los nodos anteriores. Ejemplo.
Hices estos llamados:
Y la llamada a node.ancesters("4") me devuelve los ancestros de 2 y 4, no se supone que al mandar como parametro la lista= [], esta deberia inicializarce?
Tengo el siguiente método:
1
2
3
4
5
6
7
8
9
10
11
12
def ancesters(self, node, list= []):
if self.seekNode(node) != False:
if node < self.id:
self.left.ancesters(node, list)
elif node > self.id:
self.right.ancesters(node, list)
elif self.id == node:
return node
list.append(self.id)
return list
else:
return False
El cual busca los ancestro de un arbol binario, y lo hace bien, el problema es que cada vez que llamo al método:
1
node.ancesters("4")
Hices estos llamados:
1
2
node.ancesters("2")
node.ancesters("4")
Valora esta pregunta


0