Estrategias de Programación y Estructuras de Datos

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.