Tarean1 DINAMICAS

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

UNIVERSIDAD NACIONAL DE SAN MARTÌN - TARAPOTO

ESCUELA DE POSGRADO

MAESTRÌA EN CIENCIAS CON MENCIÒN EN


“TECNOLOGÌA DE LA INFORMACIÒN”

TAREA Nª 01 - DINAMICAS

GRUPO N.º 04:


 Karina Vanessa Correa Olivares
 Efren Escobedo Becerra
 Jhon Henry Herrera Panduro
 Caleb Ríos Vargas
 Juan Luis T. Soplin Escalante (Delegado)
Introducción

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.

void Burbujeo( int A[], int n)


{
int i,j;
for( i=0; i < n-1; i++ )
for( j=n-1; j > i; j--)
if(A[j] < A[j-1] )
Intercambia(&A[j], &A[j-1] );
1) Realizar la representación de operaciones elementales para los siguientes algoritmos de ordenamiento
“burbuja” y selección:
Solución:

void bubblesort (1 OE, 1 OE)

{1 OE, 1 OE, 1 OE;

For (1 OE, 1 OE, 2 OE)

{ for 1 OE; 1 OE; 2 OE)

{ if ( 1 OE)

{ 1 OE

2 OE

2 OE

2 OE

2) Usando la notación Big O proceda a determinar la complejidad del siguiente método:

void selección(int A[].int N)

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)

if (a > b && b>c ) - 3 OE (comparar AND comparar)

j=3
if (array1[j - 1] > array1[j]) - 3 OE (lectura comparar lectura)

También podría gustarte