Sie sind auf Seite 1von 9

UNIVERSIDAD NACIONAL EXPERIMENTAL

FRANCISCO DE MIRANDA
MUNICIPALIZACIN TOCPERO
REA CIENCIAS DE LA EDUCACIN
PROGRAMA MATEMTICA MENCIN INFORMTICA
U.C: ESTRUCTURA DE DATOS

Estudiantes:

Profesor:

Gotopo, Saray

Licdo. Jhom Guerrero

Guerrero, Jos
Guerrero, Lorena
Romero, Yasmery
Tocpero; Julio 2015
Yasmeri Romero

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.

Ordenar.
Consiste en reagrupar o reorganizar un conjunto de datos u objetos en una
secuencia especifica, la cual puede ser de dos formas distintas:
Ascendente (menor a mayor)
Descendente (mayor a menor).

Clasificacin de los Mtodos de Ordenamiento.


Los mtodos de ordenacin se clasifican en dos categoras:

Ordenacin interna (de arreglos)


Ordenacin externa (de archivos).
La ordenacin interna o de arreglos, recibe este nombre ya que los elementos
o componentes del arreglo se encuentran en la memoria principal de la
computadora.
Los mtodos de ordenacin interna a su vez se clasifican en:
Mtodos directos (n2) y
Mtodos logartmicos (n * log n).
Los mtodos directos, son los ms simples y fciles de entender, son eficientes
cuando se trata de una cantidad de datos pequea. Los mtodos logartmicos, son

ms complejos, difciles de entender y son eficientes en grandes cantidades de


datos.
Los mtodos directos ms conocidos son:
Ordenacin por intercambio.
Ordenacin por insercin.
Ordenacin por seleccin.

Algoritmos de ordenamiento por intercambio.


El algoritmo de ordenacin por el mtodo de insercin directa es un
algoritmo relativamente sencillo y se comporta razonablemente bien en gran
cantidad de situaciones.
Completa la tripleta de los algoritmos de ordenacin ms bsicos y de
orden de complejidad cuadrtico, junto con SelectionSort y BubbleSort.
Se basa en intentar construir una lista ordenada en el interior del array a ordenar.
De estos tres algoritmos es el que mejor resultado da a efectos prcticos.
Realiza una cantidad de comparaciones bastante equilibrada con respecto a los
intercambios, y tiene un par de caractersticas que lo hacen aventajar a los otros
dos en la mayor parte de las situaciones.
Este algoritmo se basa en hacer comparaciones, as que para que realice
su trabajo de ordenacin son imprescindibles dos cosas: un array o estructura
similar de elementos comparables y un criterio claro de comparacin, tal que
dados dos elementos nos diga si estn en orden o no.
En cada iteracin del ciclo externo los elementos 0 a i forman una lista
ordenada.
Los algoritmos de ordenacin directa por intercambio que se analizaran son:

El mtodo de la burbuja.
El mtodo quicksort.
El mtodo shellsort.
Burbuja.
El mtodo de ordenacin por intercambio directo o mtodo de la burbuja, es
el ms simple y consiste en comparar dos elementos adyacentes para determinar
si se realiza un intercambio entre los mismos, esto en caso de que el primero sea
mayor que el segundo (forma ascendente) o el caso de que el primero sea menor
que el segundo (forma descendente).
El origen del nombre de este algoritmo proviene de la forma con la que
suben por la lista los elementos durante los intercambios, tal y como si fueran
"burbujas", el algoritmo fundamental de este mtodo es la simple comparacin de
elementos siendo as el ms fcil de implementar.
Se le denomina ordenacin por burbuja debido a que los valores mas
grandes burbujean a la parte superior de modo similar como suben las burbujas en
el agua.

Descripcin.
Para una lista de n elementos, requiere hasta n-1 pasadas.
Donde una pasada representa el recorrido total de la lista.
Por cada pasada se comparan elementos adyacentes de la lista y se
intercambian sus valores solo cuando el primer elemento es mayor que el
segundo.

Ejemplo Burbuja

BURBUJA SIMPLE
Como lo describimos en el item anterior, la burbuja mas simple de todas es
la que compara todos con todos, generando comparaciones extras, por ejemplo,
no tiene sentido que se compare con sigo mismo o que se compare con los
valores anteriores a el, ya que supuestamente, ya estn ordenados.
Por ejemplo, imaginemos que tenemos los siguientes valores:
56103
Lo que hara una burbuja simple, seria comenzar recorriendo los valores de
izq. A derecha, comenzando por el 5. Lo compara con el 6, con el 1, con el 0 y con
el 3, si

es mayor o menor (dependiendo si el orden es ascendiente o

descendiente) se intercambian de posicin. Luego continua con el siguiente, con el


6, y lo compara con todos los elementos de la lista, esperando ver si se cumple o
no la misma condicin que con el primer elemento. As, sucesivamente, hasta el
ultimo elemento de la lista.
for (i=1; i<LIMITE; i++)
for j=0 ; j<LIMITE - 1; j++)
if (vector[j] > vector[j+1])
temp = vector[j];
vector[j] = vector[j+1];
vector[j+1] = temp;

BURBUJA MEJORADA
Una nueva versin del mtodo de la burbuja seria limitando el nmero de
comparaciones, dijimos que era intil que se compare consigo misma. Si tenemos
una lista de 10.000 elementos, entonces son 10.000 comparaciones que estn
sobrando. Imaginemos si tenemos 1.000.000 de elementos. El mtodo seria
mucho mas optimo con n comparaciones menos (n = total de elementos)

BURBUJA OPTIMIZADA
Si al cambio anterior (el de la burbuja mejorada) le sumamos otro cambio, el
hecho que los elementos que estn detrs del que se esta comparando, ya estn
ordenados, las comparaciones serian aun menos y el mtodo seria aun mas
efectivo.

Anlisis del Algoritmo


Estabilidad: Este algoritmo nunca intercambia registros con claves iguales.
Por lo tanto es estable.
Requerimientos de Memoria: Una variable adicional para realizar los
intercambios.
Tiempo de Ejecucin: Para una lista de n elementos el ciclo externo se
ejecuta n1 veces. El ciclo interno se ejecuta como mximo una vez en la
primera iteracin, 2 veces en la segunda, 3 veces en la tercera, etc.

Procedimientos del mtodo de la burbuja


El primer procedimiento del mtodo de la burbuja es:
Generar un ciclo que inicie desde uno hasta el nmero de elementos del
arreglo.
Generar un segundo ciclo dentro del anterior que inicie desde cero hasta el
nmero de elementos del arreglo menos dos.
Dentro del segundo ciclo debe existir una comparacin que determina el
tipo de ordenamiento (ascendente o descendente) entre el primer elemento
(posicin generado por el segundo ciclo) y el segundo elemento (el que le
sigue), si la respuesta a la condicin es verdadera se realiza un intercambio
entre los dos elementos.
Para realizar el intercambio se genera un almacenamiento temporal, el cual
guarda el dato del primer elemento, el segundo elemento toma el lugar del
primero y en el lugar del segundo se coloca lo que contiene el
almacenamiento temporal.
Una vez que los ciclos terminan la estructura debe quedar ordenada de
forma ascendente o descendente, pero este procedimiento es considerado
como el pero de los casos ya que si el nmero de elementos de la
estructura es de 100, se tienen que realizar 9900 comparaciones entes de
terminar la ejecucin del mtodo.
Un segundo procedimiento del mtodo de la burbuja es:
Generar un ciclo que inicie desde cero hasta el nmero de elementos
menos dos.
Generar un segundo ciclo desde el valor del ciclo anterior mas uno hasta el
nmero de elementos menos uno;
Dentro del segundo ciclo debe existir una comparacin que determina el
tipo de ordenamiento (ascendente o descendente) entre el primer elemento
(posicin generada por el primer ciclo) y el segundo elemento (posicin

generada por el segundo ciclo), si la respuesta a la condicin es verdadera


se realiza un intercambio entre los dos elementos.
Para realizar el intercambio se genera un almacenamiento temporal, el cual
guarda el dato del primer elemento, el segundo elemento toma el lugar del
primero y en el lugar del segundo se coloca lo que contiene el
almacenamiento temporal.
Una vez que los ciclos terminan la estructura debe quedar ordenada, la
diferencia con el procedimiento anterior radica en el nmero de
comparaciones y posibles intercambios que se presentan, en este segundo
procedimiento, es menor ya que cada pasada que se le da al arreglo se
realiza una comparacin menos que en la pasada anterior.
Un tercer procedimiento del mtodo de la burbuja es el siguiente:
Generar un ciclo que inicie desde uno hasta el nmero de elementos menos
uno.
Generar un segundo ciclo que inicie desde el nmero de elementos menos
uno y mientras que ese valor sea mayor o igual al del ciclo anterior (con
decrementos).
Dentro del segundo ciclo debe existir una comparacin que determina el
tipo de ordenamiento (ascendente o descendente) entre el primer elemento
(posicin generada por el segundo ciclo) y el segundo elemento (posicin
generada por el segundo ciclo menos uno), si la respuesta a la condicin es
verdadera se realiza un intercambio entre los dos elementos.
Para realizar el intercambio se genera un almacenamiento temporal, el cual
guarda el dato del primer elemento, el segundo elemento toma el lugar del
primero y en el lugar del segundo se coloca lo que contiene el
almacenamiento temporal
Este tercer procedimiento es muy similar al anterior con la diferencia que el
elemento que va quedando es su lugar el primero no el ltimo como en el
caso anterior.

Ventajas del mtodo de ordenacin por burbuja:


Fcil implementacin.
Requerimientos mnimos de memoria.
Es bastante sencillo
En un cdigo reducido se realiza el ordenamiento
Eficaz
Desventajas del mtodo de ordenacin por burbuja:
Consume bastante tiempo de computadora
Requiere muchas lecturas/escrituras en memoria
Lento.
Realiza numerosas comparaciones.

Este tambin es un algoritmo lento, pero puede ser de utilidad para listas que
estn ordenadas o semiordenadas, porque en ese caso realiza muy pocos
desplazamientos.

Das könnte Ihnen auch gefallen