Está en la página 1de 6

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 signifca 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. eleccin
!. "urbujeo
Mtodos de Ordenamiento no Elementales:
1. #ell
2. $uic% ort
!. &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 0 (E1'2 34'
b. Entrada 'rden Inverso 0 )E'2 34'
c. Entrada /esordenada 0 34' 4+ 4542
Tipos de Algoritmo
4lgoritmo ensible6 (odifca su tiempo de ejecucin
segn el tipo de entrada.
4lgoritmo 7o ensible6 u tiempo de ejecucin es
independiente al tipo de entrada.
4lgoritmo Estable6 4quellos que teniendo clave
repetida, mantiene su posicin inicial igual a la fnal.
1
4lgoritmo 7o Estable6 4quello que no respetan la
posicin inicial igual que la fnal teniendo claves
repetidas
Mtodos Elementales:
1. ORDENAMIENTO POR SELECCIN
DESCRIPCIN.
"uscas el elemento m8s peque9o de la lista.
+o intercambias con el elemento ubicado en la primera
posicin de la lista.
"uscas el segundo elemento m8s peque9o de la lista.
+o intercambias con el elemento que ocupa la segunda
posicin en la lista.
2epites este proceso #asta que #a,as ordenado toda la
lista.
ANLISIS DEL ALGORITMO.
2equerimientos de (emoria6 4l igual que el ordenamiento
burbuja, este algoritmo slo necesita una variable
adicional para reali:ar los intercambios.
;iempo de Ejecucin6 El ciclo e.terno se ejecuta n veces
para una lista de n elementos. 3ada bsqueda requiere
comparar todos los elementos no clasifcados.
<entajas6
1. &8cil implementacin.
2. 7o requiere memoria adicional.
!. 2endimiento constante6 poca diferencia entre el peor
, el mejor caso.
/esventajas6
1. +ento.
2. 2eali:a numerosas comparaciones.
!. ORDENAMIENTO POR INSERCIN DIRECTA
DESCRIPCIN.
El algoritmo de ordenacin por el mtodo de insercin
directa es un algoritmo relativamente sencillo , se comporta
ra:onablemente bien en gran cantidad de situaciones.
2
3ompleta la tripleta de los algoritmos de ordenacin m8s
b8sicos , de orden de complejidad cuadr8tico, junto con
electionort , "ubbleort.
e 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 pr8cticos. 2eali:a 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 cosas6 un arra, o estructura similar de elementos
comparables , un criterio claro de comparacin, tal que dados
dos elementos nos diga si est8n en orden o no.
En cada iteracin del ciclo e.terno los elementos > a i
forman una lista ordenada.
ANLISIS DEL ALGORITMO.
Estabilidad6 Este algoritmo nunca intercambia registros con
claves iguales. )or lo tanto es estable.
2equerimientos de (emoria6 ?na variable adicional para
reali:ar los intercambios.
;iempo de Ejecucin6 )ara una lista de n elementos el ciclo
e.terno se ejecuta n1 veces. El ciclo interno se ejecuta
como m8.imo una ve: en la primera iteracin, 2 veces en
la segunda, ! veces en la tercera, etc.
<entajas6
1. &8cil implementacin.
2. 2equerimientos m=nimos de memoria.
/esventajas6
1. +ento.
2. 2eali:a numerosas comparaciones.
Este tambin es un algoritmo lento, pero puede ser de utilidad
para listas que est8n ordenadas o semiordenadas, porque en
ese caso reali:a mu, pocos despla:amientos.
". METODO DE LA #$R#$%A
DESCRIPCIN
+a idea b8sica del ordenamiento de la burbuja es recorrer
el conjunto de elementos en forma secuencial varias veces.
3ada paso compara un elemento del conjunto con su
3
sucesor *.@iA con .@iBiA-, e intercambia los dos elementos si no
est8n en el orden adecuado.
El algoritmo utili:a una bandera que cambia cuando se
reali:a 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 est8 ordenado.
Este algoritmo es de f8cil comprensin , programacin
pero es poco efciente puesto que e.isten nC1 pasos , nC
i comprobaciones en cada paso, aunque es mejor que el
algoritmo de ordenamiento por intercambio.
En el peor de los casos cuando los elementos est8n en el
orden inverso, el nmero m8.imo de recorridos es nC1 , el
nmero de intercambios o comparaciones est8 dado por *nC1- D
*nC1- 0 nE C 2n B 1.En el mejor de los casos cuando los
elementos est8n en su orden, el nmero de recorridos es
m=nimo 1 , el ciclo de comparaciones es nC1.
+a complejidad del algoritmo de la burbuja es '*n- en el
mejor de los casos , '*nE- en el peor de los casos, siendo su
complejidad total '*nE-.
Mtodos No Elementales:
&. ORDENAMIENTO POR EL M'TODO DE S(ELL
DESCRIPCIN
El mtodo #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 i:quierda del
mismo. i el elemento a insertar es m8s peque9o que el
grupo de elementos que se encuentran a su i:quierda, es
necesario efectuar entonces varias comparaciones antes de
su ubicacin.
#ell propone que las comparaciones entre elementos
se efecten con saltos de ma,or tama9o pero con
incrementos decrecientes, as=, los elementos quedar8n
ordenados en el arreglo m8s r8pidamente.
El #ell sort es una generali:acin del ordenamiento por
insercin, teniendo en cuenta dos observaciones6
1. El ordenamiento por insercin es efciente si la entrada
est8 Fcasi ordenadaF.
2. El ordenamiento por insercin es inefciente, en general,
porque mueve los valores slo una posicin cada ve:.
4
El algoritmo #ell sort mejora el ordenamiento por
insercin comparando elementos separados por un espacio
de varias posiciones. Esto permite que un elemento #aga
Fpasos m8s grandesF #acia su posicin esperada. +os pasos
mltiples sobre los datos se #acen con tama9os de espacio
cada ve: m8s peque9os. El ltimo paso del #ell sort es un
simple ordenamiento por insercin, pero para entonces, ,a
est8 garanti:ado que los datos del vector est8n casi
ordenados.
). ORDENAMIENTO *$IC+ SORT
DESCRIPCIN
El ordenamiento por particin *$uic% ort- se puede
defnir en una forma m8s 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 Fdivide ,
vencer8sF, o sea es m8s r8pido , f8cil ordenar dos arreglos o
listas de datos peque9os, que un arreglo o lista grande.
7ormalmente al inicio de la ordenacin se escoge un
elemento apro.imadamente en la mitad del arreglo, as= al
empe:ar a ordenar, se debe llegar a que el arreglo este
ordenado respecto al punto de divisin o la mitad del arreglo.
e podr8 garanti:ar que los elementos a la i:quierda 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
i:quierdo , al arreglo derec#o, que se obtienen de la primera
fase. El tama9o de esos arreglos en promedio se reduce a la
mitad.
4s= se contina #asta que el tama9o de los arreglos a
ordenar es 1, es decir, todos los elementos ,a est8n
ordenados.
En promedio para todos los elementos de entrada de
tama9o n, el mtodo #ace '*n log n- comparaciones, el cual
es relativamente efciente.
,. ORDENAMIENTO POR ME-CLA
DESCRIPCIN
5
(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 me:clar
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 me:clar dos
arreglos, donde n es la suma de los tama9os de los dos arreglos.
El algoritmo principal que divide el arreglo, reali:a '
*log2 n- particiones , como llama a la funcin que me:cla los
dos arreglos , que tiene una complejidad de '*n-, entonces la
complejidad total del algoritmo ser8 de '*n log2 n-.
COMPLE%IDAD
3ada algoritmo de ordenamiento por defnicin tiene
operaciones , c8lculos m=nimos , m8.imos que reali:a
*complejidad-, a continuacin una tabla que indica la cantidad
de c8lculos que corresponden a cada mtodo de ordenamiento6
Algoritmo Operacione m!"ima
#$r%$&a *nE-
Inerci'n *nEGH-
Selecci'n *nE-
S(ell *n logEn-
Merge *n logn-
)$ic* *nE- en peor de los casos , *n
logn- en el
promedio de los casos.
6

También podría gustarte