Estructuras de
Datos y Algoritmos
Segundo Curso, Ingeniero en
Informática
Dpto. de
Matemáticas, Estadística y Computación
Facultad de Ciencias, Universidad de
Cantabria
1. Profesores
2. Programa
3. Apuntes y Ejemplos
4. Paquete Fundamentos
5. Problemas
6. Prácticas
7. Exámenes anteriores
Para la entrega de las
prácticas usar el Servidor
Moodle
1. Profesores
2. Programa
Guía docente de la asignatura
1.
Introducción
Estructuras de datos abstractas.
Eficiencia de las estructuras de datos. Interfaces y herencia
múltiple. Estructuras de datos genéricas. Colecciones.
Iteradores.
Relaciones de igualdad y orden
2.
Estructuras de datos lineales
Colecciones o bolsas. Conjuntos. Listas
y vectores. Pilas. Colas. Mapas. Colas de prioridad. Aplicaciones
3. Estructuras
de datos jerárquicas
Árboles. Recorrido y
ordenación de los nudos. El ADT árbol. Árboles
binarios.
Búsqueda en árboles binarios. Aplicaciones
4. Grafos y
caminos
Concepto de grafo. Definiciones. La
interfaz de las aristas. La interfaz de los grafos. Recorridos y
búsquedas. El problema del camino mínimo. Grafos
acíclicos. Aplicaciones
5.
Implementación de listas, pilas y colas
Introducción. Pilas, colas y
vectores implementados mediante arrays. Implementaciones con listas
enlazadas simples. Listas enlazadas con cursores. Listas doblemente
enlazadas
6.
Implementación de mapas, árboles y grafos
Mapas y conjuntos implementados
mediante tablas de troceado. Técnicas de troceado abierto.
Técnicas de troceado cerrado. Implementaciones de
árboles. Implementaciones de árboles binarios.
Árboles binarios equilibrados y conjuntos ordenados.
Árboles AVL. Árboles rojinegros. B-árboles.
Implementación de colas de
prioridad y conjuntos ordenados mediante montículos binarios.
Implementación de grafos
3. Apuntes y Ejemplos
Para ver los apuntes en formato pdf pinchar sobre el enlace
correspondiente.
Los enlaces irán apareciendo con la marcha del
curso:.
Programa
1.
Introducción.
Ejemplos.
2.
Estructuras de datos lineales
.
Ejemplos. Ejemplos
adicionales
3. Estructuras
de datos jerárquicas
. Ejemplos.
Estructuras de datos: paquete adts
4. Grafos y
caminos
. Ejemplos.
5.
Implementación de
listas, colas y pilas
. Ejemplos.
6.
Implementación de
mapas, árboles y grafos
.
Ejemplos.
4. Paquete Fundamentos
El paquete fundamentos es un conjunto de clases para entrada/salida
gráfica. Está diseñado para esta asignatura y para
otros alumnos que se inician en el lenguage Java y que no desean gastar
mucho tiempo en aprender la interfaz gráfica completa, pero
que quieren poder hacer programas vistosos con entrada/salida
gráfica.
Para ver más información sobre el paquete fundamentos
y poder
descargarlo buscar en la página fundamentos.
Aquí puedes encontrar unos apuntes
que lo explican brevemente.
5. Problemas
Problemas para resolver en clase o en casa. Irán apareciendo con
la marcha del curso.
6. Prácticas
Para la entrega de las
prácticas usar el Servidor
Moodle
Prácticas obligatorias (y voluntarias) Irán apareciendo
con la marcha del curso. Las plantillas para los informes están
en formato OpenOffice.
Software con estructuras de datos (árboles, árboles
binarios y grafos): paquete adts
7. Exámenes anteriores
Una vez que ya se tiene experiencia con Java, es conveniente hacer
ejercicios, para los que se os propone intentar resolver los
ejercicios de exámenes anteriores.
Curso 2008-2009
Curso 2007-2008
Curso 2006-2007