Diferencia entre revisiones de «Final 30/7/2015 (Algoritmos II)»

De Cuba-Wiki
Sin resumen de edición
(Cambio por el contenido textual del examen)
Línea 1: Línea 1:
'''Esteban Feuerstein, Flavia Bonomo y Fernando Schapachnik'''  
'''Esteban Feuerstein, Flavia Bonomo y Fernando Schapachnik'''
 


== Ejercicio 1 ==
== Ejercicio 1 ==
Dado un sistemas de TADs TAD' que difiere de los tads comunes en que tiene solo axiomas y operaciones, y la igualdad se da por equivalencia de axiomas, es decir, se puede ir de t1 a tn aplicando los axiomas.
El sistema de especificación TAD' es muy similar a los TADs que se utilizan en la materia, pero su única igualdad entre instancias se define así: dos instancias son iguales si y solo si aplicando axiomas se puede llegar de una a la otra.
 
# Este sistema de especificación no tiene uno de los problemas formales más importantes que puede tener un TAD. ¿Cuál? ¿Por qué?
* a) Qué problema grave de los TADs comunes evita esta especificación?
# ¿Qué dificultad presenta la especificación del TAD' conjunto en este formalismo?
* b) Qué dificultad tiene escribir el tad conjunto con esta especificación?


== Ejercicio 2 ==
== Ejercicio 2 ==
Demostrar porque se puede hacer inducción sobre los TADS (explicale a un matemático).
Explíquele a un matemático por qué se puede aplicar el principio de inducción estructural sobre cualquier TAD.


== Ejercicio 3 ==
== Ejercicio 3 ==
Relación invariante de representación y complejidad algorítmica.
Explique la relación entre invariante de representación y complejidad algorítmica, y entre función de abstracción y la demostración de que el diseño es correcto con respecto a la especificación.
Relación función de abstracción con la demostración de que tu diseño es correcto.


== Ejercicio 4 ==
== Ejercicio 4 ==
Era el de closerToAvg de otros parciales, conjunto de racionales, discutir 4 variantes sobre estructuras vistas en clase.
Se desea implementar un TAD que permita representar un conjunto de números racionales, donde a las tradicionales operaciones de Agregar(S,x) y Borrar(S,x) se agrega la siguiente: CLOSERTOAVG(S), que toma como input un conjunto S y devuelve el valor contenido en S más cercano al promedio de los valores contenidos en S.
Discutir la implementación de este TAD utilizando variantes de al menos 4 estructuras de datos vistas en clase para representar conjuntos/diccionarios standard.


== Ejercicio 5 ==
== Ejercicio 5 ==
Dados N elementos, cada uno con clave primaria y secundaria, m << n, m ‪#‎claves‬ secundarias. Dar 2 formas eficientes de ordenarlos. (Primero por primarias, luego por secundarias.)
Se cuenta con n elementos que contienen una clave primaria y una secundaria. Hay m<<n claves distintas. Proponga dos formas eficientes y distintas que permitan ordenar los n elementos, en base a las dos claves (primero la primaria, luego la secundaria).

Revisión del 16:39 1 ago 2015

Esteban Feuerstein, Flavia Bonomo y Fernando Schapachnik

Ejercicio 1

El sistema de especificación TAD' es muy similar a los TADs que se utilizan en la materia, pero su única igualdad entre instancias se define así: dos instancias son iguales si y solo si aplicando axiomas se puede llegar de una a la otra.

  1. Este sistema de especificación no tiene uno de los problemas formales más importantes que puede tener un TAD. ¿Cuál? ¿Por qué?
  2. ¿Qué dificultad presenta la especificación del TAD' conjunto en este formalismo?

Ejercicio 2

Explíquele a un matemático por qué se puede aplicar el principio de inducción estructural sobre cualquier TAD.

Ejercicio 3

Explique la relación entre invariante de representación y complejidad algorítmica, y entre función de abstracción y la demostración de que el diseño es correcto con respecto a la especificación.

Ejercicio 4

Se desea implementar un TAD que permita representar un conjunto de números racionales, donde a las tradicionales operaciones de Agregar(S,x) y Borrar(S,x) se agrega la siguiente: CLOSERTOAVG(S), que toma como input un conjunto S y devuelve el valor contenido en S más cercano al promedio de los valores contenidos en S. Discutir la implementación de este TAD utilizando variantes de al menos 4 estructuras de datos vistas en clase para representar conjuntos/diccionarios standard.

Ejercicio 5

Se cuenta con n elementos que contienen una clave primaria y una secundaria. Hay m<<n claves distintas. Proponga dos formas eficientes y distintas que permitan ordenar los n elementos, en base a las dos claves (primero la primaria, luego la secundaria).