es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El uso de árboles binarios en Python es mediante “build” en lugar de “Node”.

class Node:
def init(self, data):
self.data = data
self.left = None
self.right = None

def printPaths(root):
path = []
printPathsRec(root, path, 0)

def printPathsRec(root, path, pathLen):
if root is None:
return
if(len(path) > pathLen):
path[pathLen] = root.data
else:
path.append(root.data)
pathLen = pathLen + 1
if root.left is None and root.right is None:
printArray(path, pathLen)
else:
printPathsRec(root.left, path, pathLen)
printPathsRec(root.right, path, pathLen)

def printArray(ints, len):
for i in ints[0 : len]:
print(i,” “,end=””)
print()

from binarytree import build

values = [7, 3, 2, 6, 9, None, 1, 5, 8]
root = build(values)
print(root)
printPaths(root.value)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para construir un árbol binario con el método build del módulo binarytree, es necesario proporcionar una lista de valores en el recorrido por niveles del árbol. En el código de ejemplo proporcionado, la lista de values tiene el siguiente formato:

    values = [valor_raíz, valor_hijo_izquierdo, valor_hijo_derecho, valor_nieto_izquierdo, valor_nieto_derecho, ...]
    

    Por ejemplo, la lista de values en el código proporcionado construye el siguiente árbol binario:

            7
           / \
          3   2
         / \   \
        2   6   9
       / \     /
      1   5   8
    

    Para hacer que el código funcione con el método build, se puede reemplazar la lista de values con la lista de valores que corresponda al árbol binario que se quiere construir. Por ejemplo, se puede construir el mismo árbol binario que el anterior con el siguiente código:

    from binarytree import build
    
    # construir el árbol binario con el método build
    values = [7, 3, 2, 2, 6, None, 9, 1, 5, None, None, None, None, None, 8]
    root = build(values)
    
    # imprimir el árbol binario y sus caminos
    print(root)
    printPaths(root.value)
    

    Tenga en cuenta que los valores None representan nodos vacíos en el árbol binario. También se pueden cambiar los valores en la lista para construir diferentes árboles binarios.

Comments are closed.