Diferencia entre revisiones de «Algoritmos y Estructuras de Datos»
(No se muestran 4 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
{{Completar guías}} | |||
'''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. | '''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. | ||
Línea 4: | Línea 5: | ||
== Información General sobre la Cursada == | == 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. | 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. | ||
Línea 27: | Línea 27: | ||
*[[Eliminación de la Recursión]] | *[[Eliminación de la Recursión]] | ||
*[[Diseño]] | *[[Diseño]] | ||
== Prácticas == | |||
*[[Práctica 1 (Algoritmos II)|Práctica 1]]: Tipos algebraicos y especificación. | |||
*[[Práctica 2 (Algoritmos II)|Práctica 2]]: Inducción estrutural. | |||
*[[Práctica 3 (Algoritmos II)|Práctica 3]]: Diseño -- invariante de representación y función de abstracción. | |||
*[[Práctica 4 (Algoritmos II)|Práctica 4]]: Ordenes y complejidad algorítmica. | |||
*[[Práctica 5 (Algoritmos II)|Práctica 5]]: Diseño. | |||
*[[Práctica 6 (Algoritmos II)|Práctica 6]]: Divide and Conquer. | |||
*[[Práctica 7 (Algoritmos II)|Práctica 7]]: Ordenamiento. | |||
*[[Práctica 8 (Algoritmos II)|Práctica 8]]: Eliminación de la recursión. | |||
== Finales == | == Finales == | ||
Línea 37: | Línea 47: | ||
*[[Final 2/2C/2009 (Algoritmos II)|Final del segundo cuatrimestre de 2009 (1)]] | *[[Final 2/2C/2009 (Algoritmos II)|Final del segundo cuatrimestre de 2009 (1)]] | ||
*[[Final 2/2C/2009 (Algoritmos II) (2) |Final del segundo cuatrimestre de 2009 (2)]] | *[[Final 2/2C/2009 (Algoritmos II) (2) |Final del segundo cuatrimestre de 2009 (2)]] | ||
*[[Final 1C/2010 (Algoritmos II)|Final del primer cuatrimestre de 2010]] | |||
== Bibliografía Recomendada == | == Bibliografía Recomendada == | ||
Línea 42: | Línea 53: | ||
== Enlaces externos == | == Enlaces externos == | ||
*[http:// | *[http://www.dc.uba.ar/materias/aed2/ Página oficial de la materia] | ||
*[http://www.sorting-algorithms.com Demostraciones graficas de los distintos algortimos de sorting] | *[http://www.sorting-algorithms.com Demostraciones graficas de los distintos algortimos de sorting] | ||
Revisión del 20:06 15 ene 2011
Plantilla:Completar guías 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. Los requerimientos de promoción son obtener P en los tres parciales y en alguno de los Trabajos Prácticos y rendir un exámen escrito al final del cuatrimestre.
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 más óptima 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.
- Tipos Abstractos de Datos (TADs)
- Inducción Estructural
- Sorting
- Estructuras de Datos
- Backtracking
- Eliminación de la Recursión
- Diseño
Prácticas
- Práctica 1: Tipos algebraicos y especificación.
- Práctica 2: Inducción estrutural.
- Práctica 3: Diseño -- invariante de representación y función de abstracción.
- Práctica 4: Ordenes y complejidad algorítmica.
- Práctica 5: Diseño.
- Práctica 6: Divide and Conquer.
- Práctica 7: Ordenamiento.
- Práctica 8: Eliminación de la recursión.
Finales
- Final del primer cuatrimestre de 2006
- Final del segundo cuatrimestre de 2006
- Final del primer cuatrimestre de 2007
- Final del segundo cuatrimestre de 2007 (1)
- Final del segundo cuatrimestre de 2007 (2)
- Final del primer cuatrimestre de 2008
- Final del segundo cuatrimestre de 2009 (1)
- Final del segundo cuatrimestre de 2009 (2)
- Final del primer cuatrimestre de 2010
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)