Вы находитесь на странице: 1из 3

METODOS DE ORDENAMIENTO

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. Existen
varios mtodos para ordenar las diferentes estructuras de datos bsicas.
En general los mtodos de ordenamiento no son utilizados con frecuencia, en algunos casos slo
una vez. Hay mtodos muy simples de implementar que son tiles en los casos en dnde el nmero
de elementos a ordenar no es muy grande (ej, menos de 500 elementos). Por otro lado, hay mtodos
sofisticados, ms difciles de implementar pero que son ms eficientes en cuestin de tiempo de
ejecucin.

Los mtodos sencillos por lo general requieren de aproximadamente n x n pasos para ordenar n
elementos.

Los mtodos simples son: insertion sort (o por insercin directa) selection sort, bubble sort, y
shellsort, en dnde el ltimo es una extensn al insertion sort, siendo ms rpido. Los mtodos ms
complejos son el quick-sort, el heap sort, radix y address-calculation sort. 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.

Se ha dicho que el ordenamiento puede efectuarse moviendo los registros con las claves. El mover
un registo completo implica un costo, el cual se incrementa conforme sea mayor el tamao del
registro. Es por ello que es deseable evitar al mximo el movimiento de los registros. Una alternativa
es el crear una tabla de referencias a los registros y mover las referencias y no los datos. A
continuacin, se mostrarn los mtodos de ordenamiento empezando por el ms sencillo y
avanzando hacia los ms sofisticados
La eficiencia de los algoritmos se mide por el nmero de comparaciones e intercambios que tienen
que hacer, es decir, se toma n como el nmero de elementos que tiene el arreglo a ordenar y se dice
que un algoritmo realiza O(n2) comparaciones cuando compara n veces los n elementos, n x n = n2.

ORDENAMIENTO DE BURBUJA

La Ordenacin de burbuja (Bubble Sort en ingls) es un sencillo algoritmo de ordenamiento.


Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente,
intercambindolos de posicin si estn en el orden equivocado. Es necesario revisar varias veces
toda la lista hasta que no se necesiten ms intercambios, lo cual significa que la lista est ordenada.
Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los
intercambios, como si fueran pequeas "burbujas". Tambin es conocido como el mtodo del
intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un
algoritmo de comparacin, siendo el ms sencillo de implementar.
burbuja
#include<stdio.h>
#include<conio.h>
int a[3]={3,2,1};
int i,j,aux,n=3;
void main(){
clrscr();
for(i=0;i<=n;i++){
for(j=0;j<n-1;j++){
if(a[j]>a[j+1]){
aux=a[j];
a[j]=a[j+1];
a[j+1]=aux;
}
}
}
for(i=0;i<3;i++)
{
printf("%d",a);
}
getch();
}

Ordenamiento de Burbuja

INTRODUCCIN (COMPLEJIDAD) El ordenamiento de burbuja es uno de los ms simples


algoritmos de ordenamiento, pero NO ES EL MS EFICIENTE.

FUNCIONAMIENTO: Este algoritmo coloca los elementos en orden creciente, sucesivamente


comparando los elementos adyacentes, intercambindose entre ellos si el orden est de forma
incorrecta. Para llevar a cabo el ordenamiento de burbuja, se lleva a cabo una operacin bsica,
cambiando el elemento ms grande, por el ms pequeo que lo sigue. Se pueden imaginar los
elementos en la lista, colocados en una columna

PSEUDOCDIGO (ALGORITMO)
procedure bubblesort(a1, , an : nmeros reales con n >= 2)
for i := 1 to n 1
for j := 1 to n i
if aj > aj+1 then intercambiar
a
j
and aj+1
{a1, , an est en orden creciente}
EJEMPLO

Los pasos de este algoritmo estn ilustrados en la figura de arriba. Empezando por comparar los dos
primeros elementos 3 y 2. Porque 3 > 2, intercambiando 3 y 2, produciendo la lista 2, 3, 4, 1, 5.
Porque 3 < 4, continua comparando 4 y 1. Porque 4 > 1, intercambiando 1 y 4, producindola lista 2,
3, 1, 4, 5. Porque 4 < 5, el primer paso est completo. El primer paso garantiza que el elemento ms
grande, 5, est en la correcta posicin.

El segundo paso empieza comparando2 y 3. Porque estos estn en correcto orden, 3 y 1 son
comparados. Porque 3 > 1, estos nmeros son intercambiados, produciendo 2, 1, 3, 4, 5. Porque 3 <
4, estos nmeros estn en orden correcto. No es necesario hacer ms comparaciones en este paso,
porque 5 est en la correcta posicin. El segundo paso garantiza que los dos elementos ms
grandes, 4 y 5, estn en la posicin correcta.

El tercer paso empieza comparando 2 y 1. Estos son intercambiados porque 2 > 1, produciendo 1, 2,
3, 4, 5. Porque 2 < 3, estos dos elementos estn en la posicin correcta. No es necesario hacer ms
comparaciones en este paso porque 4 y 5 estn ubicados en la posicin correcta. El tercer paso
garantiza que los tres elementos ms grandes 3, 4 y 5, estn en su posicin correcta.

El cuarto paso consiste de una comparacin entre 1 y 2. Porque 1 < 2 estos elementos estn en
orden correcto. As termina el ordenamiento de burbuja.