Saltar a contenido

13. Algoritmos de ordenamiento#

(★☆☆, ★★☆, ★★★) Esta notación indica la dificultad de cada ejercicio, de menor a mayor.

  1. ★☆☆ Implementar una función que tome una lista de números y la ordene de menor a mayor usando el algoritmo de selección.

  2. ★☆☆ Implementar una función que tome una lista de números y la ordene de menor a mayor usando el algoritmo de burbujeo.

  3. ★★★ Se tiene una lista que contiene diccionarios con las claves “id”, “descripcion”, “costo” y “stock”. Un ejemplo de listas de este tipo es el siguiente:

    [{"id": 4, "descripcion": "Girgola", "costo": 449.0, "stock": 324},
    {"id": 2, "descripcion": "Espinaca", "costo": 799.0, "stock": 3501},
    {"id": 3, "descripcion": "Champignon", "costo": 629.0, "stock": 723},
    {"id": 12, "descripcion": "Kiwi", "costo": 1299.0, "stock": 150},
    {"id": 10, "descripcion": "Mandarina Okitsu", "costo": 389.0, "stock": 430},
    {"id": 11, "descripcion": "Mandarina Nova", "costo": 389.0, "stock": 900}]
    
    • Implementar una función que tome una lista con este formato y la ordene por id.
    • Implementar una función que tome una lista con este formato y la ordene por costo.

    No está permitido usar la función built-in sorted, ni el método sort de las listas.

  4. ★★★ Realice el ejercicio anterior pero usando los otros algoritmos de ordenamiento vistos en clase.

  5. ★★★ Se tiene una lista que contiene diccionarios con las claves “nombre”, “mesa”, y “especial”. Un ejemplo de listas de este tipo es el siguiente:

    [{"nombre": "Gabi", "mesa": 3, "especial": "si"},
    {"nombre": "Dani", "mesa": 1, "especial": "no"},
    {"nombre": "Aike", "mesa": 3, "especial": "si"},
    {"nombre": "Pato", "mesa": 1, "especial": "si"},
    {"nombre": "Indigo", "mesa": 1, "especial": "si"},
    {"nombre": "Sora", "mesa": 2, "especial": "si"},
    {"nombre": "Cris", "mesa": 2, "especial": "no"},
    {"nombre": "Matu", "mesa": 3, "especial": "no"},
    {"nombre": "Alex", "mesa": 1, "especial": "no"},
    {"nombre": "Xue", "mesa": 2, "especial": "no"},
    {"nombre": "Ariel", "mesa": 2, "especial": "no"}]
    
    • Implementar una función que tome una lista con este formato y la ordene por nombre.
    • Implementar una función que tome una lista con este formato y la ordene por mesa.

    No está permitido usar la función built-in sorted, ni el método sort de las listas.

  6. ★★★ Realice el ejercicio anterior pero usando los otros algoritmos de ordenamiento vistos en clase.