Nivel de detalle necesario para que un ejercicio esté "bien""

Nivel de detalle necesario para que un ejercicio esté "bien""

de Tomas Pasacual Sexenian Lopez -
Número de respuestas: 1

Buenas,

Estaba trabajando en el ejercicio 2 de los ejercicios para la semana 4. En ese ejercicio piden escribir un algoritmo que solucione un problema y luego probar su correctitud y que puede implementarse en tiempo O(m + n). 

Viendo la siguiente parte una solución hecha por un compañero/a 


me surgió como duda el nivel necesario de detalle que debe de tener una solución para ser considerada correcta. Supongo que en cuanto la descripción del algoritmo eso alcanza pero por ejemplo para la parte de probar que se admite una implementacion en tiempo O(m + n) ¿ Basta con decir que T puede crearse en O(1) y que S puede crearse en O(n) ? O también tendría que decir que T puede crearse en tiempo O(1) si se implementa como una lista vacía ... y que si G viene dado da tal y tal forma recorrer todos sus nodos toma tiempo O(n) y podemos definir S de tal forma tal que podamos insertar elementos en tiempo O(1) y por ende el tiempo que empleamos en crear S es O(n).

Ese es solo una parte de un ejercicio a modo de ejemplo que me surgió mientras hacia este practico, mi duda es mas general.

Muchas gracias


En respuesta a Tomas Pasacual Sexenian Lopez

Re: Nivel de detalle necesario para que un ejercicio esté "bien""

de Facundo Benavides -
hola tomás,
sobre el pseudocódigo, este es un buen ejemplo de lo que se pide.
sobre las demostraciones, el criterio general diría es: deben incluir toda la info necesaria para que quien lo lea no tenga que suponer o asumir nada que no esté dicho.
en particular, y para tomar uno de los ejemplos que planteás, "S puede crearse en O(n)", hay que no solo decirlo, sino al menos indicar cómo se logra ese tiempo. en general eso suele ser una combinación de algoritmia y estructuras de datos que hacen fáctible la realización de la tarea en esos límites asitóticos. tal como lo sugerís a continuación.
saludos