Algoritmo de ordenamiento: Lógica de Programación #4
En este artículo, vamos a desglosar en profundidad cómo funciona un algoritmo clásico de ordenamiento en Python: el ordenamiento burbuja. Usaremos una función llamada sort_list para ilustrar cada paso y entender su lógica línea por línea.
Descripción
Este código define una función sort_list que implementa el algoritmo de ordenamiento burbuja (bubble sort) para ordenar una lista de números en orden ascendente. A continuación, se proporciona una lista de números numbers_list, que se pasa a la función para obtener una lista ordenada.
Análisis
Python
def sort_list(numbers):
n = len(numbers)
- def sort_list(numbers): es la definición de la función llamada sort_list, que acepta un argumento numbers, una lista de números que queremos ordenar.
- n = len(numbers) obtiene la longitud de la lista numbers y la almacena en la variable n. Esto nos permitirá iterar a través de todos los elementos de la lista.
Python
for i in range(n):
for i in range(n): inicia un bucle que se ejecuta n veces, donde i toma valores desde 0 hasta n-1. Este bucle representa el número de pasadas que realizaremos sobre la lista para asegurarnos de que todos los elementos estén ordenados.
Python
for j in range(0, n-i-1):
for j in range(0, n-i-1): es un bucle anidado dentro del primer bucle. Este bucle recorre la lista desde el inicio hasta n-i-1. La razón para decrementar n-i-1 es que después de cada pasada del bucle externo, el último elemento de esa pasada está en su posición correcta, por lo que no es necesario incluirlo en las siguientes comparaciones.
Python
if numbers[j] > numbers[j+1]:
numbers[j], numbers[j+1] = numbers[j+1], numbers[j]
if numbers[j] > numbers[j+1]: verifica si el elemento actual numbers[j] es mayor que el siguiente elemento numbers[j+1].
numbers[j], numbers[j+1] = numbers[j+1], numbers[j] intercambia (swap) los dos elementos si la condición es verdadera, es decir, si numbers[j] es mayor que numbers[j+1]. Este intercambio coloca el elemento mayor más hacia el final de la lista, “burbujeando” el mayor a su posición correcta.
Python
return numbers
return numbers devuelve la lista ordenada después de que todos los intercambios necesarios se hayan realizado.
Uso de la Función
Python
numbers_list = [3, 5, 7, 200, 8, 1, 9, 4]
sorted_list = sort_list(numbers_list)
print(f"The sorted list is: {sorted_list}")
- numbers_list = [3, 5, 7, 200, 8, 1, 9, 4] define una lista de números desordenados.
- sorted_list = sort_list(numbers_list) llama a la función sort_list con numbers_list como argumento, almacenando la lista ordenada en sorted_list.
- print(f”The sorted list is:{sorted_list}”) imprime la lista ordenada.
Al ejecutar el código, la salida será:
Python
The sorted list is: [1, 3, 4, 5, 7, 8, 9, 200]
Puedes ver el script completo en GitHub
El algoritmo de ordenamiento burbuja es un método sencillo y fácil de entender para ordenar listas. Aunque no es el más eficiente para listas grandes debido a su complejidad de tiempo O(n²), es una excelente manera de aprender los conceptos básicos de los algoritmos de ordenamiento. Este análisis detallado debería ayudarte a comprender cómo funciona el algoritmo línea por línea y cómo puedes aplicarlo en tus propios proyectos de programación en Python.
¡Suscríbete a nuestro newsletter para recibir noticias y artículos cada semana o mes!
¡Mantente al día con las últimas novedades en marketing, desarrollo web y análisis de datos!

