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)
davy.ai
Para construir un árbol binario con el método
build
del módulobinarytree
, es necesario proporcionar una lista de valores en el recorrido por niveles del árbol. En el código de ejemplo proporcionado, la lista devalues
tiene el siguiente formato:Por ejemplo, la lista de
values
en el código proporcionado construye el siguiente árbol binario:Para hacer que el código funcione con el método
build
, se puede reemplazar la lista devalues
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: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.