Actividad 1.5.2 Analizando fragmentos de código (Reglas practicas)

Competencia a desarrollar:  Aplicar los conocimientos de análisis de algoritmos para identificar la funcion T(n) de diferentes fragmentos de código. 

Instrucciones:

  1. Leer y comprender las reglas practicas de análisis de algoritmos que se abordan en el archivo adjunto.
  2. En base a esas reglas practicas analizar los siguientes fragmentos de código y contestar lo que se pregunta en un archivo pdf.
  3. Elaborar un programa en java que incluya los 10 métodos  a analizar y demuestre el uso de cada uno de ellos para reafirmar su comportamiento y tiempo de ejecución en base a cualquier tamaño de n.
  4. Subir a la plataforma el documento PDF de las respuestas y la carpeta del proyecto en java como evidencia.
Fragmentos de Código a analizar:

Teniendo en cuenta que la variable n representa el número de datos a procesar, analice los siguientes códigos y escriba:

a)      el valor que devuelven cada función para n=10

b)      La respectiva función T(n) que describa el tiempo del algoritmo

c)       La O-grande correspondiente al algoritmo

1.-  public static int ejemplo1(int n){

                   int cuenta=0;

                   for (int i=0;i<5;i++)

                            cuenta++;

                   return cuenta;

         }

2.- public static int ejemplo2(int n){

                   int cuenta=0;

                   for (int i=0;i<n;i++)

                            cuenta++;

                   return cuenta;

         }

3.- public static int ejemplo3(int n){

                   int cuenta=0;

                   for (int i=0;i<n;i++)

                            for (int j=0;j<n;j++)

                                      cuenta++;

                   return cuenta;

         }

4.- public static int ejemplo4(int n){

                   int cuenta=0;

                   for (int i=0;i<n;i++)

                            for (int j=0;j<i;j++)

                                      cuenta++;

                   return cuenta;

         }

5.- public static int ejemplo5(int n){

                   int cuenta=0;

                   for (int i=0;i<n;i+=2)

                                      cuenta++;

                   return cuenta;

         }

 

 

 

6.- public static int ejemplo6(int n){

                   int cuenta= 0,i=1;

                   while (i <=n)

                   { cuenta++;

                   i= 2*i; }

                   return cuenta;

         }

7.- public static int ejemplo7(int n){

                   int cuenta=0,i=n;

                   while (i >0)

                   { cuenta++;

                   i= i/2; }

                   return cuenta;

         }

8.- public static int ejemplo8(int n){

                   int cuenta=0;int k;

                   for (int i=0;i<n;i++){

                            k=i;

                            while (k >0)

                            { cuenta++;

                            k= k/2;

                            }

                   }

                   return cuenta;

         }

9.- public static int ejemplo9(int n){

                   int cuenta=0;

                   for (int i=0;i<n;i++)

                            for (int j=0;j<n;j++)

                                      for (int k=0;k<n;k++)

                                               cuenta++;

                   return cuenta;

         }

10.- public static int ejemplo10(int n){

                   int cuenta=0;

                   for (int i=n;i>0;i--)

                            cuenta++;

                   return cuenta;

         }