|
ORDENAMIENTO POR INSERCIÓN DIRECTA Uno de los métodos de ordenamiento más sencillos es el ordenamiento por inserción directa. Se tiene una secuencia de números x1, x2,..., xn. Los números se recorren de izquierda a derecha y se escribe x¡ a la izquierda de x¡-1 si x¡ es menor que xi-1. En otras palabras, desplazamos a x¡ de manera continua hacia la izquierda hasta que los números a su izquierda sean menores que o iguales a él.
Ejemplo: Considere la secuencia de entrada 7,5,1,4,3,2,6. El ordenamiento por inserción directa produce la secuencia ordenada siguiente: 7 En nuestro análisis, como medida de la complejidad temporal del algoritmo se usará el número de intercambios de datos x = xj, xi+1 = xi y xi+1 = x. En este algoritmo hay dos ciclos: uno exterior (for) y otro interior (while). Para el ciclo exterior siempre se ejecutan dos operaciones de intercambio de datos; a saber, x = xj y xi+1= x. Debido a que el ciclo interior puede o no ser ejecutado, el número de intercambios de datos realizados para x¡ en el ciclo interior se denotará por d¡. Así, evidentemente, el número total de movimientos de datos para el ordenamiento por inserción directa es
Peor caso: El peor caso ocurre cuando los datos de entrada están ordenados a la inversa. En este caso, d2 =1, d3=2, ..., dn=n-1. De este modo,
|