Computacion Metodo de Ordenamiento

17
¿Qué es ordenamiento? Es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se efectúa con base en el valorde algún campo en un registro. El propósito principal de un ordenamiento es el de facilitar las búsqued los miembros del conjunto ordenado. Ej. de ordenamientos: Dir. telefónico, tablas de contenido, bibliotecas y diccionarios, etc. El ordenar un grupo de datos significa mover los datos o sus referencias que queden en una secuencia tal que represente un orden, el cual puede s numérico, alfabético o incluso alfanumérico, ascendente o descendente. ¿Cuándo conviene usar un método de ordenamiento? Cuando se requiere hacer una cantidad considerable de búsquedas importante el factor tiempo. Tipos de ordenamientos: Los 2 tipos de ordenamientos que se pueden realizar son: los internos y externos. Los internos: Son aquellos en los que los valores a ordenar están en memoria principa por lo que se asume que el tiempo que se requiere para acceder cualquier elemento sea el mismo (a[1], a[500], etc). Los externos: Son aquellos en los que los valores a ordenar están en memoria secundari (disco, cinta, cilindro magnético, etc), por lo que se asume que el tiem

Transcript of Computacion Metodo de Ordenamiento

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, tablas de contenido, bibliotecas y diccionarios, etc. 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. Tipos de ordenamientos: Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos. Los internos: Son aquellos en los que los valores a ordenar estn en memoria principal, por lo que se asume que el tiempo que se requiere para acceder cualquier elemento sea el mismo (a[1], a[500], etc). Los externos: Son aquellos en los que los valores a ordenar estn en memoria secundaria (disco, cinta, cilindro magntico, etc), por lo que se asume que el tiempo que

se requiere para acceder a cualquier elemento depende de la ltima posicin accesada (posicin 1, posicin 500, etc). Algoritmos de ordenamiento: Internos:

Insercin directa. Insercin binaria. Insercin directa. Seleccin directa. Seleccin directa. Burbuja. Shake. Intercambio directo. Shell. Insercin disminucin incremental. Heap. Tournament. Ordenamiento de rbol. Quick sort. Sort particionado. Merge sort. Radix sort.

Clculo de direccin. Externos: Straight merging. Natural merging. Balanced multiway merging. Polyphase sort. Distribution of initial runs. Clasificacin de los algoritmos de ordenamiento de informacin: El hecho de que la informacin est ordenada, nos sirve para poder encontrarla y accesarla de manera ms eficiente ya que de lo contrario se tendra que hacer de manera secuencial. A continuacin se describirn 4 grupos de algoritmos para ordenar informacin: Algoritmos de insercin: En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es INSERTADO en la posicin apropiada con respecto al resto de los elementos ya ordenados. Entre estos algoritmos se encuentran el de INSERCION DIRECTA, SHELL SORT, INSERCION BINARIA y HASHING. Algoritmos de intercambio: En este tipo de algoritmos se toman los elementos de dos en dos, se comparan y se INTERCAMBIAN si no estn en el orden adecuado. Este proceso se repite hasta que se ha analizado todo el conjunto de elementos y ya no hay intercambios. Entre estos algoritmos se encuentran el BURBUJA y QUICK SORT

Algoritmos de seleccin: En este tipo de algoritmos se SELECCIONA o se busca el elemento ms pequeo (o ms grande) de todo el conjunto de elementos y se coloca en su posicin adecuada. Este proceso se repite para el resto de los elementos hasta que todos son analizados.

Entre estos algoritmos se encuentra el de SELECCION DIRECTA. Algoritmos de enumeracin: En este tipo de algoritmos cada elemento es comparado contra los dems. En la comparacin se cuenta cuntos elementos son ms pequeos que el elemento que se est analizando, generando as una ENUMERACION. El nmero generado para cada elemento indicar su posicin. Los mtodos simples son: Insercin (o por insercin directa), seleccin, burbuja y shell, en dnde el ltimo es una extensin al mtodo de insercin, siendo ms rpido. Los mtodos ms complejos son el quick-sort (ordenacin rpida) y el heap sort.

Mtodos de Ordenacin Un mtodo de ordenamiento consiste en un algoritmo que recibe como entrada a un conjunto de datos que son necesarios de ordenar segn cierto(s) criterio(s). El objetivo fundamental de stos mtodos es el de facilitar la bsqueda de datos segn estos mismos criterios. Muchas veces es necesario adems de buscar elementos dentro de en un vector, ordenarlos. Este ordenamiento puede ser de mayor a menor si estamos manejando nmeros y en orden alfabtico si se trata de nombres o caracteres. Existe una gran variedad de mtodos de ordenamiento que nos permiten organizar con rapidez los elementos que se encuentran dentro de

un vector o archivo. La eleccin de un determinado mtodo de ordenamiento depende del tamao del vector que se desea ordenar Mtodos de Ordenacin Elementales Los mtodos de ordenacin elementales proporcionan:

Una terminologa bsica. Un mecanismo bsico que puede extenderse a otros mtodos ms generales, sofisticados y con mejor desempeo. Tpicamente, los mtodos de ordenacin elementales tienen peor

desempeo que los sofisticados, pero existen muchas aplicaciones en las que es mejor utilizar un mtodo de ordenacin elemental. Por ejemplo, cuando el algoritmo se utiliza pocas veces y/o se ordenan pocos elementos. Como regla general se tiene que los mtodos elementales necesitan cerca de pasos para ordenar elementos organizados al azar.

En general, no se recomienda su uso para ordenar:

Archivos grandes. Archivos clasificados aleatoriamente. Por su parte, mtodos ms avanzados pueden lograr desempeos de

orden

,

,

. Ms an, se puede demostrar que ningn mtodo de comparaciones entre claves

ordenacin puede utilizar menos de cuando stas estn organizadas al azar. Terminologa

En el contexto de los mtodos de ordenacin, cada elemento de dato tiene su clave, y los mtodos de ordenacin trabajan ordenando los elementos de dato segn sus claves. Por lo regular, los mtodos comparan

las claves e intercambian los elementos de dato. En lugar de desplazar fsicamente los elementos de datos, con frecuencia, slo se intercambian ndices, punteros o referencias. Esto se denomina ordenacin indirecta. Un mtodo de ordenacin que trabaja sobre un conjunto de datos que se encuentra en memoria (e.g., un arreglo, una lista) se dice que es un mtodo de ordenacin interna. Por el contrario, si el conjunto de datos almacenados en archivos no pueden ser cargados en memoria (por ejemplo, por razones de tamao) y el mtodo de ordenacin opera sobre los archivos, se dice que es de ordenacin externa. Evidentemente, en la ordenacin interna se accede a los elementos de dato ms fcilmente, mientras que en la ordenacin externa se accede a los elementos de dato de forma secuencial o al menos en grades bloques. Los mtodos de ordenacin se pueden clasificar de acuerdo a sus requerimientos de memoria. Los mtodos in situ son aquellos que requieren ninguna o muy poca memoria extra. En el otro extremo, existen mtodos que requieren mucha memoria extra. Una caracterstica que puede ser importante es la estabilidad del mtodo de ordenacin. Un algoritmo de ordenacin es estable si elementos de dato con la misma clave conservan su orden relativo luego de su aplicacin. Tpicamente, los mtodos elementales son estables mientras que la mayora de los algoritmos sofisticados no lo son. Entre los mtodos de ordenacin elementales estn Seleccin e Insercin, los cuales son descritos a continuacin: Mtodo de Ordenacin por Seleccin El mtodo de ordenamiento por seleccin consiste en encontrar el menor de todos los elementos del arreglo e intercambiarlo con el que est en la primera posicin. Luego el segundo ms pequeo, y as sucesivamente hasta ordenar todo el arreglo.

Procedimiento Selection Sort Paso 1: [Para cada pos. del arreglo] For i