abstraccion de datos
TRANSCRIPT
ESTRUCTURA DE DATOS
ABSTRACCION DE DATOS
LA REPRESENTACION DE LA INFORMACIÓN
La mayor parte de los programas se dedican mas tiempo a gestionar la información que ha realizar cómputos
La información debe gestionarse de manera que se optimice su procesamiento
OBJETIVOS DEL DISEÑOBuscar la representación de la información más correcta y eficiente para un determinado problema.
• Una solución es correcta si cumple con los requisitos del problema
• Una solución es eficiente si resuelve un problema con menos costo (espacio en memoria, tiempo...)
Objetivos de Implementación:
1. Abstracción : Analizar un sistema complicado para reducirlo a sus partes constituyentes y describir éstas en un lenguaje preciso.
2. Encapsulación (Ocultación de información): Libertad de elección/cambio de implementaciones
3. Modularidad : estructura organizada en unidades funcionales separadas
ABSTRACCION DE DATOSEs “ignorancia selectiva”
Decidir que es importante y que no lo es Enfocarse y depender de lo que ES importante Ignorar y no depender de lo que NO ES importante.
El propósito de la abstracción no es ser poco específico , es más bien crear un nuevo nivel, en el
cual se puede ser absolutamente preciso.
Edsger Dijkstra
ABSTRACCION DE DATOSLa información que se procesa en un programa es una
abstracción del mundo real.
Información: conocimiento que puede comunicarse
Dato: información que se ha preparado, normalmente con un formato específico, para un fin determinado
Abstracción: simplificación de la realidad en la que ciertas propiedades y características de los objetos reales se ignoran, porque no interesan para el problema a resolver
ABSTRACCION DE DATOSEn los lenguajes de alto nivel el programador no conoce los detalles de representación, en términos de bits, de las abstracciones elegidas.
• Abstracción de datos => barrera entre la visión del programador sobre los datos y la del ordenador.
• Oculta datos irrelevantes para la resolución del problema: Principio de ocultación de la información.
• Los principios de abstracción de datos y ocultación de la información son las bases del diseño descendente de estructuras de datos.
Tipo de Datos, Tipo Abstracto de Datos y Estructura de Datos:
Tipo de dato : clase o conjunto de valores que se definen en función de las operaciones que se aplican a los objetos de dicho tipo, sin considerar la forma de representarlos
Tipo de Datos, Tipo Abstracto de Datos y Estructura de Datos:
Tipo abstracto de datos (TAD): modelo matemático, junto con varias operaciones definidas sobre ese modelo, con el que se representa la estructura y el comportamiento de una parte del mundo real
Estructura de datos: indica la forma en que se combinan una serie de partes para formar un valor compuesto
Tipo de Datos, Tipo Abstracto de Datos y Estructura de Datos:
Diseño Descendente de Estructuras de Datos :
Basado en la división de un problema en varias tareas grandes, que a su vez se van a subdividir en otras mas pequeñas. El diseño descendente se puede aplicar: a los procesos y a las de las estructuras de datos. Los niveles inferiores contienen detalles ocultos para los superiores (principio de ocultación de la información).
Diseño Descendente de Estructuras de Datos :
Encapsulamiento de datos: la representación física de los datos del programa está encubierta con el encapsulamiento de datos, el programador: sólo conoce la estructura lógica de los datos, sólo puede acceder a ellos a través del conjunto de operaciones.
Características: cómo son los componentes, cómo se organizan y cómo se relacionan entre sí.
Operaciones: cómo se utiliza la estructura. Operaciones básicas + métodos de estructuración = Operaciones complejas
Operaciones básicas: Comparación (a==b, a<b.....) Asignación (a=b)
Diseño Descendente de Estructuras de Datos :
Técnicas de Diseño O. O. Aplicadas a las E. D. :