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()
Esempio n. 2
0
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()
Esempio n. 3
0
    {'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')
Esempio n. 6
0
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')