Sunteți pe pagina 1din 5

Mtodos de Ordenamiento

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. 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. Mtodos de Ordenamiento Elementales: 1. Insercin 2. Seleccin . !urbujeo Mtodos de Ordenamiento no Elementales: 1. S"ell 2. #uic$ Sort . %usin
Tipos de Ordenamiento:

&rdenamiento Interno &rdenamiento de datos en 'emoria (rincipal. )*a lectura + grabacin se "acen en registros, &rdenamiento E-terno &rdenamiento de datos en .isco.
Tipos de Entrada de Datos:

a. Entrada &rdenada / 'E0&1 23S& b. Entrada &rden Inverso / (E&1 23S& c. Entrada .esordenada / 23S& 3* 3431
Tipos de Algoritmo

3lgoritmo Sensible5 'odifica su tiempo de ejecucin segn el tipo de entrada. 3lgoritmo 6o Sensible5 Su tiempo de ejecucin es independiente al tipo de entrada. 3lgoritmo Estable5 3quellos que teniendo clave repetida, mantiene su posicin inicial igual a la final. 3lgoritmo 6o Estable5 3quello que no respetan la posicin inicial igual que la final teniendo claves repetidas

Mtodos Elementales: 1. ORDENAMIENTO POR SELECCI N DESCRIPCIN.


!uscas el elemento m7s peque8o de la lista. *o intercambias con el elemento ubicado en la primera posicin de la

lista. !uscas el segundo elemento m7s peque8o de la lista. *o intercambias con el elemento que ocupa la segunda posicin en la lista. 1epites este proceso "asta que "a+as ordenado toda la lista. ANLISIS DEL ALGORITMO. 1equerimientos de 'emoria5 3l igual que el ordenamiento burbuja, este algoritmo slo necesita una variable adicional para reali9ar los intercambios. :iempo de Ejecucin5 El ciclo e-terno se ejecuta n veces para una lista de n elementos. 2ada bsqueda requiere comparar todos los elementos no clasificados. ;entajas5
1. %7cil implementacin. 2. 6o requiere memoria adicional. . 1endimiento constante5 poca diferencia entre el peor + el mejor

caso. .esventajas5 1. *ento. 2. 1eali9a numerosas comparaciones. !. ORDENAMIENTO POR INSERCI N DIRECTA DESCRIPCIN. El algoritmo de ordenacin por el mtodo de insercin directa es un algoritmo relativamente sencillo + se comporta ra9onablemente bien en gran cantidad de situaciones. 2ompleta la tripleta de los algoritmos de ordenacin m7s b7sicos + de orden de complejidad cuadr7tico, junto con SelectionSort + !ubbleSort. Se basa en intentar construir una lista ordenada en el interior del arra+ a ordenar. .e estos tres algoritmos es el que mejor resultado da a efectos pr7cticos. 1eali9a una cantidad de comparaciones bastante equilibrada con respecto a los intercambios, + tiene un par de caracter<sticas que lo "acen aventajar a los otros dos en la ma+or parte de las situaciones. Este algoritmo se basa en "acer comparaciones, as< que para que realice su trabajo de ordenacin son imprescindibles dos cosas5 un arra+ o estructura

similar de elementos comparables + un criterio claro de comparacin, tal que dados dos elementos nos diga si est7n en orden o no. En cada iteracin del ciclo e-terno los elementos = a i forman una lista ordenada. ANLISIS DEL ALGORITMO. Estabilidad5 Este algoritmo nunca intercambia registros con claves iguales. (or lo tanto es estable. 1equerimientos de 'emoria5 >na variable adicional para reali9ar los intercambios. :iempo de Ejecucin5 (ara una lista de n elementos el ciclo e-terno se ejecuta n1 veces. El ciclo interno se ejecuta como m7-imo una ve9 en la primera iteracin, 2 veces en la segunda, veces en la tercera, etc. ;entajas5 1. %7cil implementacin. 2. 1equerimientos m<nimos de memoria. .esventajas5 1. *ento. 2. 1eali9a numerosas comparaciones. Este tambin es un algoritmo lento, pero puede ser de utilidad para listas que est7n ordenadas o semiordenadas, porque en ese caso reali9a mu+ pocos despla9amientos. ". METODO DE LA #$R#$%A

DESCRIPCIN *a idea b7sica del ordenamiento de la burbuja es recorrer el conjunto de elementos en forma secuencial varias veces. 2ada paso compara un elemento del conjunto con su sucesor )-?i@ con -?iAi@,, e intercambia los dos elementos si no est7n en el orden adecuado. El algoritmo utili9a una bandera que cambia cuando se reali9a algn intercambio de valores, + permanece intacta cuando no se intercambia ningn valor, pudiendo as< detener el ciclo + terminar el proceso de ordenamiento cuando no se realicen intercambios, lo que indica que este +a est7 ordenado. Este algoritmo es de f7cil comprensin + programacin pero es poco eficiente puesto que e-isten nB1 pasos + nBi comprobaciones en cada paso, aunque es mejor que el algoritmo de ordenamiento por intercambio. En el peor de los casos cuando los elementos est7n en el orden inverso, el nmero m7-imo de recorridos es nB1 + el nmero de intercambios o comparaciones est7 dado por )nB1, C )nB1, / nD B 2n A 1.En el mejor de los casos cuando los elementos est7n en su orden, el nmero de recorridos es m<nimo 1 + el ciclo de comparaciones es nB1.

*a complejidad del algoritmo de la burbuja es &)n, en el mejor de los casos + &)nD, en el peor de los casos, siendo su complejidad total &)nD,. Mtodos No Elementales: &. ORDENAMIENTO POR EL M'TODO DE S(ELL

DESCRIPCIN El mtodo S"ell es una versin mejorada del mtodo de insercin directa. Este mtodo tambin se conoce con el nombre de insercin con incrementos crecientes. 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 i9quierda del mismo. Si el elemento a insertar es m7s peque8o que el grupo de elementos que se encuentran a su i9quierda, es necesario efectuar entonces varias comparaciones antes de su ubicacin. S"ell propone que las comparaciones entre elementos se efecten con saltos de ma+or tama8o pero con incrementos decrecientes, as<, los elementos quedar7n ordenados en el arreglo m7s r7pidamente. El S"ell sort es una generali9acin del ordenamiento por insercin, teniendo en cuenta dos observaciones5 1. El ordenamiento por insercin es eficiente si la entrada est7 Ecasi ordenadaE. 2. El ordenamiento por insercin es ineficiente, en general, porque mueve los valores slo una posicin cada ve9. El algoritmo S"ell sort mejora el ordenamiento por insercin comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento "aga Epasos m7s grandesE "acia su posicin esperada. *os pasos mltiples sobre los datos se "acen con tama8os de espacio cada ve9 m7s peque8os. El ltimo paso del S"ell sort es un simple ordenamiento por insercin, pero para entonces, +a est7 garanti9ado que los datos del vector est7n casi ordenados. ). ORDENAMIENTO *$IC+ SORT

DESCRIPCIN El ordenamiento por particin )#uic$ Sort, se puede definir en una forma m7s conveniente como un procedimiento recursivo. :iene aparentemente la propiedad de trabajar mejor para elementos de entrada desordenados completamente, que para elementos semiordenados. Esta situacin es precisamente la opuesta al ordenamiento de burbuja. Este tipo de algoritmos se basa en la tcnica Edivide + vencer7sE, o sea es m7s r7pido + f7cil ordenar dos arreglos o listas de datos peque8os, que un arreglo o lista grande. 6ormalmente al inicio de la ordenacin se escoge un elemento apro-imadamente en la mitad del arreglo, as< al empe9ar a ordenar, se debe

llegar a que el arreglo este ordenado respecto al punto de divisin o la mitad del arreglo. Se podr7 garanti9ar que los elementos a la i9quierda de la mitad son los menores + los elementos a la derec"a son los ma+ores. *os siguientes pasos son llamados recursivos con el propsito de efectuar la ordenacin por particin al arreglo i9quierdo + al arreglo derec"o, que se obtienen de la primera fase. El tama8o de esos arreglos en promedio se reduce a la mitad. 3s< se contina "asta que el tama8o de los arreglos a ordenar es 1, es decir, todos los elementos +a est7n ordenados. En promedio para todos los elementos de entrada de tama8o n, el mtodo "ace &)n log n, comparaciones, el cual es relativamente eficiente. ,. ORDENAMIENTO POR ME-CLA

DESCRIPCIN 'ediante el enfoque de .ividir + conquistar, este algoritmo divide el arreglo inicial en dos arreglos donde cada uno contiene la mitad de los datos )partes iguales mas o menos uno,, + se ordenan mediante sucesivos llamados recursivos para luego fusionar los resultados en el arreglo inicial. Este algoritmo se basa en una funcin que permite me9clar dos vectores ordenados, produciendo como resultado un tercer vector ordenado que contiene los elementos de los dos vectores iniciales, el cual tiene una complejidad de &)n, para me9clar dos arreglos, donde n es la suma de los tama8os de los dos arreglos. El algoritmo principal que divide el arreglo, reali9a & )log2 n, particiones + como llama a la funcin que me9cla los dos arreglos + que tiene una complejidad de &)n,, entonces la complejidad total del algoritmo ser7 de &)n log2 n,. COMPLE%IDAD 2ada algoritmo de ordenamiento por definicin tiene operaciones + c7lculos m<nimos + m7-imos que reali9a )complejidad,, a continuacin una tabla que indica la cantidad de c7lculos que corresponden a cada mtodo de ordenamiento5 Algoritmo "#r$#%a Inserci&n Selecci&n S'ell Merge (#ic) Operaciones m !imas G )nD, G )nDHF, G )nD, G )n logDn, G )n logn, G )nD, en peor de los casos + G)n logn, en el promedio de los casos.

S-ar putea să vă placă și