Está en la página 1de 3

EJERCICIOS DE COMPLEJIDAD

01. Para los siguientes fragmentos de código algunos en Java, halle su complejidad BIG O:

a) int function1( int n) {


int i, j, k;
int x = 0;
for ( i =1; i <= n; i=i+1). // k <= n
for ( j =1; j <= n; j++)
for (k = 1; k <= n; k++) {
x = x + 1;
System.out.print( x);
}
return x;

b) int function2(int n) {
int x = 0
if (n % 2 == 0)
for (int i=1; i<n+1; i++) {
x = x + 1;
System.out.print(x);
}
return x;
}

c) int function3 (int n) {


int i = 1;
int x = 0;
while ( i <= n) {
x = x + 1;
System.out.print (x);
i = i + 2;
}
return x;
}

d) int function4 (int n) {


int x = 1;
int cont = 0;
while ( x < n ) {
x = 2 * x;
cont++;
System.out.print(cont);
}
return x;
}

e) int function5( int n) {


int sum=0;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++) {
int k=0;
sum = sum + n;
}
return suma;
}

f) int function6( int n) {


int sum=0;
for(int i=0; i<n; i++)
for(int j=0; j< i; j++) {
int k=0;
sum = sum + n;
}
return suma;
}

g) int function7( int n) {


int sum=0;
for(int i=0; i<n; i*=2)
for(int j=0; j<n; j++) {
int k=0;
sum = sum + n;
}
return suma;
}

h) int function8( int n) {


int sum=0;
for(int i=0; i<n/2 ; i*=2)
for(int j=0; j<n; j*=3) {
int k=0;
sum = sum + n;
}
return suma;
}

i) int function9( int n) {


int sum=0;
for(int i=0; i<n; i++)
for(int j=0; j< i; j*=2) {
int k=0;
sum = sum + n;
}
return suma;
}

02. Para los siguientes fragmentos de código algunos en Java, halle su complejidad BIG O
verificando la función T(n) de espacio:

j) int factorial1(int n) {
int fact=1;
for( int I=1; i<=n; i++) {
fact = fact*i;
}
return fact;
}

k) int factorial2(int n) {
if (n==1)
return n;
else
return n * factorial2(n-1);
}

l) int fibonacci1(int n) {
int a=0;
int b=1;
for(int i=2; i<=n; i++) {
int temp=a;
a=b;
b=temp+b;
}
return b;
}

m) int fibonacci2(int n) {
if (n==0 || n==1)
return n;
else
return fibonacci2(n-1) + fibonacci2(n-2);
}

n) int potencia1(int b, int e) {


int res=1;
for (int i=1; i<=e; i++) {
res = res * b;
}
return res;
}

o) int potencia2(int b, int e) {


if (e==0)
return 1;
if (e==1)
return b;
else {
int potMed;
if (e%2==0)
potMed = potencia2(b, e/2);
else
potMed = potencia2(b, e/2) * b;
return potMed*potMed;
}
}

También podría gustarte