Diferencia entre revisiones de «Algoritmos y Estructuras de Datos»

De Cuba-Wiki
m (Reordena por fecha)
(No se muestran 39 ediciones intermedias de 15 usuarios)
Línea 12: Línea 12:
Los trabajos prácticos por lo general son bastante largos, pero sirven de buena experiencia para ese tipo de actividades.
Los trabajos prácticos por lo general son bastante largos, pero sirven de buena experiencia para ese tipo de actividades.


Algoritmos II es promocionable. La condición de promoción del último cuatrimestre (2do Cuatri 2014) fue tener el primer ejercicio de cada parcial muy bien, y el resto todos bien, además de los 3 TPs aprobados con Muy Bien.
Algoritmos II era promocionable. La condición de promoción del último cuatrimestre (2do Cuatri 2014) fue tener el primer ejercicio de cada parcial muy bien, y el resto todos bien, además de los 3 TPs aprobados con Muy Bien.


Desde el segundo cuatrimestre de 2016, los trabajos prácticos se vieron reducidos a tres, correspondientes con las tres etapas de un problema, y se dividió el TP0 en cinco talleres obligatorios, con otros dos opcionales. (En orden: programar una pila, uso de templates, un ABB, un Trie, iteradores (opcional), un diccionario sobre Hash Tables y uno de sorting (opcional)).
Desde el segundo cuatrimestre de 2016, los trabajos prácticos se vieron reducidos a tres, correspondientes con las tres etapas de un problema, y se dividió el TP0 en cinco talleres obligatorios, con otros dos opcionales. (En orden: programar una pila, uso de templates, un ABB, un Trie, iteradores (opcional), un diccionario sobre Hash Tables y uno de sorting (opcional)).


Para promocionar la materia según esta modalidad, se tienen que tener los dos primeros trabajos prácticos Muy Bien, el primer ejercicio de cada parcial Muy Bien, y ningún Regular o Insuficiente en los otros ejercicios.
Para promocionar la materia según esta modalidad, se tenian que tener los dos primeros trabajos prácticos Muy Bien, el primer ejercicio de cada parcial Muy Bien, y ningún Regular o Insuficiente en los otros ejercicios.


Actualmente, en el segundo cuatrimestre de 2017, se eliminó la opción de promoción.
Actualmente, en el segundo cuatrimestre de 2017, se eliminó la opción de promoción.
Línea 52: Línea 52:


*[[AED2_resumen_2C-17|Práctica 1]]
*[[AED2_resumen_2C-17|Práctica 1]]
=== Guías prácticas de segundo cuatrimestre de 2019 resueltas ===
*[https://github.com/muripic/divide-and-conquer Práctica 6]
*[http://cuede.herokuapp.com/computacion/algoritmos-y-estructuras-de-datos-ii/ Página de soluciones colaborativas de los ejercicios]


== Parciales ==
== Parciales ==
Línea 62: Línea 67:
*[[Medio:Algo2-1erRecu-2docuatri-2016.pdf|1er Parcial - Recuperatorio, 2do cuatrimestre 2016 (Resueltos ej 1 y 2)]]
*[[Medio:Algo2-1erRecu-2docuatri-2016.pdf|1er Parcial - Recuperatorio, 2do cuatrimestre 2016 (Resueltos ej 1 y 2)]]
*[[Medio:AED2_1parcial_03-05-17_resuelto.pdf|1er Parcial, 1er cuatrimestre 2017 (resuelto)]]
*[[Medio:AED2_1parcial_03-05-17_resuelto.pdf|1er Parcial, 1er cuatrimestre 2017 (resuelto)]]
*[[Medio:AED2_1parcial_30-09-17_resuelto.pdf|1er Parcial, 2do cuatrimestre 2017 (resuelto)]]
*[[Medio:AED2_1Parcial_05-25-18_resuelto.pdf|1er Parcial, 1er cuatrimestre 2018 (resuelto)]]
*[[Medio:AED2_1Parcial_04-05-19_resuelto.pdf|1er Parcial, 1er cuatrimestre 2019 (resuelto)]]
*[[Medio:AED2_2Parcial_06-07-19.pdf|1er Recuperatorio, 1er cuatrimestre 2019]] [[Medio:Medio-AED2_2Parcial_06-07-19(resuelto)..pdf|(resuelto)]]


=== Segundos parciales ===
=== Segundos parciales ===
Línea 71: Línea 80:
*[[Medio:AED2_2parcial_02-11-16_Resuelto.pdf|2do Parcial, 2do cuatrimestre 2016 (resuelto)]]
*[[Medio:AED2_2parcial_02-11-16_Resuelto.pdf|2do Parcial, 2do cuatrimestre 2016 (resuelto)]]
*[[Medio:AED2_2parcial_12-06-17_resuelto.pdf|2do Parcial, 1er cuatrimestre 2017 (resuelto)]]
*[[Medio:AED2_2parcial_12-06-17_resuelto.pdf|2do Parcial, 1er cuatrimestre 2017 (resuelto)]]
*[[Medio:AED2_2parcial_resuelto.pdf|2do Parcial, 2do cuatrimestre 2017 (resuelto)]]
*[[Medio:AED2_2Parcial_23-06-18_resuelto.pdf|2do Parcial, 1er cuatrimestre 2018 (resuelto)]]
*[[Medio:AED2_2Parcial_24-11-18_resuelto.pdf|2do Parcial, 2do cuatrimestre 2018 (resuelto)]]
*[[Medio:AED2_2Parcial_22-06-19_resuelto.pdf|2do Parcial, 1er cuatrimestre 2019 (resuelto)]]
=== Compilado de parciales ===
*[https://campus.exactas.uba.ar/mod/resource/view.php?id=75770 Primeros Parciales]
*[https://campus.exactas.uba.ar/mod/resource/view.php?id=75771 Segundos Parciales]


== Finales ==
== Finales ==
Línea 97: Línea 118:
*[[Final 25/02/2016 (Algoritmos II)|Final del 25/02/16]]
*[[Final 25/02/2016 (Algoritmos II)|Final del 25/02/16]]
*[[Final 13/12/2016 (Algoritmos II)|Final del 13/12/16]]
*[[Final 13/12/2016 (Algoritmos II)|Final del 13/12/16]]
*[[Final 20/12/2016 (Algoritmos II)|Final del 20/12/16 (Resuelto)]]
*[[Final 10/03/17 (Algoritmos II)|Final del 10/03/17]]
*[[Final 10/03/17 (Algoritmos II)|Final del 10/03/17]]
*[[Final 03/05/17 (Algoritmos II)|Final del 03/05/17]]
*[[Final 03/05/17 (Algoritmos II)|Final del 03/05/17]]
*[[Final 20/09/17 (Algoritmos II)|Final del 20/09/17]]
*[[Final 20/09/17 (Algoritmos II)|Final del 20/09/17]]
*[[Final 13/12/17 (Algoritmos II)|Final del 13/12/17]]
*[[Final 22/02/18 (Algoritmos II)|Final del 22/02/18]]
*[[Final 01/03/18 (Algoritmos II)|Final del 01/03/18]]
*[[Final 01/03/18 (Algoritmos II)|Final del 01/03/18]]
*[[Final 20/07/18 (Algoritmos II)|Final del 20/07/18]]
*[[Final 06/12/19 (Algoritmos II)|Final del 06/12/19]]
*[[Final 20/12/19 (Algoritmos II)|Final del 20/12/19]]


== Apuntes ==
== Apuntes ==
*[https://github.com/guidotag/AVL/raw/master/documento/main.pdf Balanceo de árboles y árboles AVL]: Notas sobre balanceo de árboles en general, profundizando en la implementación de árboles AVL.
*[https://github.com/CubaWiki/AED2-ApunteRotacionesAVL-gtagliavini/raw/master/main.pdf Balanceo de árboles y árboles AVL]: Notas sobre balanceo de árboles en general, profundizando en la implementación de árboles AVL.
*[https://github.com/CubaWiki/AED2-ApunteFinal-Rama/releases/download/1.2/resumen.pdf Resumen bastante completo.] Toca los 4 temas principales de la materia: especificación, diseño, algoritmos y estructuras. [https://github.com/CubaWiki/AED2-ApunteFinal-Rama Código fuente del resumen en GitHub.]
*[https://github.com/CubaWiki/AED2-ApunteFinal-Rama/releases/download/1.2/resumen.pdf Resumen bastante completo.] Toca los 4 temas principales de la materia: especificación, diseño, algoritmos y estructuras. [https://github.com/CubaWiki/AED2-ApunteFinal-Rama Código fuente del resumen en GitHub.]
*[[Medio:AED2_apunte_disenio_subrayado.pdf| Apunte de diseño de la materia subrayado]]
*[[Medio:AED2_apunte_disenio_subrayado.pdf| Apunte de diseño de la materia subrayado]]
*[[Medio:AED2_apunte_especificacion_subrayado.pdf| Apunte de conceptos de especificación de la materia subrayado]]
*[[Medio:AED2_apunte_especificacion_subrayado.pdf| Apunte de conceptos de especificación de la materia subrayado]]
*[https://github.com/FerFrassia/Algo2/files/2216488/Sorting.pdf Apunte de Sorting.] [https://github.com/FerFrassia/Algo2/ Código fuente en GitHub.]
*[https://docs.google.com/spreadsheets/d/1k1LTX-qF_-eGeR3UwuvmAR4JsKLqk2vHsV6Bhmpen38/edit#gid=0 Googlesheet con respuestas de alumnes para el final de algoritmos 2]


== Bibliografía recomendada ==
== Bibliografía recomendada ==

Revisión del 22:04 14 may 2020

Algoritmos y Estructuras de Datos II es una materia donde se estudia la especificación formal de tipos de datos, y el diseño de los mismos para su posterior implementación. Tambien se ve, paralelamente, eliminación de la recursión, inducción estructural, métodos algoritmicos y algoritmos de sorting.

Según el Plan de la Carrera es una materia a ser cursada en Segundo año. Es correlativa de Algoritmos y Estructuras de Datos I y es necesaria para cursar Algoritmos y Estructuras de Datos III, Lógica y Computabilidad y Sistemas Operativos

Información general sobre la cursada

Algoritmos II consiste de clases teóricas y prácticas. Para aprobar la materia se deben rendir 2 exámenes parciales y 4 trabajos prácticos. Al menos hasta el segundo cuatrimestre 2016, en el que se cambió el TP0 por 5 talleres de C++ obligatorios que fueron presentando durante la cursada, teniendo una semana para entregar cada uno.

Trabajos prácticos

La materia tenía 4 Trabajos Prácticos. El TP0 era un trabajo corto cuyo objetivo era hacer que el alumno tome contacto y se acostumbre al desarrollo de estructuras de datos en C++.

Los otros 3 Trabajos Prácticos consistían en las 3 etapas (Especificación, Diseño, Implementación) de un problema dado. Los trabajos prácticos por lo general son bastante largos, pero sirven de buena experiencia para ese tipo de actividades.

Algoritmos II era promocionable. La condición de promoción del último cuatrimestre (2do Cuatri 2014) fue tener el primer ejercicio de cada parcial muy bien, y el resto todos bien, además de los 3 TPs aprobados con Muy Bien.

Desde el segundo cuatrimestre de 2016, los trabajos prácticos se vieron reducidos a tres, correspondientes con las tres etapas de un problema, y se dividió el TP0 en cinco talleres obligatorios, con otros dos opcionales. (En orden: programar una pila, uso de templates, un ABB, un Trie, iteradores (opcional), un diccionario sobre Hash Tables y uno de sorting (opcional)).

Para promocionar la materia según esta modalidad, se tenian que tener los dos primeros trabajos prácticos Muy Bien, el primer ejercicio de cada parcial Muy Bien, y ningún Regular o Insuficiente en los otros ejercicios.

Actualmente, en el segundo cuatrimestre de 2017, se eliminó la opción de promoción.

Contenidos

Cuando se habla de especificación formal de tipos de datos (también conocidos como TADs) se refiere a expresar el comportamiento que va a tener en función de las diferentes acciones que se le aplican. Para ésto es que se vale de la lógica algebraica, o por axiomas, la cual (intenta) eliminar la ambigüedad que se podría producir si se hace en lenguaje castellano.

En diseño lo que se hace es elegir la mejor manera (la mejor en términos de requerimientos de performance pero a su vez fácil de hacer) de representar los TADs en la "realidad" (principalmente, ésta realidad es un medio computacional). Para ésto es que se valen de estructuras de datos "básicas" mediante las cuales construir otras mas complejas que sirvan para otras aún más complejas, y así sucesivamente.

Guías prácticas

Las guías de ejercicios correspondientes al cuatrimestre en curso pueden encontrarse en la página oficial de la materia.


Guías prácticas de segundo cuatrimestre de 2017 resuelta

Guías prácticas de segundo cuatrimestre de 2019 resueltas

Parciales

Primeros parciales

Segundos parciales


Compilado de parciales

Finales

Apuntes

Bibliografía recomendada

  • Thomas Cormen; Charles Leirserson; Ronald Rivest y Clifford Stein, Introduction to algorithms, MIT Press, 2001 (Circulante 681 332 Cormen en la Biblioteca Central)

Enlaces externos