[python] Creación de árbol binario


  En plataformas como Likou, los árboles binarios suelen estar predefinidos, pero en las entrevistas de Python, es posible que usted mismo deba crear los árboles binarios. Y después de crear una instancia de un árbol binario, la depuración posterior será más conveniente.

1. Definir los nodos del árbol

Los nodos del árbol binario deben definirse antes de construir:

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

Tenga en cuenta que val, izquierda y derecha reciben valores predeterminados. En este momento, llamar a TreeNode () devuelve un nodo raíz con un valor de 0. Estos nodos aislados deben conectarse para formar un árbol binario.

2. Inicializar los nodos del árbol

Inicialice los valores de los nodos del árbol:

node1 = TreeNode(5)
node2 = TreeNode(3)
node3 = TreeNode(7)
node4 = TreeNode(1)
node5 = TreeNode(4)
node6 = TreeNode(6)
node7 = TreeNode(9)

Después de la inicialización, los valores de estos nodos ya no son el 0 predeterminado, pero siguen siendo nodos aislados, por lo que aún deben estar conectados.

3. Conecte los nodos del árbol

Conecte los nodos del árbol y defina la raíz del nodo raíz:

node1.left = node2
node1.right = node3
node2.left = node4
node2.right = node5
node3.left = node6
node3.right = node7
root = node1

En este punto, hemos completado la construcción de un árbol binario usando Python:
Árbol binario
además, también podemos crear nodos hoja primero y luego crear un nodo padre que conecte los dos:

node6 = TreeNode(6)
node7 = TreeNode(9)
node3 = TreeNode(7, node6, node7)

4. Código completo

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

node4 = TreeNode(1)
node5 = TreeNode(4)
node6 = TreeNode(6)
node7 = TreeNode(9)
node2 = TreeNode(3, node4, node5)
node3 = TreeNode(7, node6, node7)
node1 = TreeNode(5, node2, node3)
root = node1

Supongo que te gusta

Origin blog.csdn.net/weixin_44844635/article/details/131663032
Recomendado
Clasificación