TIPOS DE ABSTRACTOS DE DATOS (TAD`S)
Transcript of TIPOS DE ABSTRACTOS DE DATOS (TAD`S)
TIPOS DE ABSTRACTOS DE DATOS (TAD`S)
Prof. Masun Nabhan Homsi
TAD/TDA
un conjunto de valores y un conjunto de operacionessobre tales valores. Este conjunto y estas operaciones forman una estructura matemática que se implementa en un lenguaje y en el computador como un tipo.
Ejemplo: En C, int {-65535 .......... 65536}+ +- -* * / / y %
Registro struct
TAD/TDA
Un TAD es un ente cerrado y autosuficiente, que no requiere de un contexto específico para que puedaser utilizado en un programa. Esto garantizaportabilidad y reutilización del software, y minimizan los efectos que se producen un cambio al interior de un TAD. Esta propiedad se denomina ENCAPSULAMIENTO.
TAD/TDA
Aho, Hopcroft y Ullman (1988) señalan que un TDA se entiende como “un modelo matemático con una serie de operaciones definidas en ese modelo” .
Guttag (1977) expresa que un TDA es “Una clase de objetos definida por una especificación independiente de la representación”.
Liskop (1974) establece que “Un TDA define una clase de objetos abstractos la cual está completamente caracterizada por las operaciones definidas para estos objetos”.
TAD
DATOS---------------Invariantes
---------------Rutinas
Elemento del mundo
Modelaje
Objeto abstracto
Especificación de un TAD
TAD <Nombre>
<Objeto Abstracto>Formalismo para representar
el Objeto Abstracto
<Invariante del TAD>
<Operaciones>
Especificación de un TAD
Especificación de la operaciones:Consta de DOS partes:
La funcionalidad (Especificación sintáctica): Dominio y Condiminio.
Forma general :<Operación>: <Dominio> == >> <Condominio>Ejemplo : filasMat: MATRIZ == >> int
Especificación de un TAD
Especificación de la operaciones: Comportamiento (Especificación Semántica) Pre-condición y Post-condición
Forma general:
Ejemplo:
Ejemplo 1(TAD de una matriz)
Ejemplo 1(TAD de una matriz)
Ejemplo 2(TAD de un Diccionario)
Ejemplo 2(TAD de un Diccionario)
Ejemplo 2(TAD de un Diccionario)
Clasificación de las operaciones
Se clasifican en TRES grupos : GRUPO I: Constructora : Se encarga de CREAR el
TAD y tiene la siguiente estructora
crearMAT y crearDic
Clasificación de las operaciones
GRUPO II: Modificadora: Altera el estado de un elemento del TAD, y su estructura general es :
asignarMat, agregarPalabraDic
Clasificación de las operaciones
GRUPO III : Analizadora : No altera el estado del objeto, sino tiene la misión de consultar y/o retornar algún tipo de información. Su estructura es:
infoMat, filasMat y columnasMat. SignifDic
Otros tipos de operaciones
Comparación : Es una ANALIZADORA que permite comparar dos TAD.
Copia: Es una MODIFICADORA que permite alterar el estado de un objeto del TAD copiándolo a partir de otro.
Destrucción: Es una MODIFICADORA que se encarga de borrar el TAD de la memoria dinámica.
Salida a Pantalla: Es una ANALIZADORA que permite visualizar los elementos del TAD.
Otros tipos de operaciones
Persistencia: Son operaciones que permiten guardar/leer el estado de un objeto abstracto de algún medio de almacenamiento en memoria secundaria.
Otras operaciones del TAD Matriz
Manejo de ERRORES
Tres tipos : Responsabilidad del usuario : La operación supone
que el elemento del TAD sobre el cual se va a ejecutar la operación, lo mismo que los argumentos de la llamada, cumplen con los requisitos planeados por la pre-condición de la operación. En caso de no cumplirlos, las consecuencias son problemas del cliente y el comportamiento de la operación es indefinida.
Manejo de ERRORES
Informa el error: En este caso, cada operación –sobre todo las modificadoras – verifican que la operación haya tenido éxito. Lo usual retorna un código informándole al clente el tipo de error detectado, o el éxito de la operación. La estructura de las MODIFICADORAS resulta la siguiente :
Manejo de ERRORES
Informa el error: Ejemplo :
Manejo de ERRORES
Responsabilidad de la operación : En este caso, la operación intenta recuperarse y si no lo consigue cancela la ejecución e informa la razón. Este esquema es utilizado por las operaciones que pueden verse afectada por problemas de memoria, o de Entrada/Salida, para las cuales no tiene sentido continuar la ejecución del programa.
Metodología de Diseño de TAD
Estructura de Datos
Identificar Elementos
Formalismo
Constructoras
Modificadoras
Otras Operaciones
Persistencia
Invariante Analizadoras
Ejemplo 1: Conjunto de valores naturales en un rango dado.
Ejemplo 1: Conjunto de valores naturales en un rango dado.
Conjunto de valores naturales en un rango dado.
Especificaciones de las operaciones :
Ejemplo 1: Conjunto de valores naturales en un rango dado.
Ejemplo 1: Conjunto de valores naturales en un rango dado.
Ejemplo 2: Diseño del TAD CONJUNTO
Objeto Abstracto : Conjunto de números enteros. Prefijo : C_ Formalismo :
CONJUNTO : {e1, e2... , en} donde ei int y n es la cardinalidad del
conjunto
Formalismo : Operaciones :
Ejemplo 2: Diseño del TAD CONJUNTO
Formalismo : Operaciones :
Ejemplo 2: Diseño del TAD CONJUNTO
Ejemplo 2: Diseño del TAD CONJUNTO
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de la estructura del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
Gracias por su atención
1/14/2015Prof. Masun Nabhan Homsi