Ej4.a

Ej4.a

de Mathías Agustín Pereyra Espinosa -
Número de respuestas: 3

Buenas,

Quería corroborar si está bien resuelto este ejercicio, porque me quedo con dudas sobre la parte del While:

/* Inserta 'elem ' en 'A' y deja ordenado A[0 .. pos ]. 

Precondici ón: 'A' es un arreglo de tama ño mayor a 'pos ' y A[0 .. pos - 1] est á ordenado . */ 

void insertar ( float *A , int pos , float elem ) { 

     int i = pos - 1; 

     while (( i >= 0) && ( A [i ] > elem ) ) {

          A [ i + 1] = A [ i ]; 

          i - -;

      } 

     A [ i +1] = elem ; 

}


Yo lo pensé así:






Saludos y muchas gracias desde ya,

Mathías

En respuesta a Mathías Agustín Pereyra Espinosa

Re: Ej4.a

de Libertad Tansini -
Hola Mathías, es correcto!
Recordá también que, como vimos en los prácticos, podés contabilizar las operaciones sin tomar en cuenta su origen, incluso agrupando conjuntos de instrucciones en constantes, algo así:
T(n) = c1 + c2*n, donde c1 corresponde a las instrucciones fuera del while y c2 a la instrucciones del while.
Con esta forma de aproximar T(n) obtenemos el mismo orden y omega, sin tener que entrar en todos los detalles.

Saludos, libertad
En respuesta a Libertad Tansini

Re: Ej4.a

de Mathías Agustín Pereyra Espinosa -
Muchas gracias Profe!

Y para el mejor caso seria así?:





Saludos y buen inicio de semana,

Mathías