Вы находитесь на странице: 1из 12

INSTITUTO PROFESIONAL DR.

VIRGINIO GOMEZ SEDE LOS ANGELES

INSTITUTO PROFESIONAL

VIRGINIO GOMEZ
DE LA UNIVERSIDAD DE CONCEPCION

ALGORITMOS DE ORDENAMIENTO Algoritmos de Insercin

Alumnos Docente Carrera

: Jaime Salazar Fabin Prez : Eliana Guerrero : Ing. (e) Comp. E Informtica

Asignatura : Estructura de Datos

LOS ANGELES CHILE

-1-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

INDICE
1. 2.

Introduccin.............................................. Qu es Ordenamiento?................................................

3. Mtodos de ordenamiento ........................................... 4. Algoritmo de Insercin.................................................


5. 6. 7.

Ventajas y desventajas.................................................. Mtodo Shell................................................................ Conclusin y comparaciones........................................

-2-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

INTRODUCCIN El desarrollo de algoritmos es un tema fundamental en el diseo de programas, por lo cual, el alumno debe tener buenas bases que le sirvan para poder desarrollar de manera fcil y rpida sus programas. Debido a que las estructuras de datos son utilizadas para almacenar informacin, para poder recuperar esa informacin de manera eficiente es deseable que aquella est ordenada. Para ello existe una gama de mtodos para cumplir con aquella solicitud. En nuestro siguiente informe les daremos a conocer acerca de Algoritmos de Ordenamiento los cuales como su nombre lo indica cumplen con nuestra peticin Ordenar, pero de aquella gama de mtodos que ya mencione para esta operacin nosotros solo nos radicremos en uno solo que en este caso ser el de Insercin.

-3-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

QU ES ORDENAMIENTO? Es la operacin de arreglar los registros de una tabla en algn orden secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se efecta con base en el valor de algn campo en un registro. El propsito principal de un ordenamiento es el de facilitar las bsquedas de los miembros del conjunto ordenado. Ej. De ordenamientos: DIR.: Telefnico, diccionarios, etc. tablas de contenido, bibliotecas y

El ordenar un grupo de datos significa mover los datos o sus referencias para que queden en una secuencia tal que represente un orden, el cual puede ser numrico, alfabtico o incluso alfanumrico, ascendente o descendente. Cundo conviene usar un mtodo de ordenamiento? Cuando se requiere hacer una cantidad considerable de bsquedas y es importante el factor tiempo.

-4-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

METODOS DE ORDENAMIENTO Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos. Los internos: Se lleva a cabo completamente en memoria principal, todos los objetos que se ordenan caben en la memoria principal de la computadora. Los externos: No cabe toda la informacin en memoria principal y es necesario ocupar memoria secundaria. El ordenamiento ocurre transfiriendo los bloques de informacin a memoria principal en donde se ordena el bloque y es regresado, ya ordenado, a memoria secundaria. Clasificacin de los algoritmos de ordenamiento Internos: Algoritmos insercin: Algoritmos intercambio: Algoritmos seleccin: Algoritmos enumeracin: de Insercin Directa Shell de Burbuja Shake Quick Sort de Seleccin Directa

de Merge

-5-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

Radix Heap

Externos: 1. 2. 3. 4. 5. Straight merging. Natural merging. Balanced multiway merging. Polyphase sort. Distribution of initial runs.

-6-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

ALGORITMO DE INSERCIN Tambin conocido como algoritmo de Insercin Directa; este es uno de los mtodos ms sencillos. Consta de tomar uno por uno los elementos de un arreglo y recorrerlo hacia su derecha, con respecto a los anteriormente ordenados. As empieza con el segundo elemento y lo ordena con respecto al primero, segn el valor. Luego sigue con el tercero y lo coloca en su posicin ordenada con respecto a los dos anteriores, as sucesivamente hasta recorrer todas las posiciones del arreglo. El tiempo de ejecucin de este mtodo para una lista de n elementos el ciclo externo se ejecuta n-1 veces Un ejemplo:

1. for (i=1; i<TAM; i++) 2. 3. 4. 5. 6. 7. temp = lista[i]; j = i - 1; while ( (lista[j] > temp) && (j >= 0) ) lista[j+1] = lista[j]; j--; lista[j+1] = temp;

-7-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

4-3-5-2-1 Temp toma el valor del segundo elemento, 3. La primera carta es el 4. Ahora comparamos: 3 es menor que 4. Luego desplazamos el 4 una posicin a la derecha y despus copiamos el 3 en su lugar. 4-4-5-2-1 3-4-5-2-1 El siguiente elemento es 5. Comparamos con 4. Es mayor que 4, as que no ocurren intercambios. Continuamos con el 2. Es menor que cinco: desplazamos el 5 una posicin a la derecha: 3-4-5-51 Comparamos con 4: es menor, as que desplazamos el 4 una posicin a la derecha: 3-4-4-5-1 Comparamos con 3. Desplazamos el 3 una posicin a la derecha: 3-3-4-5-1 Finalmente copiamos el 2 en su posicin final: 2-3-4-5-1

-8-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

El ltimo elemento a ordenar es el 1. Cinco es menor que 1, as que lo desplazamos una posicin a la derecha:

2-3-4-5-5 Continuando con el procedimiento la lista va quedando as: 2-3-4-4-5 2-3-3-4-5 2-2-3-4-5 1-2-3-45 Finalmente la lista queda ordenada desde el menor valor hasta el mayor.

Ventajas y desventajas
Ventajas: fcil implementacin, requerimiento mnimo de memoria Desventajas: lento, realiza numerosas comparaciones.

-9-

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

Ordenamiento por el mtodo de Shell


El mtodo Shell es una versin mejorada del mtodo de insercin directa. Este mtodo tambin se conoce con el nombre de insercin con incrementos decrecientes. En el mtodo de ordenacin por insercin directa cada elemento se compara para su ubicacin correcta en el arreglo, con los elementos que se encuentran en la parte izquierda del mismo. Si el elemento a insertar es ms pequeo que el grupo de elementos que se encuentran a su izquierda, es necesario efectuar entonces varias comparaciones antes de su ubicacin. Shell propone que las comparaciones entre elementos se efecten con saltos de mayor tamao pero con incrementos decrecientes, as, los elementos quedarn ordenados en el arreglo ms rpidamente. El Shell sort es una generalizacin del ordenamiento por insercin, teniendo en cuenta dos observaciones: 1. El ordenamiento por insercin es eficiente si la entrada est "casi ordenada". 2. El ordenamiento por insercin es ineficiente, en general, porque mueve los valores slo una posicin cada vez. El algoritmo Shell sort mejora el ordenamiento por insercin comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos ms grandes" hacia su posicin esperada. Los pasos mltiples sobre los datos se hacen con tamaos de espacio cada vez ms pequeos. El ltimo paso del Shell sort es un simple ordenamiento por insercin, pero para entonces, ya est garantizado que los datos del vector estn casi ordenados. El Shell sort lleva este nombre en honor a su inventor, Donald Shell, que lo public en 1959.

- 10 -

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

Ejemplo: Para el arreglo a = [6, 1, 5, 2, 3, 4, 0] Tenemos el siguiente recorrido: Recorrido 1 2 3 4 5 Salto 3 3 3 1 1 Lista Ordenada Intercambio 2,1,4,0,3,5,6 0,1,4,2,3,5,6 0,1,4,2,3,5,6 0,1,2,3,4,5,6 0,1,2,3,4,5,6 (6,2), (5,4), (6,0) (2,0) Ninguno (4,2), (4,3) Ninguno

En este ejemplo observamos claramente como nuestro mtodo agrupa los elementos del arreglo y luego los compara para ordenarlos uno a uno como corresponde, en este caso orden numrico.

- 11 -

INSTITUTO PROFESIONAL DR. VIRGINIO GOMEZ SEDE LOS ANGELES

Conclusin
Por lo visto en los tipos de ordenamiento, el mtodo por insercin directa es muy simple y consta en tomar uno por uno los elemento de un arreglo y recorrerlo hacia la derecha, comparndolos segn se valor y ordenndolos de menor a mayor, este algoritmo es lento, pero puede ser de utilidad para listas que estn ordenadas o semi-ordenadas, porque en ese caso realiza muy pocos desplazamientos. El mtodo de insercin binaria es una mejora de el de insercin directa, para lograr esta mejora se recurre a una bsqueda binaria en lugar de una bsqueda secuencial para insertar un elemento en la parte izquierda del arreglo, que ya se encuentra ordenado, en cambien el mtodo de shell compara los elementos agrupados, es mas rpido que los mtodos anteriores pero es ineficiente por que los datos se mueven una sola posicin a la vez.

- 12 -

Вам также может понравиться