1. Equipo 7: Los valientes-ensayo
Arango Cruz Josefina
Hernández Saavedra Benjamín
Velázquez Vargas Arturo Isaac
Ordenamiento por inserción
La ordenación o clasificación de datos (sort en inglés) es una operación consistente en disponer un conjunto -estructura- de datos en algún determinado orden con respecto a uno de los campos de elementos del conjunto.
Los métodos (algoritmos) de ordenación son numerosos, por ello se debe prestar especial atención en su elección. La eficiencia es el factor que mide la calidad y rendimiento de un algoritmo. Los métodos de ordenación se suelen dividir en dos grandes grupos:
Directos Burbuja, selección, inserción.
Indirectos (avanzados) Shell, ordenación rápida,
ordenación por mezcla, radixsort.
De los tres métodos de ordenación directos, el de inserción es más
eficiente en
O(n2) , dado que realiza una cantidad de comparaciones
equilibrada con respecto a los intercambios que se dan.
Funcionamiento
Si sólo tenemos un dato, entonces el arreglo ya está ordenado. Agregando un segundo dato, podemos ordenar el arreglo acomodando este dato antes o después del primero, según corresponda. Para el tercero, vemos si queda antes del primero, del segundo o en su posición actual. En general, si ya tenemos un arreglo ordenado y queremos agregar un nuevo dato, basta
2. con acomodarlo antes de los datos que son mayores a él.
Algoritmo de ordenación por inserción
El algoritmo correspondiente a la ordenación por inserción contempla los siguientes pasos:
1. El primer elemento A[0] se considera ordenado, es decir, la lista inicial conste de un elemento.
2. Se inserta A[1] en la posición correcta delante o detrás de A[0], dependiendo de que sea menor o mayor.
3. Por cada bucle o iteración i (desde i = 1 hasta n-1) se explora la sublista A[i-1] . . A[0] buscando la posición correcta de inserción; a la vez se mueve hacia abajo (a la derecha en la sublista) una posición todos los elementos mayores que el elemento a insertar A[i], para dejar vacía esa posición.
4. Insertar el elemento en la posición correcta.
3. La complejidad del algoritmo es cuadrática,
O(n2) , debido a que
todo el proceso se controla con dos bucles anidados que en el peor de los casos realizan n-1 iteraciones .
Fuentes de consulta
❏ Guillen, P., Universidad Panamericana, Bonaterra. Ordenación por inserción. Disponible en:
http://pier.guillen.com.mx/algorithms/03-ordenacion/03.2-insertions ort.htm
❏ Joyanes, L., Zahonero, I. (2001) Programación en C: Metodología,
algoritmos y estructura de datos. Capítulo 10 “Algoritmos de ordenación y búsqueda”. Editorial McGraw-Hill.