Hay algo que no termino de entender… Los while para la ordenación no deberían estar indentados al mismo nivel que el if? porque están den...

Jose Colmenares

Jose Colmenares

Pregunta
studenthace 5 años

Hay algo que no termino de entender… Los while para la ordenación no deberían estar indentados al mismo nivel que el if? porque están dentro del if?

3 respuestas
para escribir tu comentario
    Moisés Manuel Morín Hevia

    Moisés Manuel Morín Hevia

    studenthace 4 años

    Porque cuando cortas a la mitad se hacen sublistas que comparan uno a uno y las acomodan por su valor.

    Julio Cardenas

    Julio Cardenas

    studenthace 5 años

    Jose luis el caso base en la iteracion es cuando la lista que da con un solo elemento, de lo contrario no se hace nada

    def ordenamiento_por_mezcla(lista): if len(lista) > 1: medio = len(lista) // 2 izquierda = lista[:medio] derecha = lista[medio:] print(izquierda, '*' * 5, derecha) # llamada recursiva en cada mitad izquierda = ordenamiento_por_mezcla(izquierda) derecha = ordenamiento_por_mezcla(derecha) # Iteradores para recorrer las dos sublistas i = 0 j = 0 # Iterador para la lista principal k = 0 while i < len(izquierda) and j < len(derecha): if izquierda[i] < derecha[j]: lista[k] = izquierda[i] i += 1 else: lista[k] = derecha[j] j += 1 k += 1 while i < len(izquierda): lista[k] = izquierda[i] i += 1 k +=1 while j < len(derecha): lista[k] = derecha[j] j += 1 k += 1 print(f'izquierda {izquierda}, derecha {derecha}') print(lista) print('-' * 50) else: pass return lista
    Mario Laserna Hernández

    Mario Laserna Hernández

    studenthace 5 años

    No porque en el proceso de dividir la lista en sublistas, cuando quedan en 1 de longitud hace la comparación, entonces toda la operación de realiza dentro del if inicial

Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.

Curso de POO y Algoritmos con Python
Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.