Algoritmos y Estructuras de Datos
Algoritmos y Estructuras de Datos (anteriormente 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, Teorema del invariante, complejidad y algoritmos de sorting.
Según el Plan de la Carrera (2023) es una materia a ser cursada en Primer año. Es correlativa de Introducción a la Programación y es necesaria para cursar Paradigmas De Programación, Técnicas De Diseño de Algorítmos y Lenguajes Formales, Autómatas y Computablildad.
Información general sobre la cursada
Algoritmos consiste de clases teóricas, prácticas y de laboratorio. Para aprobar la materia se deben rendir 2 exámenes parciales, 2 trabajos prácticos grupales y ademas, se deben entregar 5 talleres del laboratorio, los cuales son de programación en Java.
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.
- Especificación formal de software. Introducción a la validación y verificación.
- Métodos de demostración formal de correctitud (ej. weakest precondition). Teorema del invariante.
- Análisis básico de algoritmos: análisis asintótico, modelo RAM. Caso peor, promedio y mejor.
- Impacto de la complejidad algorítmica en el diseño de estructuras de datos (Tipos Abstractos de Datos).
- Algoritmos de búsqueda y ordenamiento básicos y avanzados (Sorting).
- Estructuras para búsqueda y ordenamiento: árboles de búsqueda, árboles balanceados, árboles digitales, hashing, colas de prioridad. Tipos de datos inductivos
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
Guías prácticas de primer cuatrimestre de 2020 resueltas
Guías prácticas de primer cuatrimestre de 2022 resueltas
Trabajos Prácticos
Año | Cuatrimestre | Fecha | Links |
---|---|---|---|
2023 | Segundo Cuatrimestre | 17/09/2023 | Enunciado TP 1 (pdf) |
2023 | Segundo Cuatrimestre | 11/11/2023 | Enunciado TP 2 (pdf) |
Parciales
Parciales Plan 2023
Primeros parciales
Año | Cuatrimestre | Fecha | Instancia | Links |
---|---|---|---|---|
2023 | Segundo Cuatrimestre | 10/10/2023 | Parcial | enunciado (jpg) enunciado + resolución (pdf) |
2023 | Segundo Cuatrimestre | 7/10/2023 | Parcial | enunciado (pdf) |
2023 | Segundo Cuatrimestre | 10/10/2023 | Parcial | Enunciado + Resolución (pdf) |
Segundos parciales
Año | Cuatrimestre | Fecha | Instancia | Links | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023 | Segundo Cuatrimestre | 25/11/2023 | Parcial | enunciado (pdf) enunciado + resolución (pdf) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2023 | Segundo Cuatrimestre | 25/11/2023 | Parcial | Enunciado + Resolución (pdf) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2023 | Segundo Cuatrimestre | 12/12/2023 | Recuperatorio | enunciado (pdf) + Resolución | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2023 | Segundo Cuatrimestre | 12/12/2023 | Recuperatorio | [file:///C:/Users/Usuario/Downloads/12-12-2023%20Thomas_compressed.pdf]
} Parciales Plan 1993Primeros parciales
Segundos parciales
Compilado de parcialesFinales
Apuntes
Bibliografía recomendada
Enlaces externos |