11
Ordenamiento de Burbuja BUBBLE SORT EQUIPO 6: DAG, GAG, DG. AC, Dra. Elisa Schaeffer

Bubble sort algcomp

  • Upload
    gaby

  • View
    7.730

  • Download
    4

Embed Size (px)

DESCRIPTION

descripcion sobre como ordenar numeros mediante el metodo de la burbuja.UANL-FIME-IAS

Citation preview

Page 1: Bubble sort algcomp

Ordenamiento de Burbuja

BUBBLE SORT

EQUIPO 6: DAG, GAG, DG. AC, Dra. Elisa Schaeffer

Page 2: Bubble sort algcomp

INTRODUCCIONALGORITMO DE ORDENAMIENTO

Ordenamiento de listas de números en un orden específico

B U B B L E

S O R T

‘Clasificar’ o ‘sorting’

Quick sort Selection sort

Mergesort

(Método de Intercambio Directo)

Page 3: Bubble sort algcomp

BUBBLE SORT

Revisa cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado.

Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo.

[Funcionamiento]

Page 4: Bubble sort algcomp

Ordenamiento ascendente y descendente

9

28

12

5

33

2

52

52

33

28

12

9

5

2

2

5

9

12

28

33

52

Num[0]

Num[1]

Num[2]

Num[3]

Num[4]

Num[5]

Num[6]

Num[6]

Num[5]

Num[4]

Num[3]

Num[2]

Num[1]

Num[0]

Num[6]

Num[5]

Num[4]

Num[3]

Num[2]

Num[1]

Num[0]

Num (ordenado) Num (ordenado)

Num (desordenado)

Ord

en

asc

en

den

te

Ord

en

d

esc

en

den

te

Page 5: Bubble sort algcomp

4

8

7

10

5

Vector sin ordenar

Vector deinicio

Primera ite

ración

4

8

7

10

5

4

8

7

10

5

4

10

8

7

5

EJEMPLO…

Vector de fin de iteración

Page 6: Bubble sort algcomp

10

4

8

7

5

Vector de inicio

Vector deinicio

Segund

a iteració

n

10

4

8

7

5

10

8

7

4

5

10

8

7

4

5

EJEMPLO…

Vector de fin de iteración

Tercera

iteració

n

Cuarta

iteració

n

El vector ha quedado ordenado en 6

intercambios entre sus elementos (swap) y 4

iteraciones.

Page 7: Bubble sort algcomp

DIAGRAMA DE

FLUJO

Page 8: Bubble sort algcomp

#include<stdio.h>//programa para ordenar un vector de 20 elementos

#include<conio.h>

//......................COMPILADO EN TURBO C................

void main (){

int vectorx[20]={1,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2};

int mayor, menor;

int i, cambio;

printf("\n\nPrograma que da el vector ordenado en forma ascendente")

//PROCESO DE ORDENACION//

mayor=vectorx[0];

cambio=0;

for(i=1; i<=19; i++)

{ if(vectorx[i-1]>vectorx[i])

{cambio=1; //marcamos que hubo un cambio

menor=vectorx[i];

mayor=vectorx[i-1];

vectorx[i-1]=menor;

vectorx[i]=mayor;

//verificamos si debemos continuar en el for o salir para una nueva iteracion

if((cambio==0)&&(i==0))

break; //si ya llegamos a 19 y no hay cambio ya esta ordenado

else{

cambio=0; //inicializamos una nueva iteracion

mayor=vectorx[0];

i=1;

}

}//llave del primer if

}//llave del for

//¤¤¤¤¤¤¤¤¤¤¤¤SALIDA DEL VECTOR ORDENADO¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

for(i=0;i<=19;i++)

{printf("\n\nPosicion %d, es el Numero %d", i,vectorx[i]);}

getch();

clrscr();

}//fin de main

Clasificación de 20 elementos por el

método de la burbuja

Page 9: Bubble sort algcomp

EJEMPLO EJECUTADO

Page 10: Bubble sort algcomp

ANÁLISIS ASINTÓTICO

El ordenamiento de burbuja tiene una complejidad Ω(n²). Cuando una lista ya está ordenada, el método de ordenación por burbuja está forzado a pasar por toda la lista y hacer comparaciones, lo que hace que su complejidad sea cuadrática en el mejor de los casos, esto lo cataloga como el algoritmo mas ineficiente que existe aunque funciona bien cuando son pocos elementos.

Page 11: Bubble sort algcomp

BIBLIOGRAFIA http://es.wikipedia.org/wiki/Ordenamiento_de_burbuja PERRY, GREG c con ejemplos 1° edicion PRENTICE HALL

PEARSON EDUCACION Buenos Aires, 2000 SHANG,TONY Aprendiendo c en 24 horas PEARSON

EDUCACION, Mexico, 2001 AGUILAR, JOYANES IGNASIO ZAHONERO MARTINEZ

Programacion en c, MC GRAW-HILL Madrid, 2001 SCHILDT, HERBERT Manual de referencia C, cuarta edicion

OSBORNE, MC GRAW-HILL, Madrid, 2001 CEBALLOS, FRANCISCO JAVIER, Enciclopedia del lenguaje

C, ALFAOMEGA, Madrid, 1997 CAIRO, OSWALDO, Fundamentos de programacion, Piensa

en C, PEARSON-PRENTICE HILL, Mexico, 2006