Está en la página 1de 3

2.

Investigue acerca del algoritmo de ordenamiento en burbuja y:

a. Reproduzca un ejemplo (eso significa que usted debe seleccionar un conjunto de números
desordenado y mostrar paso a paso cuál es el efecto de aplicar el algoritmo de burbuja sobre él).

El procedimiento de burbuja realiza una organización de los números desde la posición 1 y número
tras número hasta encontrar el dato mayor.

A = [4,2,3,1]

-- Iteraciones
A = [2,4,3,1]
A = [2,3,4,1]
A = [2,3,1,4]

A = [2,3,1,4]
A = [2,1,3,4]
A = [2,1,3,4]

A = [1,2,3,4]
A = [1,2,3,4]
A = [1,2,3,4]

A = [1,2,3,4]
A = [1,2,3,4]
A = [1,2,3,4]

N*N = N^2

T(Burbuja) = O(N^2)

b. Responda ¿En qué consistiría el peor caso y por qué implica una complejidad algorítmica de
O(n2)?

Es un algoritmo que en peor de los casos es que el arreglo este totalmente desordenado lo cual
aumentaría la cantidad de iteraciones se tardarían N2 he implica una complejidad algorítmica de
O(n2) por la cantidad de cálculos que debe aplicar, se tarda n*n porque tiene dos ciclos dado que
tiene un while dentro de un while para realizar el recorrido de todo el arreglo.
c. Implemente en Java una función que ordene un arreglo de números enteros usando el
algoritmo de burbuja.

Código

public class Main

public static void main (String[] args)

int []arreglo = {5,3,4,2};

ordenador o = new ordenador();

o.ordenamientoburbuja(arreglo);

for( int i=0;i<arreglo.length;i++)

System.out.println(arreglo[i]);

public class ordenador {

public void ordenamientoburbuja (int [] array )

int aux;

boolean cambios=false;

while(true)
{

cambios=false;

for(int i=1;i<array.length;i++)

if(array[i]<array[i-1])

aux = array[i];

array[i]=array[i-1];

array[i-1]=aux;

cambios=true;

if (cambios==false)

break;

También podría gustarte