def obtenerRecetario(): ''' @return arbolRecetas devuelve un estructura de datos arbol que contendra todas las recetas Devuelve todo el recetario de la base de datos Para obtener todo el recetario necesitamos cargar todo las recetas en la memoria y conservar su contenido hasta que se finalize el programa por lo tanto se necesitara una estructurda datos en cual podamos almacenar nuestra informacion de manera organizada para puedan ser utlizados de manera eficiente Utilizaresmo una estructuras de datos no lineales o estructuras multi-enlazadas se pueden presentar relaciones más complejas entre los elementos Ulizaremos Arboles binarios de busqueda ''' with open('baseDatosRecetas/recetario.txt', 'r') as recetario: nombreReceta = recetario.readline() lista = [] arbolRecetas = Arbol() #Una cadena vacia lo representa como Falso while (nombreReceta): #print(nombreReceta) ruta = 'baseDatosRecetas/' + nombreReceta.replace( "\n", "") + ".txt" #quitamos el salto de linea #print(ruta) #Como ejemplo ulizaremos un lista para probar algunas funcionalidades receta = obtenerReceta(ruta) #lista.append(receta) arbolRecetas.agregar(receta) nombreReceta = recetario.readline() recetario.close() #return lista return arbolRecetas
""" https://parzibyte.me/blog """ from arbol import Arbol arbol = Arbol("Luis") arbol.agregar("María José") arbol.agregar("Maggie") arbol.agregar("Leon") arbol.agregar("Cuphead") arbol.agregar("Aloy") arbol.agregar("Jack") nombre = input("Ingresa algo para agregar al árbol: ") arbol.agregar(nombre) arbol.preorden() arbol.inorden() arbol.postorden() # Búsqueda busqueda = input("Busca algo en el árbol: ") nodo = arbol.buscar(busqueda) if nodo is None: print(f"{busqueda} no existe") else: print(f"{busqueda} sí existe") # Aquí tienes en "nodo" toda la información del nodo. Tanto su izquierda, derecha, dato y otros atributos que le hayas agregado arbol_numeros = Arbol(5) arbol_numeros.agregar(1984) arbol_numeros.agregar(60) arbol_numeros.agregar(10)
def main(): #Creo mi arbol miArbol = Arbol() #Agrego los valores de mi arbol #El primer valor que agregue sera mi raiz de mi arbol miArbol.agregar(8) #Agregar hijos miArbol.agregar(3) miArbol.agregar(10) miArbol.agregar(1) miArbol.agregar(6) miArbol.agregar(14) miArbol.agregar(4) miArbol.agregar(7) miArbol.agregar(9) #Imprimir arbol en preorden miArbol.imprimirPreorden() #miArbol.imprimirInorden() #Busqueda de un valor especifico #Devolvera el nodo subyacente print("---------------------------") nodo = busqueda(miArbol.obtenerRaiz(), 14) print("Nodo con el valor que contiene: ", nodo.val) # print(miArbol.obtenerRaiz().val) pass