IIC2115 / Syllabus-2019-1

14 stars 31 forks source link

Balance entre materia y eficiencia #95

Closed vnramirez closed 5 years ago

vnramirez commented 5 years ago

Estimados:

Tengo una duda sobre cómo se evaluará esta tarea. Por ejemplo, para la pregunta 3, comencé a desarrollarla usando parte de la última materia (definiendo clases para estructuras de datos tipo árbol o lista ligada), y llegué a resolver instancias de tamaños decentes en tiempos no tan malos. Luego, por curiosidad, implementé exactamente la misma idea pero utilizando sólo listas comunes y corrientes. En este escenario se demora considerablemente menos que usando las estructuras más avanzadas. En este caso, qué se prefiere? Mostrar al corrector el uso de las estructuras de datos? O mejores tiempos de ejecución?

Saludos y gracias de antemano.

halobel commented 5 years ago

Hola @vnramirez, tal como se indica en los apuntes del curso, Python implementa una gran cantidad de estructuras de datos, que no es necesario (ni recomendadon) implementar por cuenta propia. Ahora, en tu caso, seguramente se debe a que el uso de listas ligadas y/o árboles no es lo ideal para el problema, o que tus implementaciones de estas estructuras no son eficientes. Y con respecto a tu pregunta final, lo que esperamos es usar la estructura de datos más adecuada para resolver el problema de manera eficiente, no mostrar el uso estructuras sofisticadas.