Examen 2019- ejercicio 3

Examen 2019- ejercicio 3

de Ines Beatriz Lorenzo Soumastre -
Número de respuestas: 1

Buenas, tengo dos preguntas sobre la solución de este ejercicio en la parte a:

1- en la parte a.1 pide resolver la función crearAsig. En ésta cuando inicializan el arreglo de circuitos hacen un for dentro del cual aparece lo siguiente:

asig->circuitos[i]. dir= circuitos[i]

pero lo que yo entiendo de la letra es que asig->circuitos[i]. dir es un string mientras que circuitos[i] es un struct. No entiendo como están igualados.

2- Otra duda que me surgió fue en la parte a.2 que pide explicar el orden del tiempo de ejecución en el peor caso y hacen O(4*C+3), pero yo no sumaría los órdenes, me quedaría con el máximo de los dos, que al final sería lo mismo, orden O(c), pero conceptualmente no los sumaría. Está bien esto?

Saludos!

En respuesta a Ines Beatriz Lorenzo Soumastre

Re: Examen 2019- ejercicio 3

de Fernando Fernandez -
En 1 me parece que está bien la solución porque el identificador circuitos aparece dos veces: como campo de rep_Asignaciones en donde es un arreglo de structs y como parámetro de crearAsig en donde es un arreglo de String. En donde mencionás circuitos[i] es un String.

En 2, como decís es lo mismo y proviene de un teorema que se llama justamente regla del máximo pero también regla de la suma. En realidad el tiempo de ejecución es la suma de los tiempos y por ahí debemos empezar. Como consecuencia de la regla mencionada sabemos que para calcular el orden no necesitamos hacer la suma sino que alcanza con determinar cuál es el máximo.