Parcial Mayo 2012 - Ejercicio 1-b

Parcial Mayo 2012 - Ejercicio 1-b

de Diego Gabriel Martorell Bazterrica -
Número de respuestas: 2

Buenos días, una consulta, en este ejercicio que se pide implementar Concat,  al realizarlo, lo hice, de tal forma de que no compartieran memoria list1 y list2, recorriendo list2 y creando nuevos nodos para irlos concatenando a list1. Luego, al ver la solución, veo que la solución propuesta, lo que hace es simplemente enlazar el ultimo elemento de list1 y el primero de list2, y por tanto, están compartiendo memoria, ¿verdad?, la pregunta es, qué tan mal estaría lo que hice...

Saludos

Gracias!

En respuesta a Diego Gabriel Martorell Bazterrica

Re: Parcial Mayo 2012 - Ejercicio 1-b

de Lorena Etcheverry -

Hola Diego:

Tu solución no comparte memoria, pero en este caso eso no era relevante. Esa solución que parece ser "mejor" que otra que comparta en este caso NO conduce a una solución válida para el ejercicio en cuestión. Paso a explicarte por qué:

La letra del ejercicio dice lo siguiente:

Se pide, accediendo directamente a la representación, implementar el siguiente procedimiento:
Concat: que dadas dos listas listl y list2 de tipo ListaPal, concatena list2 sobre el final de list1, modificando esta última.
Esta operación debe tener O(1) de tiempo de ejecución en el peor caso. El procedimiento Concat deberá definirse como:
PROCEDURE Concat (VAR list1: ListaPal; list2: ListaPal);

Tu solución no cumple la restricción de orden de ejecución que establece la letra, por lo tanto no es un solución válida. Respecto a la calificación para esa parte, aplicando el siguiente criterio que se aclara en el encabezado de la letra del parcial, te corresponderían 0 puntos.

"SI TODAS LAS RESTRICCIONES EXPLICITADAS DE UN EJERCICIO NO SON CUMPLIDAS POR LA SOLUCIÓN PROPUESTA, EL EJERCICIO TENDRÁ PUNTAJE 0. PRESTAR ATENCIÓN A LAS NOTAS INCLUÍDAS EN CADA EJERCICIO."

slds

Lorena