Está en la página 1de 11

BubbleSort

Daniel Hernández Fonseca


Cesar Diaz Medina
Diego Quintero Rey
¿Qué es bubble sort?


Es un algoritmo de ordenamiento simple, en otras
palabras, un código que me ordena los números de un
arreglo de menor a mayor o viceversa.

1 3 2 6 4 5

3
¿Cómo funciona?


Compara elementos adyacentes y los intercambia en caso
de no estar ordenados

1 3 2 6 4 5

3 < 2 Falso
¿Cómo funciona?


Si están ordenados, no hace nada.

1 2 3 6 4 5

3 < 6 Verdadero
¿Cómo funciona?


Al terminar de recorrer el arreglo se itera hasta que no
haya que hacer ningún cambio.

1 2 3 6 4 5

¿Están todos ordenados? Falso


Ejemplo en Java

import java.util.Scanner;
public class BubbleSort {
static int [] Ordenamiento( int [] arr){ public static void main(String[] args) {
for ( int i = 0 ; i < arr.length ; i++ ){ int [] arr = new int[10] ;
Boolean change = false; Scanner sc = new Scanner ( System.in ) ;
for ( int d = 1 ; d < arr.length ; d++ ){ for ( int i = 0 ; i < 10 ; i++ ){
if ( arr [ d - 1 ] > arr [ d ] ){ int x = sc.nextInt();
change = true ; arr [ i ] = x ;
int aux = arr [ d - 1 ] ; }
arr [ d - 1 ] = arr [ d ]; arr = Ordenamiento ( arr ) ;
arr [ d ] = aux ; for ( int i = 0 ; i < 10 ; i++ ){
} System.out.print(arr [ i ] + " ");
} }
if ( !change ){ System.out.println ( ) ;
return arr; }
} }
}
return arr;
}
Opiniones


Fácil de programar


No muy eficiente
Quick Sort


Es un algoritmo del tipo “divide y vencerás”. Selecciona un
pivote y reparte el arreglo alrededor de dicho pivote.

Existen varias variantes de este algoritmo dependiendo de
cuál sea el pivote que se escoja:
– El primer número del arreglo.
– El último número del arreglo.
– Un número al azar del arreglo.
– El número ubicado en el medio del arreglo.
¿Cómo funciona?

El proceso clave de QuickSort es el método repartir(), el cual toma como
parámetros el arreglo y el pivote.

A medida que se recorre el arreglo y usando comparaciones, ubica los
números menores al pivote a la izquierda y los números mayores que él
a la derecha.

Al final, el pivote queda en la posición correcta y no se necesita reubicar
más.

El siguiente paso es repetir este proceso con los números del arreglo
ubicados a la izquierda del pivote y hacer los mismo con los números
ubicados a su derecha.

Esto se hace de manera recursiva utilizando dos llamados a la función
QuickSort: una para la parte izquierda y otra para la parte derecha.

¿Cómo funciona?

Un video muy útil:

https://www.youtube.com/watch?v=ywWBy6J5gz8&t=319s
Bibliografía


https://www.youtube.com/user/AlgoRythmics


https://www.geeksforgeeks.org

También podría gustarte