Perfilado de sección

  • programa

    Datos identificativos de la Asignatura

    • Denominación: Estructuras de Datos y Algoritmos (2010)

    • Código: 

    • Departamento: Departamento de Matemáticas, Estadística y Computación

    • Área de Conocimiento:

    • Tipo: Troncal

    • Curso y cuatrimestre: Segundo

    • Título: Grado en Ingeniería Informática

    • Centro: Facultad de Ciencias

    • Web:

    • Profesor responsable: Michael González Harbour


    Programa de la asignatura

    Objetivos de Estructuras de Datos y Algoritmos

    • Conocer los fundamentos del diseño, análisis e implementación de estructuras de datos básicas
    • Conocer los fundamentos del diseño, análisis e implementación de sus algoritmos de manipulación

         - aplicando en ambos los principios de abstracción y descomposición orientada a objetos.

    •  Conocer las principales aplicaciones de las estructuras de datos básicas

     

    Objetivos concretos: conocimientos

    •  Conocer las especificaciones abstractas de las principales estructuras de datos
    •  Conocer los principales algoritmos de manipulación de las estructuras de datos básicas
    •  Conocer las principales aplicaciones de las estructuras de datos básicas
    •  Conocer distintas técnicas de implementación de las estructuras de datos y sus propiedades

     

    Objetivos concretos: Habilidades

    •  Ser capaz de aplicar los principios de abstracción a las estructuras de información
    •  Saber diseñar la estructura de datos más eficiente para un determinado problema, dados unos requisitos de coste temporal y espacial
    •  Ser capaz de implementar estructuras de datos básicas usando un lenguaje orientado a objetos
    •  Ser capaz de razonar sobre la eficiencia de las diferentes implementaciones de una estructura de datos

     

    Programa

    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
    • Colas de prioridad
    • Mapas
    • Aplicaciones

     

    3. Estructuras de datos jerárquicas

    • Árboles
    • Recorrido y ordenación de los nudos
    • El ADT árbol
    • Árboles binarios
    • Búsquedas 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 con y sin pesos
    • Grafos acíclicos
    • Aplicaciones

     

    5. Implementación de Listas, Colas y Pilas

    • Introducción a la implementación de estructuras de datos
    • 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