+ INFORMACIÓN

¡Comparte en redes sociales!

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

EIP International Business School te informa que los datos del presente formulario serán tratados por Mainjobs Internacional Educativa y Tecnológica, S. A. 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@grupomainjobs.com 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
marter-en-python

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

Deja un comentario