Está en la página 1de 2

PROGRAMACION II INF – 121

Lic. Marcelo Aruquipa


2023

COMPLEJIDAD ALGORITMICA

De los siguientes fragmentos de código obtener la frecuencia de ejecución, Tiempo de


Ejecución y la Orden de complejidad algorítmica de los siguientes algoritmos:

1.
Nro Línea CODIGO FRECUENCIA
1 double suma(double a, double b, double c){
2 return a + b + c; 1
}
T(n)= 1
O(n)= O(1) orden de complejidad constante

2.
Nro Línea CODIGO FRECUENCIA
1 for (int i = 1; i < n; i++) {
2 int pos = i;
3 for (int j = i+1; j <= n; j++) {
4 if(v[pos] > v[j])
5 pos = j;
}
6 temp = v[i];
7 v[i] = v[pos];
8 v[pos] = temp;
}
T(n)
O(n)

3.
Nro Linea CODIGO FRECUENCIA
1 int k = 0;
2 for (int i = 1; i <= n; i++) {
3 for (int j = 1; j <= n*n; j++) {
4 for (int p = 1; p <= n*n*n; p++) {
k++;
5
}
}
}
T(n)
O(n)
4.
Nro Línea CODIGO FRECUENCIA
1 int miAlgoritmo(int a[], int n, int c) {
2 int in = 1;
3 int su = n;
4 while(su > in){
int i = (in + su)/2;
5
if(a[i] == c)
6 return i;
7 else if(c < a[i])
8 su = i-1;
9 else
10 in = i+1;
11 }
return 0;
}
T(n)
O(n)

5.
Nro Línea CODIGO FRECUENCIA
1 ve[1] = 0;
2 if(M[1,2] == 0)
3 ve[2] = 0;
4 else
5 ve[1] = 1;
6 for (int i = 3; i <= n; i++) {
7 if(M[1,i] == 0)
8 ve[i] = 0;
9 else
10 ve[i] = 2;
11 for (int j = 2; j <= i-1; j++) {
12 if(ve[i] == ve[j] && M[i,j] == 1)
13 return 0;
}
}
14 for (int i = 1; i <= n; i++) {
15 print(ve[i]);
}
T(n)
O(n)

También podría gustarte