facebook
  • logo_eip_blanco
  • Universidad Católica de Murcia

Algoritmos de ordenación en Python

María José Peña | 29 junio, 2021

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.

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.

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.

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


Si te ha gustado compártelo

Share on facebook
Share on linkedin
Share on twitter
Share on whatsapp
Share on email
Share on facebook
Facebook
Share on linkedin
LinkedIn
Share on twitter
Twitter
Share on whatsapp
WhatsApp
Share on email
Correo

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

Otros post relacionados

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

 

Fórmate con nuestro Máster y revoluciona tu futuro

Escuela Internacional de Posgrados te informa que los datos del presente formulario serán tratados por Mainfor Soluciones Tecnológicas y Formación, S.L. como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales es para dar respuesta a la consulta realizada así como para el envío de información de los servicios del responsable del tratamiento. La legitimación es el consentimiento del interesado.
Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en cumplimiento@mainfor.edu.es así como el derecho a presentar una reclamación ante la autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de datos en la Política de Privacidad que encontrarás en nuestra página web eiposgrados.edu.es.