El Metodo de la Brbuja
El Metodo de la Brbuja
Este mtodo consiste en acomodar el vector moviendo el mayor hasta la ltima casilla comenzando desde la casilla cero del vector hasta haber acomodado el nmero ms grande el la ltima posicin, una vez acomodado el ms grande, prosigue a encontrar y acomodar el siguiente ms grande comparando de nuevo los nmeros desde el inicio del vector, y as sigue hasta ordenar todo los elementos el arreglo. Este algoritmo para buscar el ordenadas. A deficiente que programacin. es muy deficiente ya que al ir comparando las casillas siguiente ms grande, ste vuelve a comparar las ya pesar de ser el algoritmo de ordenamiento ms hay, ste es el ms usado en todos los lenguajes de
Entonces: Dado un vector a1, a2, a3, ... An 1) Comparar a1 con a2 e intercambiarlos si a1>a2 (o a1<A2) 2) Seguir hasta que todo se haya comparado an-1 con an 3) Repetir el proceso anterior n-1 veces
for(i=0; i < n-1; i++) { for(j=0; j < n-1; j++) { if(vec[j] > vec[j+1]) { aux=vec[j]; vec[j]=vec[j+1]; vec[j+1]=aux; } } }
El Metodo de la Brbuja
El procedimiento de la burbuja es el siguiente: 9 Ir comparando desde la casilla 0 numero tras nmero hasta encontrar uno mayor, si este es realmente el mayor de todo el vector se llevar hasta la ltima casilla, si no es as, ser reemplazado por uno mayor que l. 9 Este procedimiento seguir as hasta que halla ordenado todas las casillas del vector. 9 Una de las deficiencias del algoritmo es que ya cuando a ordenado parte del vector vuelve a compararlo cuando esto ya no es necesario.
La primera mejora al algoritmo consiste en: La primera "pasada" a lo largo del vector deja el nmero mayor en el extremo derecho. La segunda pasada deja los dos nmeros mayores ordenados en el extremo derecho, y as hasta quedar el vector ordenado ascendentemente. A comparacin con el mtodo de la burbuja que compara parte del vector cuando ya esta ordenado, este no lo hace ya que ahora tiene el lmite para no llegar a comparar a donde ya ordeno.
for (i=0; i < n-1; j++) { for (j=0; j < (n-1)-i; j++) { if (a(j) > a(j+1) ) { aux = a(j); a(j) = a(j+1); a(j+1) = aux; } } }
Variables i 0 j 0 1 2 3 4 5 6 7 1 0 1 2 3 4 5 6 44 44 44 55 55 55
12 42 55 18 6 67
cambio cambio
44 12
12 44
42 42
55 55
18 18
6 6
67 67
94 94
cambio cambio
2 12
42 42
44 44
55 18
18 55
6 6
67 67
94 94
www.youtube.com/watch?v=lyZQPjUT5B4