5.8. El ordenamiento por selección

El ordenamiento por selección mejora el ordenamiento burbuja haciendo un sólo intercambio por cada pasada a través de la lista. Para hacer esto, un ordenamiento por selección busca el valor mayor a medida que hace una pasada y, después de completar la pasada, lo pone en la ubicación correcta. Al igual que con un ordenamiento burbuja, después de la primera pasada, el ítem mayor está en la ubicación correcta. Después de la segunda pasada, el siguiente mayor está en su ubicación. Este proceso continúa y requiere \(n-1\) pasadas para ordenar los n ítems, ya que el ítem final debe estar en su lugar después de la \((n-1)\)-ésima pasada.

La Figura 3 muestra todo el proceso de ordenamiento. En cada paso, el ítem mayor restante se selecciona y luego se pone en su ubicación correcta. La primera pasada ubica el 93, la segunda pasada ubica el 77, la tercera ubica el 55, y así sucesivamente. La función se muestra en el ActiveCode 1.

../_images/selectionsortnew.png

Figura 3: ordenamientoPorSeleccion

Figura 3: ordenamientoPorSeleccion



Usted habrá notado que el ordenamiento por selección hace el mismo número de comparaciones que el ordenamiento burbuja y por lo tanto también es \(O(n^{2})\). Sin embargo, debido a la reducción en el número de intercambios, el ordenamiento por selección normalmente se ejecuta más rápidamente en pruebas de referencia. De hecho, para nuestra lista, el ordenamiento burbuja hace 20 intercambios, mientras que el ordenamiento por selección hace sólo 8.

Autoevaluación

You have attempted of activities on this page