Ago 09

Método de ordenación de la burbuja (bubble sort) en Python

Etiquetas: Algoritmos, Python Versión para imprimir Pablo

El método de la burbuja o método de intercambio directo es el algoritmo de ordenación más simple. El mismo compara los elementos a ordenar de a pares, cada uno con su siguiente y si están en el orden equivocado los intercambia y el proceso debe realizarse varias veces hasta que la lista esté totalmente ordenada, pero al ser un algoritmo tan simple, a pesar de ser efectivo, el mismo no es muy eficiente, su orden es n2

Por ejemplo en la lista [3,1,2,0] se harán los siguientes movimientos: (en negrita los elementos comparados)

# de comparación Estado inicial Estado final
1 3,1,2,0 1,3,2,0
2 1,3,2,0 1,2,3,0
3 1,2,3,0 1,2,0,3
4 1,2,0,3 1,2,0,3
5 1,2,0,3 1,0,2,3
6 1,0,2,3 1,0,2,3
7 1,0,2,3 0,1,2,3

Ahora vamos a ver la función en Python para implementar el método de la burbuja:

def ordenar(items):
    i = 0 # Inicializar las variables
    j = 0
    for i in range(len(items)): # recorrer toda la lista
        for j in range(len(items) -1): # recorrer toda la lista haciendo las comparaciones
            if items[j] > items[j+1]: # comparar
                aux = items[j]
                items[j] = items[j+1]
                items[j+1] = aux

También te puede interesar:

Comentarios[2]

  1. nomalikNo Gravatar

    Utilizando tuplas puedes hacer el intercambio en una sola instrucción y te ahorras el “aux”:
    >>> items[j], items[j+1] = items[j+1], items[j]

  2. PabloNo Gravatar

    @nomalik, la verdad es que recién empiezo con Python así que hay mucho por aprender… gracias por el aporte.

Deja un comentario