Está en la página 1de 2

ITSCS

Nombre: Xavier Pumasunta


Semestre: Tercero
Materia: Microsoft .Net

Algoritmos de ordenacin. Mtodo de la Burbuja


El algoritmo de la burbuja es uno de los mtodos de ordenacin ms conocidos y
uno de los primeros que aprenden los programadores.
Consiste en comparar pares de elementos adyacentes en un array y si estn
desordenanos intercambiarlos hasta que estn todos ordenados.
Si A es el array a ordenar, se realizan A.length-1 pasadas. Si la variable i es la que
cuenta el nmero de pasadas, en cada pasada i se comprueban los elementos
adyacentes desde el primero hasta A.length-i-1 ya que el resto hasta el final del
array estn ya ordenados. Si los elementos adyacentes estn desordenados se
intercambian.
public static void burbuja(int [] A){
int i, j, aux;
for(i=0;i<A.length-1;i++)
for(j=0;j<A.length-i-1;j++)
if(A[j+1]<A[j]){
aux=A[j+1];
A[j+1]=A[j];
A[j]=aux;
}
}
Ejemplo de ejecucin:

Ya estn ordenados, pero los dos bucles for seguirn ejecutndose hasta el final.
El tiempo de ejecucin del algoritmo de la burbuja es del orden O(n2)
Es uno de los peores algoritmos de ordenacin en cuanto a tiempo de

ITSCS
Nombre: Xavier Pumasunta
Semestre: Tercero
Materia: Microsoft .Net

ejecucin, solamente es recomendable su uso para ordenar listas con un nmero


pequeo de elementos.

Mtodo Randomico
mport java.util.Random;
public final class Ordenamientos {
int []numeros;
Ordenamientos(int n){
generarNumerosAleatorios(n);
}
public void generarNumerosAleatorios(int n){
Random sig = new Random();
int i;
numeros = new int[n];
for(i=0;i<n;++i){
numeros[i]= sig.nextInt();
}
}
public int[] getNumeros(){
return numeros;
}
public void copiar(int []origen, int[]destino){
int i;
for(i=0;i<origen.length;++i){
destino[i]=origen[i]; }

También podría gustarte