Unidad Didáctica I: Conceptos fundamentales de algoritmia y estructuras de datos
Tema 1. Análisis básico de algoritmos - Resumen
Concepto y ejemplos, coste asintótico temporal, notación O(), cálculo del coste.
Tema 2. Estructuras de datos:
Concepto, pilas, colas, listas enlazadas, árboles generales, árboles binarios de búsqueda, tablas hash y colas de prioridad.
Tema 3. Programación recursiva:
Concepto, fundamentos matemáticos, recursión básica, aplicaciones numéricas.
Unidad Didáctica II: Implementación de estructuras de datos
Tema 4. Pilas y Colas:
Implementación dinámica de vectores, implementación con listas enlazadas. Colas dobles.
Tema 5. Listas enlazadas:
Ideas básicas, implementación en Java, listas doblemente enlazadas y listas enlazadas circulares, listas enlazadas ordenadas.
Tema 6. Árboles:
Árboles generales, árboles binarios, árboles y recursión, recorrido de árboles.
Tema 7. Árboles binarios de búsqueda:
Ideas básicas, búsqueda por posición en el orden, análisis de las operaciones de los árboles binarios de búsqueda, árboles AVL, árboles rojinegros, AA-árboles, B-árboles.
