5_15_Arboles_desafio_4

Run Settings
LanguagePython
Language Version
Run Command
# Definimos la clase Nodo que representa cada nodo del árbol. class Nodo: def __init__(self, valor): self.valor = valor # El valor que almacena el nodo. self.izquierdo = None # Puntero al hijo izquierdo, inicialmente None. self.derecho = None # Puntero al hijo derecho, inicialmente None. # Implementamos una función para insertar un valor en el árbol de búsqueda binaria. def insertar(nodo, valor): if nodo is None: # Si el nodo actual es None, significa que hemos encontrado un lugar vacío para insertar. return Nodo(valor) # Creamos un nuevo nodo con el valor y lo devolvemos como nuevo nodo. # Comparamos el valor que queremos insertar con el valor del nodo actual. if valor < nodo.valor: # Si el valor es menor, lo insertamos en el subárbol izquierdo. nodo.izquierdo = insertar(nodo.izquierdo, valor) elif valor > nodo.valor: # Si el valor es mayor, lo insertamos en el subárbol derecho. nodo.derecho = insertar(nodo.derecho, valor) # Devolvemos el nodo actual, ya que hemos actualizado su subárbol izquierdo o derecho. return nodo # Función para buscar un valor en el árbol de búsqueda binaria. def buscar(nodo, valor): if nodo is None: # Si el nodo actual es None, hemos llegado al final del camino y no encontramos el valor. return False # Devolvemos False, indicando que el valor no está en el árbol. if nodo.valor == valor: # Si el nodo actual tiene el valor buscado. return True # Devolvemos True, indicando que hemos encontrado el valor. # Decidimos si buscamos en el subárbol izquierdo o derecho. if valor < nodo.valor: return buscar(nodo.izquierdo, valor) # Buscamos en el subárbol izquierdo si el valor es menor. else: return buscar(nodo.derecho, valor) # Buscamos en el subárbol derecho si el valor es mayor. # Construimos el árbol de búsqueda binaria con un conjunto de números únicos. valores = [15, 10, 20, 8, 12, 17, 25] # Conjunto de números que queremos insertar en el ABB. raiz = None # Empezamos con un árbol vacío. # Insertamos cada valor en el árbol, creando el ABB. for valor in valores: raiz = insertar(raiz, valor) # Probamos la función de búsqueda con un número dado. numero_a_buscar = 17 # Número que queremos buscar en el árbol. resultado = buscar(raiz, numero_a_buscar) # Mostramos el resultado de la búsqueda. if resultado: print(f"El número {numero_a_buscar} existe en el árbol.") # Si se encuentra el número, imprimimos este mensaje. else: print(f"El número {numero_a_buscar} no existe en el árbol.") # Si no se encuentra, imprimimos este mensaje.
Editor Settings
Theme
Key bindings
Full width
Lines