Está en la página 1de 25

INF220 -Estructuras de Datos 1.

2 Abstraccin y estructuras de datos

Rodolfo E. Arana Gonzales 2010

Estructuras de datos
Conceptos

Para qu sirven las estructuras de datos? Con qu conceptos se relaciona? Qu contiene? Qu aplicaciones?
2

Abstraccin
Abstraccin: Representacin de las caractersticas esenciales de un objeto o entidad. Abstraer: Dar nombre a las cosas. Referenciar: Hacer uso del nombre.

Abstraccin

Por qu es importante la abstraccin?


El proceso de abstraccin, debe convertirse en una habilidad para quien estudie una carrera relacionada con la computacin. La capacidad de modelar una realidad por medio de herramientas computacionales requiere necesariamente de hacer continuas abstracciones, por lo que es vital conocer metodologas que desarrollen esta habilidad.
5

Qu es la abstraccin de datos?
La abstraccin de datos es una tcnica o metodologa que permite disear estructuras de datos. Consiste bsicamente en representar bajo ciertos lineamientos de formato las caractersticas esenciales de una estructura de datos. Este proceso de diseo se olvida de los detalles especficos de implementacin de los datos.
6

Qu es una estructura de datos?


Cualquier coleccin o grupo de datos organizados de tal forma que tengan asociados un conjunto de operaciones para poder manipularlos, se dice que conforma una estructura de datos.

Tipo de Dato Abstracto (TDA)


Es la representacin de una entidad u objeto para facilitar su programacin. Se compone de:

Estructura de datos: Es la estructura de programacin que se selecciona para representar las caractersticas de la entidad modelada Funciones de Abstraccin: Son funciones que permiten hacer uso de la estructura de datos, y que esconden los detalles de dicha estructura, permitiendo un mayor nivel de abstraccin.
8

Especificacin lgica de un TDA


Es la abstraccin realizada al disear una estructura de datos, esto pasa a ser el mapa o plano con el cual se construir la estructura de datos y se definirn claramente las reglas para usar el TDA. La especificacin lgica de un TDA consiste de los siguientes cuatro puntos:

TAD = (D, t, M, F)
D t M F Conjunto de dominios en el TDA. Tipos de datos primitivos. Tipo de organizacin de los datos. Es el dominio de la estructura. Describen las operaciones y su significado.
9

Especificacin lgica de un TDA


l. Dominio de los elementos que conformarn la estructura de datos.
Es el tipo de los datos que se guardar en la estructura. Ejemplo: nmeros enteros, caracteres, fechas, registros con los datos de un empleado, etctera.

10

Especificacin lgica de un TDA


2. Tipo de organizacin guardarn los elementos. en que se

Existen cuatro tipos de organizacin para los datos en la estructura. Lineal: Si hay una relacin de uno a uno entre los elementos. Jerrquica: Si hay una relacin de uno a muchos entre los elementos. Red: Si hay una relacin de muchos a muchos entre los elementos. Sin relacin: Si no hay relaciones entre los elementos.
11

Especificacin lgica de un TDA


3. Dominio de la estructura.
Este punto es opcional, y en l se describir la capacidad de la estructura en cuanto al rango posible de datos por guardar.

12

Especificacin lgica de un TDA


4. Descripcin de las operaciones de la estructura.
Cada operacin que est relacionada con la estructura debe describirse como: Nombre de la operacin. Descripcin breve de su utilidad. Datos de entrada a la operacin. Datos que genera como salida la operacin. Precondicin: Condicin que deber cumplirse antes de utilizar la operacin para que se realice sin problemas. Poscondicin: Condicin en que queda el TDA despus de ejecutar la operacin.
13

Dinmica
Escribe en tu cuaderno un resumen de lo que acabamos de estudiar sobre la especificacin de un TDA.

14

Ejemplo:
Especificacin lgica del TDA: Cadena

Dominio de elementos: todos los caracteres alfabticos (letras maysculas y minsculas), caracteres numricos y caracteres especiales. Estructura: hay una relacin lineal entre los caracteres Dominio: existen entre O y 80 caracteres en cada valor del TDA CADENA. El dominio sern todas aquellas secuencias de caracteres que cumplan con las reglas.
15

Ejemplo:
Operaciones:
Borrainicio
Utilidad: Sirve para eliminar el primer carcter de

una cadena. Entrada: Cadena S sobre la que se desea eliminar el primer carcter. Salida: El carcter ms a la izquierda de la cadena S y la cadena S modificada. Precondicin: La cantidad de caracteres es mayor que cero. Poscondicin: La cadena S tiene todos los caracteres, menos el primero.
16

Ejemplo:
Agregafinal
Utilidad: Sirve para agregar un carcter al final de

una cadena. Entrada: Cadena S y el carcter L, que se aadir a la cadena S. Salida: Cadena S modificada. Precondicin: La cantidad de caracteres en S es menor que 80. Poscondicin: La cadena S tiene el carcter L que queda al extremo derecho de la cadena.

17

Ejemplo .
Vaca
Utilidad: Sirve para verificar si una cadena est

vaca o no. Entrada: Cadena S que se verificar. Salida: VERDADERO si la cadena S no tiene caracteres, FALSO en caso contrario. Precondicin: Ninguna Poscondicin: Ninguna (pues la cadena S no se modifica).

18

Ejemplo .
Llena
Utilidad: Sirve para verificar si una cadena est

llena o no. Entrada: .Cadena S que ser verificada. Salida: VERDADERO si la cadena S contiene ya 80 caracteres, FALSO en caso contrario Precondicin: Ninguna Poscondicin: Ninguna (pues la cadena S no se modifica).

19

Ejemplo .
Invierte
Utilidad:

Sirve para invertir el orden de los caracteres en una cadena. Entrada: Cadena S a la que se desea invertir el orden de los caracteres. Salida: Cadena S modificada. Precondicin: Ninguna Poscondicin: La secuencia de caracteres en la cadena S se invierte, de forma que el primer carcter toma el lugar del ltimo, el segundo el del penltimo y as sucesivamente.
20

Niveles de abstraccin de datos


En la abstraccin de datos se pueden definir tres niveles de trabajo:

El nivel lgico o abstracto se define la estructura de datos y las operaciones relacionadas con ella. La descripcin es independiente del lenguaje de programacin en el se usar la estructura.

21

Niveles de abstraccin de datos


2. El nivel fsico o de implementacin. En este nivel se decide el lenguaje de programacin para la implementacin, los tipos de datos ya definidos servirn para representarla y se implementa como un mdulo (o mtodo) a cada una de las operaciones del TDA. Este nivel toma el diseo del nivel lgico
3. En el nivel aplicacin o de uso el programador usar el TDA para resolver determinada aplicacin. El uso del TDA se limita a llamar las operaciones sobre la estructura que se requiera cuidando siempre de cumplir con las reglas de cada operacin especificadas en el nivel lgico.
22

La independencia de datos y el ocultamiento de informacin


Quien implementa el TDA no debe estar influenciado por la aplicacin que tendr la estructura, y quien use la estructura no tiene porqu saber cmo se implementaron sus operaciones.

Entonces la forma en que se almacenan los datos en la estructura es independiente de su aplicacin y que para el usuario programador permanece oculto cmo se implementaron las operaciones del TDA.

23

Cmo distinguir los niveles de abstraccin?


Una analoga podra hacerse al comparar este proceso con el que se realiza al construir una casa. Primero se trabaja en el nivel lgico al pedirle a un arquitecto que disee el plano. Una vez aprobado el diseo, se procede en el nivel fsico, que correspondera a la construccin. Los albailes seguirn paso a paso las especificaciones dadas en el plano. Una vez que la construccin est terminada, llegar su dueo para habitarla dndole el uso correspondiente a cada espacio.
24

Qu ventajas ofrece utilizar la tcnica de abstraccin de datos?


La tcnica obliga a disear modularmente y, como consecuencia se tiene una implementacin ms clara, documentada y es fcil darle mantenimiento. Adicionalmente, gracias a la independencia de datos y al ocultamiento de informacin se pueden crear paquetes como unidades de software reutilizable con lo que se obtienen estructuras de datos genricas.
25