Está en la página 1de 26

Uso de Tipos Abstractos de Datos en la Resolucion de

Problemas
Transparencias de consolidaci
on

Jose Ignacio Mayorga, Javier Velez


Estrategias de Programaci
on y Estructuras de Datos

curso 2.011-2.012

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 1

Resumen
En este material vamos a ver:

Introduccion

Los TAD y sus Propiedades


Propiedades de los TAD

Proceso de seleccion de TAD

Seleccion de TAD para un problema


Seleccion mediante un arbol de decisi
on
Seleccion mediante una tabla

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 2

Introduccion
La resolucion de problemas mediante algoritmos requiere una organizacion
y representacion de la informaci
on que facilite su acceso y procesamiento.
Las soluciones algortmicas persiguen la reutilizacion:
Aplicaci
on a problemas similares por adaptaci
on parametrica
Los Tipos Abstractos de Datos facilitan este objetivo

Este material describe:


El proceso de selecci
on de TAD para resolver problemas
Las propiedades de los TAD que se han estudiado en el curso
Criterios de adecuaci
on de los TAD para la resolucion de problemas

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 3

Los TAD y sus propiedades (1 de 3)


Propiedades de los TAD
Las distintas abstracciones de datos tienen caractersticas que las
diferencian. Estas caractersticas permiten adaptar algunos TAD mejor que
otros a problemas concretos.
Las propiedades de los TAD permiten responder ciertas consultas
Veremos cuales son las propiedades que aporta cada familia de TAD
Las propiedades de un TAD responden a un modelo matematico
La implementacion de un TAD debe respetar sus propiedades

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 4

Los TAD y sus propiedades (2 de 3)


Propiedades de los TAD
Las distintas abstracciones de datos tienen caractersticas que las
diferencian. Estas caractersticas permiten adaptar algunos TAD mejor que
otros a problemas concretos.
Todos los TAD representan colecciones de datos
Pueden ser de dos tipos: conjuntos y bolsas
Difieren en la prohibici
on o admisi
on de elementos repetidos.
Ambos responden la pregunta esta el elemento e en la coleccion C?
Disponen de operaciones:

del Algebra
de conjuntos (uni
on, intersecci
on y complemento)
que se derivan del modelo matematico de conjunto (conmutatividad,
asociatividad, distributividad, principio de dualidad, leyes de De
Morgan, etc.)
c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 5

Los TAD y sus propiedades (3 de 3)


Propiedades de los TAD
Las distintas abstracciones de datos tienen caractersticas que las
diferencian. Estas caractersticas permiten adaptar algunos TAD mejor que
otros a problemas concretos.
Existen restricciones que se pueden imponer a una coleccion:
que adquiere otras propiedades ademas de las de conjuntos y bolsas
que permiten responder nuevas consultas de los nuevos TAD

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 6

Propiedades definitorias de los TAD (1 de 4)


Caractersticas definitorias de los TAD
Existen propiedades debidas a la estructura (organizacion de la
informacion) que seran candidatas a definir clases diferentes de
abstracciones de datos o TAD
1

El orden
Orden posicional
Orden de clave

La topologa

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 7

Propiedades definitorias de los TAD (2 de 4). El orden


posicional
Caractersticas definitorias de los TAD: orden posicional
Existen propiedades debidas a la estructura (organizacion de la
informacion) que seran candidatas a definir clases diferentes de
abstracciones de datos o TAD
1

El orden de almacenamiento, colocaci


on o posici
on
Propiedad de la disposici
on de los datos (no de los propios datos)
Condiciona el acceso a los elementos de la coleccion representada
Define una secuencia de acceso relevante para el problema o su
definici
on.
Por ejemplo, el orden de los elementos en una cola es un orden
posicional, porque depende de su llegada a la coleccion, no del valor de
los elementos.
Este tipo de propiedad permite responder a consultas que tienen que
ver con la propia disposici
on de los elementos, no con su valor o clave
de acceso (v. gr: el quinto elemento de una lista).

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 8

Propiedades definitorias de los TAD (3 de 4). El orden de


clave
Caractersticas definitorias de los TAD: orden de clave
Existen propiedades debidas a la estructura (organizacion de la
informacion) que seran candidatas a definir clases diferentes de
abstracciones de datos o TAD
1

El orden de clave, de relaci


on o de comparaci
on entre los datos
Propiedad de la colecci
on de datos sobre la que se impone una
operaci
on de comparaci
on
Propiedad de los elementos y de la operaci
on, no de su estructura
Puede tratarse de un orden parcial o completo
Su aplicaci
on produce una secuencia de elementos
Ejemplo: orden de los elementos en un ABB; depende del valor de los
elementos y de c
omo se compara este. El inorden sera un orden
completo
Este tipo de propiedad responde preguntas de relacion o comparacion
de elementos por clave; Ej: elementos mayores que uno dado.

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 9

Propiedades definitorias de los TAD (4 de 4): topologa


Caractersticas definitorias de los TAD: topologa
Existen propiedades debidas a la estructura (organizacion de la
informacion) que seran candidatas a definir clases diferentes de
abstracciones de datos o TAD
define las relaciones de acceso (contig
uidad) entre elementos
Conecta un elemento con otros de la misma coleccion, que puede ser:
Intrnseca al problema
Ej: representar una jerarqua existente con un
arbol (las relaciones
jer
arquicas ya existan antes de modelar el problema)

Extrnseca al problema o dependiente del modelo de representacion


Ej: representar una colecci
on con un ABB por eficiencia

La relaci
on entre los elementos representados provoca una
estructuraci
on que permite responder a consultas no solo sobre el valor
o la clave de acceso a dichos datos, sino sobre la estructura (acceso
desde un elemento a otros)
c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 10

Proceso de seleccion de TAD (1 de 5)


Seleccion de un TAD para un problema: fases
Se requiere un analisis de requisitos, que ayudara a validar las decisiones
tomadas.
El proceso consta de cuatro fases:
1
2
3
4

Selecci
on de las operaciones para el TAD
Selecci
on de la estructura seg
un las operaciones
Comprobaci
on de las operaciones para la estructura elegida
Revisi
on y adaptaci
on de la estructura

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 11

Proceso de seleccion de TAD (2 de 5): seleccion de


operaciones
Seleccion de un TAD para un problema: operaciones
Se trata de elegir (si no vienen dadas) las operaciones que permitan dar
servicio a la logica de negocio para la que se selecciona el TAD.
1

Selecci
on de las operaciones para el TAD
Conjunto de operaciones que permitan el acceso y manipulacion de la
informaci
on en las condiciones que dicte el problema
Constructoras, consultoras, modificadoras, predicados
El conjunto de operaciones con sus parametros se llama signatura (en
Java, interfaz) del TAD

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 12

Proceso de seleccion de TAD (3 de 5): seleccion de la


estructura
Seleccion de un TAD para un problema: representacion
Se trata de elegir una estructura que soporte las operaciones del TAD.
2

Selecci
on de la estructura o representaci
on del tipo
Las operaciones deberan sugerir que es importante para el manejo de
la colecci
on de datos almacenada y, por lo tanto, que aspectos deberan
optimizarse.
Los distintos TAD tienen o imponen propiedades diferentes
Puede seleccionarse una representaci
on que disponga de algunas de
esas propiedades, lo que facilitara obtener el resultado esperado para la
manipulaci
on y acceso a la informaci
on que guarda el tipo elegido
No siempre existe una estructura (TAD) que optimice todos los
criterios o requisitos

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 13

Proceso de seleccion de TAD (4 de 5): comprobacion de


operaciones
Seleccion de un TAD para un problema: comprobacion de operaciones
Se trata de comprobar la adecuaci
on de la estructura a las operaciones.
3

Comprobacion de las operaciones seg


un la estructura del TAD
La representaci
on elegida confiere las propiedades buscadas?
C
omo se programaran las operaciones del tipo seg
un la estructura
elegida?
Validaci
on de la elecci
on (si hay discordancias, volver al paso 2)
Criterio: optimizaci
on del TAD
Que hay que optimizar y c
omo?
Eficiencia temporal de las operaciones
Regla de oro: nada debe ser innecesariamente ineficiente
Ej: no es admisible un exceso de espacio no proporcional a la ganancia
en tiempo que genere su uso
Las operaciones m
as utilizadas suelen ser las consultoras
(compruebese!)

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 14

Proceso de seleccion de TAD (5 de 5): revision de la


estructura
Seleccion de un TAD para un problema: revision de la estructura
La estructura puuede requerir ajustes por varias razones.
5

Revision y adaptacion de la estructura


Cuando la estructura es satisfactoria
Cumple los criterios
Lo hemos comprobado simulando mentalmente c
omo programaramos
las operaciones del tipo

Hay que ver si se necesita ajustar la estructura elegida


para mejorar la eficiencia
o para obtener algunas propiedades adicionales que convengan al
modelo

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 15

Procedimientos de seleccion de TAD segun caractersticas


del problema
En esta seccion:
Usaremos dos estructuras de datos (arboles y tablas)
Para resolver un problema (la elecci
on de un TAD para el problema
del enunciado)
De manera algortmica (ya que se trata de averiguar, en una serie de
pasos, la mejor elecci
on de TAD disponible)
La diferencia es que la codificaci
on de esta solucion no se basa en
instrucciones de un lenguaje de programaci
on sino en indicaciones a
una persona
Cuyo software (conocimientos adquiridos en la asignatura) deberan
ser suficientes para evaluar las cuestiones y tomar las alterativas
adecuadas ejecutando los pasos propuestos

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 16

Selecci
on de TAD mediante un arbol de decisi
on

Responder una serie de cuestiones sobre el problema


Seg
un las respuestas que vayamos obteniendo, se nos sugerira la
eleccion de uno u otro TAD
Posteriormente, habra que complementar esta eleccion con la
representacion especfica que se adapte a las caractersticas del
problema.
Los pasos que se proponen se dan en un cierto orden pero no todos
requieren esta secuencia
Las cuatro preguntas que se proponen son mutuamente
independientes y se refieren a caractersticas que no tiene por que ser
mutuamente excluyentes
Para cada eleccion, se detallan las consultas que esa estructura (ese
TAD) permite responder.

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 17

1. Elementos repetidos

Pregunta 1: repetidos
En la coleccion de datos, puede haber repetidos?
Esta propiedad se debera tener en cuenta al consultar, insertar y
borrar elementos (el acceso se realizara a uno o varios elementos
repetidos)
Un TAD que representa una colecci
on es subtipo de conjunto o bolsa
Respuestas:
No: se trata de un conjunto
Consultas posibles: pertenencia de un elemento, uni
on, intersecci
on,
diferencia simetrica

S: se trata de una bolsa o multiconjunto


Consultas posibles: las de conjunto pero el resultado (la respuesta)
siempre basado en colecciones (por ejemplo, la pertenencia se puede
responder como un natural: cu
antos elementos tienen la clave?)
c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 18

2. Orden posicional (1 de 2)

Pregunta 2: orden posicional


La colecci
on requiere una disposici
on ordenada?
Determina que la colecci
on sea (o se comporte como) una secuencia
Los ABB tambien imponen un orden pero se basa en la comparacion
de elementos (orden de claves)
Respuestas:
No: se trata de un conjunto (o bolsa, seg
un 1)
En este caso, hay que ver si las operaciones motivan una estructura
m
as adelante. Veanse los
arboles.

S: Q
ue tipo de orden?
Consultas posibles: las que tienen en cuenta el orden. Daremos, de
estas, cuenta de la elemental, que da lugar a otras tambien interesantes
que la utilizan para obtener una (sub)colecci
on de la original.

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 19

2. Orden posicional (2 de 2)

Pregunta 2: orden posicional


La colecci
on requiere una disposici
on ordenada?
Respuestas:
S: Q
ue tipo de orden?
Directo: Cola o Lista
Se requiere poder acceder, consultar o insertar en cualquier posicion?
Respuestas:
No: Cola
Consultas posibles: las de conjunto o bolsa, seg
un proceda adem
as de
primero en el orden posicional.

S: Lista
Consultas posibles: las de Cojunto o Bolsa, Cola y Pila, adem
as de
k-esimo en posici
on

Inverso: Pila
Consultas posibles: las de Conjunto, u
ltimo en posici
on
c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 20

3. Topologa (1 de 2)

Pregunta 3: topologa
La colecci
on requiere una topologa especfica?
Respuestas:
No: estamos en la situaci
on de 2.
S: que tipo de topologa?
Respuestas:

Jer
arquica: Arbol
General: Grafo (no se estudia en este curso)

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 21

3. Topologa (2 de 2)

Pregunta 3: topologa
La colecci
on requiere una topologa especfica?
Respuestas: S: que tipo de topologa? Jerarquica
Consultas posibles: las de Conjunto o Bolsa, relaciones jerarquicas
(ascendiente o descendiente, directo o no), las de recorrido.

El n
umero de hijos de cada nodo esta limitado a 2?

No: Arbol
n-ario (con o sin lmite de hijos)
Consultas posibles: las de Conjunto o Bolsa, las Jerarquicas y las que
dependen de su topologa (1) o funci
on (2)
1
2

Ej: n
umero o tipo de elementos en un nivel o camino
Ej: En un
arbol de decisi
on, conjunto de decisiones que llevan de un
punto a otro (decisiones de opci
on m
ultiple).

S: Arbol
binario
Consultas posibles: las de Conjunto o bolsa, las Jerarquicas y las que
dependen de su topologa (como en arboles n-arios) o de su funcion
Ej: en un
arbol de decisi
on, conjunto de decisiones booleanas que llevan
a un punto a otro
c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 22

4. Orden de claves (1 de 1)

Pregunta 4: orden de claves


La colecci
on requiere consultas por orden de claves?
La precondicion de las operaciones del tipo debe exigir este orden
(por la clave de consulta)
Consultas posibles:
consultas m
ultiples que requieren contig
uidad en la relacion de orden
(los elementos en el intervalo [a,b])
accesos puntuales (a un u
nico elemento) eficientes (ABB traslada el
esquema de b
usqueda dicot
omica a un TAD)

Respuestas:

No: veanse los casos 2 (Secuencia) o 3 (Arbol)

S: Arbol
Binario de B
usqueda
Consultas posibles: Conjunto, Bolsa, Jer
arquicas (estructura), orden de
claves
Por ejemplo, todos los elementos menores o mayores que uno dado o el
k-esimo en el orden de claves).
Deben equilibrarse siempre para mantener su eficiencia
c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 23

Selecci
on de un TAD: tabla de decisi
on
Se ofrece una tabla para ayudar a guiar el proceso. Como en el algoritmo,
las decisiones son heursticas, no reglas fijas. Puede haber TAD que
requieran adaptarlas.
TAD
Criterio
TAD
Consultas

repetidos
orden
(posicional)
orden
(de claves)
topologa

sin estructura

secuencia

jerarqua

conjunto
, ,
, \

bolsa
conj.
respuesta
num
erica
posible

lista
conj.
bolsa
posici
on
(cualq.)

pila
conj.
bolsa
posici
on
(primero)

cola
conj.
bolsa
posici
on
(
ultimo),
orden de
llegada

arbol n-ario
conj.
bolsa
jerarqua
topologa
funci
on
(ej: decisi
on
m
ultiple)

arbol binario
conj.
bolsa
jerarqua
topologa
funci
on
(ej: decisi
on
booleana)

No
No

S
No

orden
directo
No

No

orden
inverso
No

No

orden
directo
No

ABB
conj.
bolsa
jerarqua
topologa
funci
on
b
usqueda
por clave
orden de
clave

No

No

No

No

lineal
(directa)
(primero,
sig.,
k-
esimo)

lineal
(inversa)
(
ultimo,
anterior)

lineal
(directa)
(primero,
sig.)

jer
arquica

jer
arquica

lineal
(clave)
jer
arquica
posici
on)

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 24

Explicaci
on de la tabla de decisi
on (1 de 2)

Propiedades:
: el criterio no afecta al TAD

Clasificaci
on:
Todos los TAD son subtipos de conjunto o de bolsa
Cada TAD se ubica en su topologa principal
Algunos TAD pueden comportarse como otros (recorrido de arboles)

Orden:
Posicional:
Seg
un colocaci
on o almacenamiento
Sujeto a poltica de acceso
No se refiere a los elementos sino a la colecci
on

De claves:
Refleja un orden parcial o total entre los elementos de la colecci
on
Se refiere al valor de las claves de dichos elementos

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 25

Explicaci
on de la tabla de decisi
on (2 de 2)

Topologa:
La
La
La
La

general (grafos) no se estudia en este curso


topologa lineal admitira la condici
on de circularidad
ordenaci
on por claves en un ABB induce una topologa lineal
disposici
on de los elementos en un ABB representa una jerarqua
Que no responde a caractersticas del problema
Sino que tiene que ver con la estructura elegida
Esta topologa permite responder a consultas por orden de claves

c Jos

e Ignacio Mayorga, Javier V
elez LSI-UNED, 2.012

EPED 26