def ejercicio5(): arbol = Arbol() # Punto A, campo booleano personajes = [{ "nombre": "Capitan America", "esVillano": False }, { "nombre": "Viuda Negra", "esVillano": False }, { "nombre": "Thanos", "esVillano": True }, { "nombre": "Doctor Stran", "esVillano": False }] for elementos in personajes: arbol = arbol.insertar_nodo(elementos["nombre"], elementos) # Punto B arbol.inorden_villanos() # Punto C arbol.heroes_C() # Punto D print("Cantidad de superheroes", arbol.contar_superheroes()) # Punto E nombre_a_buscar = input("Ingrese el nombre a buscar ") arbol.busqueda_proximidad(nombre_a_buscar) cambio = input("Ingrese el nombre a modificar ") info, datos = arbol.eliminar_nodo(cambio) nuevo_nombre = input("Ingrese el nuevo nombre ") datos["nombre"] = nuevo_nombre nuevo_es_villano = input("Es villano? si/no ") if nuevo_es_villano == "si": datos["esVillano"] = True else: datos["esVillano"] = False arbol = arbol.insertar_nodo(datos["nombre"], datos) arbol.inorden() print() # Punto F arbol.postorden_superheroes() # Punto E arbolSuperheroe = Arbol() arbolVillano = Arbol() arbol.arboles_separados_heroe_villano(arbolSuperheroe, arbolVillano) arbolVillano.postorden() arbolSuperheroe.postorden()
from arbol_binario import Arbol from random import randint arbol = Arbol() for i in range(20): numero = randint(1, 10) arbol.insertar_nodo(numero) print('inorden') arbol.inorden() print() # print('cantidad de ocurrencias', arbol.contar_ocurrencias(int(input('ingrese el valor ')))) print('cantidad de pares impares', arbol.contar_pares_impares()) # pos = arbol.busqueda(int(input('ingrese el numero a buscar '))) # if(pos is not None): # print('el valor esta', pos.info) # else: # print('el valor no esta') # arbol.eliminar_nodo(int(input('ingrese el numero a buscar '))) # print('postorden') # arbol.postorden() # print() # print('preorden') # arbol.preorden() # print()
{'nombre' : 'Iron Man', 'heroe' : True}, {'nombre' : 'Spider Man', 'heroe' : True}, {'nombre' : 'Hulk', 'heroe' : True}, {'nombre' : 'Thanos', 'heroe' : False}, {'nombre' : 'Dr. Strange', 'heroe' : True}, ] arbolMCU = Arbol() for personaje in MCU: arbolMCU= arbolMCU.insertar_nodo(personaje['nombre'], personaje) # Ejercicio b arbolMCU.inorden() # Ejercicio c arbolMCU.busqueda_proximidad('C') # ejercicio d print(arbolMCU.contar_nodos()) # ejercicio e arbolMCU.inorden() arbolMCU.remplazar_proximidad_MCU('Dr', 'Dr. Strange') arbolMCU.inorden() # ejercicio f arbolMCU.postorden()
def ejercicioParcialArbol(): dinosaurios = [{ "nombre": "T-rex", "codigo": 22553, 'ubicacion': '3B' }, { "nombre": "T-rex", "codigo": 32423, 'ubicacion': '7G' }, { "nombre": "Velocirraptor", "codigo": 35623, 'ubicacion': '7G' }, { "nombre": "Triceratop", "codigo": 75673, 'ubicacion': '2A' }, { "nombre": "Allosaurus", "codigo": 756, 'ubicacion': '2A' }, { "nombre": "Sgimoloch", "codigo": 22873, 'ubicacion': '8R' }, { "nombre": "Raptor", "codigo": 56734, 'ubicacion': '3C' }, { "nombre": "Raptor", "codigo": 11938, 'ubicacion': '9B' }, { "nombre": "Diplodocus", "codigo": 425, 'ubicacion': '10C' }, { "nombre": "Diplodocus", "codigo": 16364, 'ubicacion': '2H' }, { "nombre": "Diplodocus", "codigo": 45243, 'ubicacion': '8F' }, { "nombre": "Velocirraptor", "codigo": 467, 'ubicacion': '10F' }, { "nombre": "Baryonix", "codigo": 44521, 'ubicacion': '8F' }, { "nombre": "Styracosaurus", "codigo": 98437, 'ubicacion': '5D' }, { "nombre": "Diplodocus", "codigo": 52345, 'ubicacion': '11A' }, { "nombre": "Raptor", "codigo": 31245, 'ubicacion': '3B' }, { "nombre": "Stygimoloch", "codigo": 56623, 'ubicacion': '3C' }] arbolNombre = Arbol() arbolCodigo = Arbol() for elementos in dinosaurios: arbolNombre = arbolNombre.insertar_nodo(elementos["nombre"], elementos) arbolCodigo = arbolCodigo.insertar_nodo(elementos["codigo"], elementos) # Punto 2 arbolNombre.inorden() print() # Punto 3 pos = arbolCodigo.busqueda(756) print(pos.datos) print() # Punto 5 arbolNombre.tRexEnIsla('T-rex') print() # Punto 6 nombre, datos = arbolNombre.eliminar_nodo('Sgimoloch') arbolNombre = arbolNombre.insertar_nodo( nombre, datos) # Eliminar y re-insertar porque el campo clave es el nombre arbolCodigo.modificarSgimoloch('Sgimoloch') # Punto 7 print('Ubicacion de los raptores: ') arbolNombre.ubicacionRaptores('Raptor') print() # Punto 8 cantidadDiplodocus = arbolNombre.contarDiplodocus('Diplodocus') print('La cantidad de Diplodocus en el parque es', cantidadDiplodocus)
def ejercicio23(): arbol = Arbol() criaturas = [{ 'nombre': "Ceto", 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Tifon', 'derrotadoPor': 'Zeus', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Equidna', 'derrotadoPor': 'Argos Panoptes', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Dino', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Pefredo', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Enio', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Escila', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Medusa', 'derrotadoPor': 'Perseo', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Ladon', 'derrotadoPor': 'Heracles', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Ortro', 'derrotadoPor': 'Heracles', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Talos', 'derrotadoPor': 'Medea', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Cerbero', 'derrotadoPor': 'Teseo', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Toro de Creta', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Jabali de Erimanto', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Cierva Cerinea', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Aves de Estinfalo', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Basilisco', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Sirenas', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }] for elementos in criaturas: arbol = arbol.insertar_nodo(elementos['nombre'], elementos) arbol.inorden() print() # C talos = arbol.busqueda('Talos') if talos: print(talos.datos) # D print() lista = Lista() aux = [] arbol.nombreDioses(aux) for elementos in aux: cantidad = arbol.contarMuertes(elementos) dict = {'dios': elementos, 'cantidadMuertes': cantidad} lista.insertar(dict, 'cantidadMuertes') print('3 dioses con mas muertes:') print(lista.obtener_elemento(lista.tamanio() - 3)) print(lista.obtener_elemento(lista.tamanio() - 2)) print(lista.obtener_elemento(lista.tamanio() - 1)) print() # E criaturas = [] print('Criaturas derrotadas por Heracles') criaturas = arbol.criaturaDerrotadaPor('Heracles', criaturas) for elementos in criaturas: print(elementos) # F print() print('Criaturas sin derrotar') arbol.criaturasSinDerrotar() # H print() arbol.modificarCapturadoPor() # I print() busquedaCoincidencia = input( 'Letras iniciales del nombre que desea buscar:') arbol.busqueda_proximidad(busquedaCoincidencia) # J arbol.eliminar_nodo('Basilisco') arbol.eliminar_nodo('Sirenas') # K arbol.modificarAvesEstinfalo # L ladInfo, ladDatos = arbol.eliminar_nodo('Ladon') arbol = arbol.insertar_nodo('Dragon Ladon', ladDatos) # M print() print('Barrido por nivel') arbol.barrido_por_nivel() print() # N print('Criaturas capturadas por Heracles') arbol.capturadoPor('Heracles')
print('D') print('En el árbol hay:',arbol.contar_heroes(True), 'Superheroes') print('') print('E: Modificar el nombre de un Superheroe') # Doctor Strnge buscado = input('ingrese a quien buscar:') arbol.busqueda_proximidad(buscado) buscado = input('ingrese a quien quiere cambiar el nombre:') buscado2 = input('ingrese nuevo nombre:') clave, dato = arbol.eliminar_nodo(buscado) dato['nombre'] = buscado2 arbol = arbol.insertar_nodo(buscado2, dato) arbol.inorden() print('') print('F: Listado de Superheroes de manera descendente') arbol.postorden() print('') print('G') arbolV = Arbol() arbolH = Arbol() arbolH = arbol.separar_arbol_Heroe_Villano(arbolH, True) arbolV = arbol.separar_arbol_Heroe_Villano(arbolV, False) print('El Arbol de Superheroes tiene:',arbolH.contar_heroes(True),'Nodos')