Algoritmos de ordenación en Python

A veces nos encontramos que tenemos los datos que almacenamos o recuperamos de una aplicación desordenados, sin ningún orden lógico, y necesitamos organizarlos y/o clasificarlos para procesarlos correctamente o usarlos más eficientemente.

Con el Máster de Programación avanzada en Python, Hacking, Big Data y Machine Learning podrás convertirte en un experto ampliamente cualificado para realizar trabajos de programación en Python especializado en las áreas punteras como el Big Data, Hacking y Machine Learning.

Tipos de algoritmos de ordenación en Python

Hoy vamos a conocer los algoritmos de ordenación más habituales: 

  • Ordenamiento de burbuja (Bubble Sort)
  • Orden de selección (Selectión Sort)
  • Tipo de inserción (Insert Sort)
  • Combinar ordenación (Merge Sort)

Ordenamiento de burbuja (Bubble Sort)

Este algoritmo de clasificación simple itera sobre la lista de datos, comparando elementos en pares hasta que los elementos más grandes “burbujean” hasta el final de la lista y los más pequeños permanecen al principio.

Comienza comparando los dos primeros elementos de la lista, si el primer elemento es mayor que el segundo, los intercambiamos, si no, se quedan como están. Luego pasamos al siguiente par de elementos, los comparamos e intercambiamos si fuera necesario. 

Tipos De Algoritmos De Ordenacion En Python

El bucle while se rompe cuando no se han intercambiado elementos.

Orden de selección (Selectión Sort)

Este algoritmo separa la lista en dos partes, ordenada y no ordenada. Continuamente “elimina” el elemento más pequeño de la parte sin ordenar y lo agrega a la parte ordenada.

Lo que realmente realiza este algoritmo es tratar la parte izquierda de la lista como la parte ordenada buscando en toda la lista el elemento más pequeño y poniéndolo el primero. Después, sabiendo que ya tenemos el elemento más pequeño el primero, buscamos en toda la lista el elemento más pequeño de los restantes sin ordenar y lo intercambiamos con el siguiente ordenado y así hasta acabar con la lista.

Cuantos más elementos tengamos ordenados, menos elementos tendremos que examinar.

Algoritmos De Ordenacion

Tipo de inserción (Insert Sort)

Este algoritmo, al igual que la clasificación por selección, separa la lista en dos partes, ordenadas y no ordenadas. También suponemos que el primer elemento está ordenado, luego pasamos al siguiente elemento que lo vamos a llamar X, comparamos X con el primero, si es mayor, se queda como está pero si es más pequeño, copiamos el primer elemento en la segunda posición e insertamos X como primero.

Algoritmos Python

Combinar ordenación (Merge Sort)

Este algoritmo comienza dividiendo la lista en dos, luego esas dos mitades en 4 y así sucesivamente hasta que tengamos listas de un elemento de longitud. Después, estos elementos se vuelven a unir en orden. Primero fusionaremos los elementos individuales en pares de nuevo ordenándolos entre sí, luego seguiremos ordenándolos en grupos hasta que tengamos una sola lista ordenada.

Algoritmos Master En Python

El resultado con cualquiera de los algoritmos sería el siguiente:

Listas Ordenadas

Suscríbete a nuestra newsletter para estar al día de todas las novedades

Información básica sobre protección de datos.
Responsable del tratamiento: Mainfor Soluciones Tecnológicas y Formación S.L.U.
Finalidad: Gestionar su suscripción a la newsletter.
Legitimación para el tratamiento: Consentimiento explícito del interesado otorgado al solicitar la inscripción.
Cesión de datos: No se cederán datos a terceros, salvo obligación legal.
Derechos: Podrá ejercitar los derechos de Acceso, Rectificación, Supresión, Oposición, Portabilidad y, en su caso Limitación, como se explica en la información adicional.
Información adicional: Puede consultar la información adicional y detallada sobre Protección de Datos en https://www.mainfor.edu.es/politica-privacidad
marter-en-python

3 comentarios en «Algoritmos de ordenación en Python»

Deja un comentario

¡Comparte en redes sociales!