Está en la página 1de 4

Método de ordenación de vectores por intercambio

El algoritmo funciona de la siguiente manera: Se guarda la posición del


índice i del vector en una variable llamada mínimo. Se recorre el vector
con el índice j. Durante el recorrido del índice j se evalúa si el vector en
la posición de j es menor al valor del vector en la posición dada por la
variable mínimo. En caso afirmativo, la variable mínimo toma el valor
del índice j.
Cuando se termina el recorrido se evalúa si el valor del índice i es
diferente al valor de la variable mínimo, si es así se intercambian los
valores de los arreglos y se procede con la siguiente iteración,
aumentando en uno el valor del índice i.
El código en Python:
Método de Ordenamiento de Selección
El Método de ordenamiento por selección consiste en buscar el menor
entre todos los elementos no ordenados y colocarlo al principio, luego se
debe repetir lo mismo con los restantes (no se tienen en cuenta los ya
ordenados). 
Su código en Python 3 sería el siguiente:
Ordenamiento por selección
Consiste en encontrar el menor de todos los elementos del vector e
intercambiarlo con el que está en la primera posición. Luego el segundo
más pequeño, y así sucesivamente hasta ordenarlo todo.
Paso 1.1: Buscar el mayor de todos los elementos de la lista.
Lista = | 3 | 2 | -1 | 5 | 0 | 2 |
Encuentra el valor 5 en la posición 3.
Paso 1.2: Poner el mayor al final (intercambiar el que está en la última
posición de la lista con el mayor encontrado).
Intercambia el elemento de la posición 3 con el de la posición 5. En la
última posición de la lista está el mayor de todos.
Lista = | 3 | 2 | -1 | 2 | 0 | 5 |
Paso 2.1: Buscar el mayor de todos los elementos del segmento de la
lista entre la primera y la anteúltima posición.
Lista = | 3 | 2 | -1 | 2 | 0 | 5 |
Encuentra el valor 3 en la posición 0.
Paso 2.2: Poner el mayor al final del segmento (intercambiar el que está
en la última posición del segmento, o sea anteúltima posición de la lista,
con el mayor encontrado).
Lista = | 0 | 2 | -1 | 2 | 3 | 5 |
Intercambia el elemento de la posición 0 con el valor de la posición 4.
En la anteúltima y última posición de la lista están los dos mayores en
su posición definitiva.
Paso n: Se termina cuando queda un único elemento sin tratar: el que
está en la primera posición de la lista, y que es el menor de todos
porque todos los mayores fueron reubicados.
Lista = | -1 | 0 | 2 | 2 | 3 | 5 |
Invariante en el ordenamiento por selección
Todo ordenamiento tiene un invariante que permite asegurarse de que
cada paso que se toma va en la dirección de obtener una lista ordenada.
En el caso del ordenamiento por selección, el invariante es que los
elementos desde n+1 hasta el final de la lista están ordenados y son
mayores que los elementos de 0 a n, es decir que ya están en su
posición definitiva.
¿Cuánto cuesta ordenar por selección?
Ordenar por selección una lista de tamaño N insume tiempo del orden
de N^2. Como ya se vio, este tiempo es independiente de si la lista
estaba previamente ordenada o no.
En cuanto al espacio utilizado, sólo se tiene en memoria la lista que se
desea ordenar y algunas variables de tamaño 1.

También podría gustarte