Abstraccion de datos

Preview:

Citation preview

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. :