Está en la página 1de 14

Estructura de Datos

Dr. Hiram Eredín Ponce Espinosa


(diapositiva en blanco)

Estructura de Datos 2 enero - mayo 2014


Abstracción de Datos
Estructura de Datos

enero - mayo 2014


Abstracción de Datos
Abstracción de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Abstraer implica separar las cualidades de un objeto. Una abstracción es un concepto


aparte de cualquier instancia en particular.

Estructura de Datos 4 enero - mayo 2014


Abstracción de Datos
Abstracción de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Abstraer implica separar las cualidades de un objeto. Una abstracción es un concepto


aparte de cualquier instancia en particular.

Implica:

Encapsulamiento

Ocultación de la información

Estructura de Datos 5 enero - mayo 2014


Abstracción de Datos
Abstracción de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Ejemplo de abstracción:

Un profesor está considerando hacer un programa computacional para llevar la bitácora de


sus alumnos. Realiza la abstracción del problema mediante un diagrama de clases.

Estructura de Datos 6 enero - mayo 2014


Abstracción de Datos
Tipos abstractos de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Un tipo abstracto de datos (TAD) es un conjunto de datos con sus operaciones.

La definición implica que un TAD no determina cómo se implementan las operaciones.

En Java, la forma de implementar tipos abstractos de datos es a través de interfaces.

Por lo que un TAD debe proporcionar una interfaz con:

• las operaciones posibles a realizar


• la descripción de las propiedades de dichas operaciones

Estructura de Datos 7 enero - mayo 2014


Abstracción de Datos
Tipos abstractos de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

¿Para qué sirven en estructuras de datos?

Una estructura de datos es un conjunto de variables que


se encuentran relacionadas

Por lo tanto, una estructura de datos es una implementación física de un TAD.

Estructura de Datos 8 enero - mayo 2014


Abstracción de Datos
Tipos abstractos de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Implementación de un tipo abstracto de datos:

1. Análisis de datos y operaciones


2. Elección del TAD
3. Elección de la implementación

Es importante entender cuál será la complejidad espacial y temporal de la estructura de


datos; porque de eso depende en gran medida cómo será el TAD.

Un tipo abstracto de datos se define en una interfaz.


Las clases que implementan dichas interfaces, están implementando un TAD.

Estructura de Datos 9 enero - mayo 2014


Abstracción de Datos
Tipos abstractos de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Ejemplo de TAD en Java:

TAD que abstrae el concepto de un registro de números enteros que puede agregar o eliminar
elementos. La constante constPI es utilizada para inicializar registros.

public interface Registrable {

final int constA = 10;


public void agregarElemento(int elemento);
public void eliminarElemento(int elemento);

Estructura de Datos 10 enero - mayo 2014


Abstracción de Datos
Tipos abstractos de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Ejemplo de TAD en Java:


Clase que implementa el TAD anterior.

public class Registro implements Registrable {

private int tam;


private int[ ] datos;

public Registro( ) {
this.datos = new int[constA];
this.tam = constA;
}

public void agregarElemento(int elemento) {


// aquí va todo el código de agregar un nuevo elemento al arreglo this.datos
}

Estructura de Datos 11 enero - mayo 2014


Abstracción de Datos
Tipos abstractos de datos Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Con la finalidad de relajar la abstracción de datos, las clases abstractas y la herencia pueden
ayudar a implementar métodos no definidos (por ejemplo, TAD).

Ejemplo:

public abstract class NivelSuperior{

public abstract void agregarElemento(int elemento);

public void escribirElemento(int elemento) {


System.out.println(“elemento: “ + elemento);
}
}

public class NivelInferior extends NivelSuperior{

public void agregarElemento(int elemento){


// aquí va todo el código de agregar un nuevo elemento
}
}

Estructura de Datos 12 enero - mayo 2014


Abstracción de Datos
Niveles de abstracción Tipos Abstractos de Datos (TAD)
Niveles de Abstracción

Los niveles de abstracción se refieren a las distintas fases en las que se puede encontrar un
tipo abstracto de dato.

Nivel lógico o abstracto:


Abstracción de la estructura de datos y sus operaciones. Es una descripción del TAD y es
independiente del lenguaje de programación.

Nivel físico o de implementación:


Se define el lenguaje de programación que se utilizará y los tipos de datos necesarios.
Además, se escriben las clases que implementan los TAD.

Nivel de aplicación o de uso:


Se hacen las llamadas a los TAD definidos anteriormente.

Estructura de Datos 13 enero - mayo 2014


(diapositiva en blanco)

Estructura de Datos 14 enero - mayo 2014

También podría gustarte