Tarean1 DINAMICAS
Tarean1 DINAMICAS
Tarean1 DINAMICAS
ESCUELA DE POSGRADO
TAREA Nª 01 - DINAMICAS
Algoritmos de ordenamiento
Ordenamiento de Burbuja. (Bubble Sort)
El método se basa en tomar un par de números, no cualquiera, sino que sean adyacentes y además,
se comienzan a analizar desde la posición 1.
Entonces al evaluar ese par, quizás haga falta modificar la posición de ambos, dependiendo quien de
ellos es mayor. Cuando se realiza el proceso de intercambios o no, se procede a realizar a realizar lo
mismo, con la diferencia en que se tomaría la posición 2y3 para realizar la misma operación, luego 3 y
4, así sucesivamente hasta no poder hacer más comparaciones, sin embargo al realizar una sola
pasada, no termina por ordenar el arreglo. Por tanto se realiza varias veces la operación, hasta que
este ordenado.
Básicamente el proceso, consta de eso, sin embargo se suelen realizar esta operación de una manera
más inteligente, de modo que no se hagan operaciones innecesarias.
{ if ( 1 OE)
{ 1 OE
2 OE
2 OE
2 OE
Int i,menor,k,j;
for (i=0;i<=N-2;I++)
{menor= A[i];
K=j;
For(j=i+1;j<=N-1;j++)
{if(A[j]<menor)
{ menor= A[j];
K=J;
A[k]= A[i];
A[i]=menor;
}
Solución:
1, 1 O1 , O1
1, 1, 1, 1 O1, O1, O1, O1
N O1
N O1
N O1
N*2 FOR O1
N*2 O1
N*2 O1
N*2 O1
1, 1 O1
0 1 2 3
20 8 15 77
int temp=0; 1 OE
2 for (int i =array1.Length -1 ; i >=0; i--) 4 OE
{
4 for (int j = 1; j <=i; j++) 4 OE
{
if (array1[j - 1] > array1[j]) { //leer + comparar + leer 3 OE
temp = array1[j - 1]; // asignar + leer 2 OE
array1[j - 1] = array1[j]; // leer + asignar + leer 3 OE
array1[j] = temp; // leer + asignar 2 OE
}
}
}
( )
n−1 n
T (n)=1 OE+1 OE +1OE ∑ 1OE +1 OE+ ∑ (3 OE +2 OE+ 3OE +2 OE+ 1OE +2 OE ) +1 OE+2 OE
i=0 j=1
0 1 2 3
20 8 15 77
if (a > b) - 1 OE (comparar)
j=3
if (array1[j - 1] > array1[j]) - 3 OE (lectura comparar lectura)