Diferencia entre revisiones de «Algoritmos y Estructuras de Datos»

De Cuba-Wiki
m (Agrego un Resumen muy bueno a la sección de Apuntes. Además, agrego link al código fuente en GitHub para futuras colaboraciones.)
m (→‎Apuntes: Actualizo link a CubaGitHub)
Línea 68: Línea 68:
== Apuntes ==
== Apuntes ==


*[https://github.com/ramaroberto/ResumenAlgoritmos2/releases/download/1.0/resumen.pdf Resumen bastante completo.] Toca los 4 temas principales de la materia: especificación, diseño, algoritmos y estructuras. [https://github.com/ramaroberto/ResumenAlgoritmos2 Código fuente del resumen en GitHub.]
*[https://github.com/CubaWiki/AED2-ApunteFinal-Rama/releases/download/1.0/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.]


== Bibliografía Recomendada ==
== Bibliografía Recomendada ==

Revisión del 15:52 5 jul 2015

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.

Trabajos Prácticos

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

Los otros 3 Trabajos Prácticos consisten 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 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.

Contenidos

Cuando se habla de especificación formal de tipos de datos (tambien conocidos como TADs) se refiere a expresar el comportamiento que va a tener en funcion 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 ambiguedad 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 asi sucesivamente.

Prácticas (2014)

Practica 1: Tipos algebraicos y especificación.

Practica 2: Inducción estrutural.

Practica 3: Diseño -- invariante de representación y función de abstracción.

Practica 4: Ordenes y complejidad algorítmica.

Practica 5: Diseño.

Practica 6: Divide and Conquer.

Practica 7: Ordenamiento.

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