Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Grupo:1151
Ordenamiento burbuja
1
Ordenamiento burbuja
(Bubble Sort)
En informtica el bubble sort es un algoritmo de estructura sencilla, el
cual sirve para realizar una ordenacin en los vectores. 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
en 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 es muy deficiente ya que al ir comparando las casillas para
buscar el siguiente ms grande, ste vuelve a comparar las ya ordenadas. A
pesar de ser el algoritmo de ordenamiento ms deficiente que hay, ste es el
ms usado en todos los lenguajes de programacin.
El procedimiento de la burbuja
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.
Este procedimiento seguir as hasta que haya ordenado todas las
casillas del vector.
Una de las deficiencias del algoritmo es que ya cuando ha ordenado
parte del vector vuelve a compararlo cuando esto ya no es necesario.
Entonces: Dado un vector a1, a2, a3, ... an
1) Comparar a1 con a2 e intercambiarlos si a1>a2 (o a12)
2) Seguir hasta que todo se haya comparado an-1 con an
3) Repetir el proceso anterior n-1 veces
Algoritmos:
C
{
int temp, i, j;
2
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
}
}}
C++
{
C#
{
int t= x.Length, temp;
for(int i=1 ; i< t ; i++)
for(int j = t-1 ; j >= i; j--)
{
if(x[j] < x[j-1])
{
temp= x[j];
x[j]= x[j-1];
x[j-1]= temp;
}
3
}
return x;
}
Java
//Ordenamiento por Burbuja
// by ramses2999
publicstatic int[] OrdenarBurbuja(int[] n){
int temp;
int t = n.length;
for (int i = 1; i < t; i++) {
for (int k = t- 1; k >= i; k--) {
if(n[k] < n[k-1]){
temp = n[k];
n[k] = n[k-1];
n[k-1]= temp;
}//fin if
}// fin 2 for
}//fin 1 for
return n;
}//fin
Perl
sub bubblesort
{ for my $i ( 0 .. @_-2 ) {
for my $j ( $i+1 .. @_-1 ) {
@_[ $i, $j ] = @_[ $j, $i ] if $_[$i] > $_[$j];
}}
}
4
Visual Basic
Private Sub OrdenarBurbuja(ByRef VectorOriginal() As Integer)
Dim Temp, Longitud As Integer
Longitud = UBound(VectorOriginal) - 2
For b = 0 To Longitud
For a = 0 To Longitud
If VectorOriginal(a) > VectorOriginal(a + 1) Then
Temp = VectorOriginal(a + 1)
VectorOriginal(a + 1) = VectorOriginal(a)
VectorOriginal(a) = Temp
EndIf
Next
Next
End Sub
PHP
<?php
$n = count($numeros);
5
$numeros[$j-1] = $aux;
}
}
}
print_r($numeros);
Pascal
begin
6
Por lo que no se puede determinar una cota ajustada asinttica del
nmero de intercambios, dado que este depender del orden del vector en
cuestin.
7
recomendar su eliminacin de los planes de estudio. Sumado a esto, Jargon
File, un libro ampliamente citado en la cultura hacker, lo denomina "el mal
algoritmo genrico", y Donald Knuth, uno de los mayores expertos en ciencias
de la computacin, afirma que el ordenamiento de burbuja "no parece tener
nada para recomendar su uso, a excepcin de un nombre pegajoso y el hecho
de que conlleva a problemas tericos interesantes". El ordenamiento de
burbuja es asintticamente equivalente, en tiempos de ejecucin, con el
ordenamiento por insercin en el peor de los casos, pero ambos algoritmos
difieren principalmente en la cantidad de intercambios que son necesarios.
Resultados experimentales como los descubiertos por Astrachan han
demostrado que el ordenamiento por insercin funciona considerablemente
mejor incluso con listas aleatorias. Por esta razn, muchos libros de algoritmos
modernos evitan usar el ordenamiento de burbuja, reemplazndolo por el
ordenamiento por insercin. El ordenamiento de burbuja interacta vagamente
con el hardware de las CPU modernas. Requiere al menos el doble de escrituras
que el ordenamiento por insercin, el doble de prdidas de cache, y
asintticamente ms prediccin de saltos. Varios experimentos de
ordenamiento de cadenas en Java hechos por Astrachan muestran que el
ordenamiento de burbuja es 5 veces ms lento que el ordenamiento por
insercin, y 40% ms lento que el ordenamiento por seleccin.
http://www.estructuradedatos.galeon.com/burbujatext.htm
http://www.ecured.cu/index.php/Ordenamiento_de_burbuja
http://c.conclase.net/orden/?cap=burbuja
https://www.youtube.com/watch?v=L3d48etbseY