You are on page 1of 5

Mtodo de

ordenamiento
mediante la Insercin
LUIS ROBERTO CARLOS REYES RAYAS
DAVID UZZIEL MENA MALDONADO
JONATHAN RUBN SORIA GARCA
Insercin

El mtodo de ordenacin por insercin directa consiste en recorrer todo el array


comenzando desde el segundo elemento hasta el final. Para cada elemento, se
trata de colocarlo en el lugar correcto entre todos los elementos anteriores a l o
sea entre los elementos a su izquierda en el array.
Los pasos a efectuar en el caso de una ordenacin ascendente (en el caso de la
ordenacin descenderte solo habra que cambiar el signo de comparacin) son:
1. Comparar el primer y segundo elemento, intercambiarlos si el primero es
mayor que el segundo; luego se compara el primero con el tercero,
intercambindose en caso necesario, y el proceso se repite hasta llegar al
ltimo elemento. De este modo, tras la primera iteracin la casilla primera
conservara el elemento ms pequeo de esa iteracin.
2. Se repite el paso anterior, pero ahora con el segundo espacio, despus con el
tercero, en caso de ser necesario se intercambian, y as hasta llegar a
comparar el segundo con el ultimo.
Cdigo Muestra en C++
void insercion( int * v, int n) /*** cdigo en C++ ***/
{ /* ordenamiento de insercion */
for (int i = 1, j = 0; i < n; i++)
{
int tem = v[i];
j = i - 1;
while ( j >= 0 && tem < v[j])
{
v[j+1] = v[j]; j--;
}
v[j+1] = tem;
}
}
Ventajas y Desventajas
En el mejor caso (cuando el array ya estaba ordenado), el tiempo de ejecucin
de este mtodo de ordenamiento es O(n).
Donde O es la cantidad de operaciones y n las lista de elementos.
El caso medio depender de cmo estn inicialmente distribuidos los elementos.
Cuanto ms ordenada est inicialmente ms se acerca a O(n) y cuanto ms
desordenada, ms se acerca a O(n2).
En el peor de los casos, el tiempo de ejecucin en O(n2).
El peor caso el mtodo de insercin directa es igual que en los mtodos de
burbuja y seleccin, pero el mejor caso podemos tener ahorros en tiempo de
ejecucin.

You might also like