Академический Документы
Профессиональный Документы
Культура Документы
INSTITUTO PROFESIONAL
VIRGINIO GOMEZ
DE LA UNIVERSIDAD DE CONCEPCION
: Jaime Salazar Fabin Prez : Eliana Guerrero : Ing. (e) Comp. E Informtica
-1-
INDICE
1. 2.
Introduccin.............................................. Qu es Ordenamiento?................................................
-2-
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-
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-
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-
Radix Heap
Externos: 1. 2. 3. 4. 5. Straight merging. Natural merging. Balanced multiway merging. Polyphase sort. Distribution of initial runs.
-6-
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-
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-
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-
- 10 -
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 -
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 -