Python - Busqueda de nodos en un arbol binario

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

Busqueda de nodos en un arbol binario

Publicado por Camilo (3 intervenciones) el 17/11/2020 00:32:51
Buenas,
Tengo el siguiente método que busca un nodo en un arbol binario:

1
2
3
4
5
6
7
8
9
def seekNode(self, node):
    if self.id == node:
        return self
    elif self.left != None:
        self.left.seekNode(node)
    elif self.right != None:
        self.left.seekNode(node)
    else:
        return False

Al hacer una depuración me muestra que si devuelve un objeto, pero cuando salvo este objeto, me aparece un None. Aca la clase completa:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class BinTree:
    def __init__(self, id=None):
        self.id= id
        self.left= None
        self.right= None
 
    def setId(self, id):
        if self.id == None:
            self.id= id
            return self
        else:
            return self.seekNode(id)
 
    def addChildLeft(self, left):
        if self.left == None:
            self.left= BinTree(left)
        else:
            self.left.addChildLeft(left)
 
    def addChildRight(self, right):
        if self.right == None:
            self.right= BinTree(right)
        else:
            self.right.addChildRight(right)
 
    def seekNode(self, node):
        if self.id == node:
            return self
        elif self.left != None:
            self.left.seekNode(node)
        elif self.right != None:
            self.left.seekNode(node)
        else:
            return False
y unas imágenes de la depuración:

asdf

asdf2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder