• General

    Estructuras de Datos y Algoritmos (2010)

    • Programa

      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