Estructura de Datos y Algoritmos (EDA) es un curso de la Escuela Profesional de Ingeniería de Sistemas (EPIS) de la Universidad Nacional de San Agustín de Arequipa (UNSA).
El presente repositorio fue creado por el profesor Richart Smith Escobedo Quispe (rescobedoq@unsa.edu.pe) para su libre acceso y uso como material de consulta en el estudio del curso de Estructura de Datos y Algoritmos del Plan de estudios 2017 de la EPIS.
2do año - Primer Semestre (III Semestre)
| COMP | CÓDIGO | NOMBRE DE LA ASIGNATURA | DPTO | CRED | PRQ.1 | HRS. TEOR | HRS. PRAC. | HRS. LAB. |
|---|---|---|---|---|---|---|---|---|
| F | 1702124 | Estructura de Datos y Algoritmos | SI | 4 | 1701211, 1701213 | 2.0 | 2.0 | 2.0 |
Competencias
- C.m. Construye responsablemente soluciones haciendo uso de estructuras de datos y algoritmos, siguiendo un proceso adecuado para resolver problemas computacionales que se ajustan al uso de los recursos disponibles y a especificaciones concretas.
Sumilla
La asignatura de Estructura de Datos y Algoritmos corresponde al conjunto de asignaturas que apoyan la formación básica-especializada del plan de estudios vigente. El objetivo de esta asignatura se centra en el conocimiento de las herramientas básicas para la organización y manipulación de datos. Para ello se presentan las estructuras de datos fundamentales y los diversos algoritmos clásicos que actúan sobre ellas, con especial atención a los conceptos de abstracción y encapsulamiento. Mediante su estudio y análisis, además de conocer los métodos más usuales y sus características, se pretende que los estudiantes adquieran la técnica necesaria para la comprensión y evaluación de algoritmos más complejos y la capacidad de razonar cuál es la solución más adecuada que satisfaga especificaciones concretas.
Algoritmos y Estructuras de Datos Básicas
- Lineamientos del curso. Fundamentos de programación
- Técnicas de diseño de algoritmos
- POO, Herencia, Interfaces y Genericidad
- Estructuras de datos lineales, TAD lista enlazada
- TAD pila, TAD cola
Estructuras de Datos Jerárquicas
- Árbol binario, binario de búsqueda, heaps
- Árboles balanceados, TAD Diccionario
- SkipList, Splay Trees, Treaps
- Árboles 2-3, B, B*, B+
- Búsqueda de textos, árboles digitales y de búsqueda digital, comprensión de datos
Estructuras de Datos Avanzadas
- Hashing, funciones hash, solución de colisiones, tipos de hash
- Grafos, digrafos, representaciones y recorridos
- Grafos ponderados, rutas mínimas, árbol cobertor mínimo
- Proyecto final
- Lab 01: Revisión de elementos de programación
- Lab 02: Técnicas de diseño de algoritmos
- Lab 03: Herencia y polimorfirsmo
- Lab 04: Listas enlazadas
- Lab 05: Pilas y Colas
- Lab 06: Arboles Binarios
- Lab 07: Arbol B y B*
- Lab 08: Hashing
- Lab 09: Grafos
- Bradley N. Miller, David L. Ranum. Problem Solving with Algorithms and Data Structures Using Python SECOND EDITION-Franklin, Beedle & Associates (2011)
- Debasish Ray Chawdhuri. Java 9 Data Structures and Algorithms-Packt (2017)
- Jain, Hemant. Problem Solving in Data Structures & Algorithms Using Java (2018)
- James Cutajar. Beginning Java Data Structures and Algorithms-Packt Publishing (2018)
- Robert Ghanea-Hercock. Applied Evolutionary Algorithms in Java-Springer-Verlag New York (2003)
- Thomas Mailund. Introduction to Computational Thinking_ Problem Solving, Algorithms, Data Structures, and More-Apress (2021)
- Weiss, Mark A. Data Structures and Problem Solving Using Java-Pearson (2014)