Árbol binario de búsqueda
Un árbol binario de búsqueda es una estructura de datos de árbol binario basada en nodos que tiene las siguientes propiedades:
- El subárbol izquierdo de un nodo contiene únicamente nodos con claves menores que la clave del nodo.
- El subárbol derecho de un nodo contiene únicamente nodos con claves mayores que la clave del nodo.
- Los subárboles izquierdo y derecho también deben ser árboles binarios de búsqueda.
Crea una clase que convierta el número en un nodo del árbol (cada nodo debe tener un hijo izquierdo, un hijo derecho y el valor del nodo; el hijo puede ser none). La clase debe tener una función que inserte un nuevo nodo en el árbol binario. También debe tener otra función que imprima el árbol binario final (el árbol debe imprimirse de izquierda a derecha {izquierda-raíz-derecha}).
Ejemplos
10 15
5 11 ➞ [3, 5, 6, 10, 11] 7 18 ➞ [5, 9, 7, 15, 17, 18, 19]
3 6 5 9 17 19
root=Node(10) ➞ 10 is the root of the tree (first node in the top)
root.insert(5)
root.insert(11)
root.insert(3)
root.insert(6)
root.PrintTree() ➞ [3, 5, 6, 10, 11]
root.data ➞ 10
root.left.data ➞ 5
root.right.data ➞ 11Notas
N/A