Вы находитесь на странице: 1из 9

Tipos de datos Abstractos

Sistemas

Juan Manuel Sanchez Navarro 20131167076


,
Universidad Distrital Francisco Jose de Caldas
Sistemas

21 Marzo del 2017

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Tipos Abstractos de Datos

Podemos pensar un tipo abstracto de datos (TAD) como un


modelo matematico con una colecci on de operaciones definidas en
el modelo. un (TAD) es un ente cerrado y autosuficiente, que no
requiere de un contexto especfico para que pueda ser utilizado en
un programa. Esto garantiza portabilidad y reutilizacion
Las partes que forman un TAD son :
Atributos (tipos de datos, identificadores, etc.)
Funciones (rutinas) que definen las operaciones validas para
manipular los datos (atributos).
A la forma de operar y encerrar los atributos y funciones dentro un
TAD se le denomina encapsulamiento.

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Tipos Abstractos de Datos
Para implementar un TAD se siguen dos pasos:
Dise
nar las estructuras de datos que van a representar cada
objeto abstracto
Desarrollar una funci
on, por cada operaci
on del TAD, que
simule el comportamiento del objeto abstracto, sobre las
estructuras de datos seleccionadas.
Las operaciones de un TAD se calsifican en 3 grupos, seg
un su
funcion sobre el objeto abstracto:
Constructora: es la operaci
on encargada de crear elementos
del TAD.
Modificadora: es la operaci
on que puede alterar el estado de
un elemento de un TAD.
Analizadora: es una operacion que no altera el estado del
objeto, sino que como misi
on su estado y retornar alg
un tipo
de informacion.
Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital
TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Pila
Una pila (stack o pushdown en ingles) es una lista de elementos de
la cual solo se puede extraer el u
ltimo elemento insertado. La
posicion en donde se encuentra dicho elemento se denomina tope
de la pila. Tambi n se conoce a las pilas como listas LIFO (LAST IN
- FIRST OUT: el u ltimo que entra es el primero que sale).

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Pila

La interfaz de este TDA provee las siguientes operaciones:


apilar(x): inserta el elemento x en el tope de la pila (push en
ingles).
desapilar(): retorna el elemento que se encuentre en el tope
de la pila y lo elimina de esta (pop en ingles).
tope(): retorna el elemento que se encuentre en el tope de la
pila, pero sin eliminarlo de esta (top en ingles).
estaVacia(): retorna verdadero si la pila no contiene
elementos, falso en caso contrario (isEmpty en ingles).

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Cola

Una cola (queue en ingles) es una lista de elementos en donde


siempre se insertan nuevos elementos al final de la lista y se
extraen elementos desde el inicio de la lista. Tambien se conoce a
las colas como listas FIFO (FIRST IN - FIRST OUT: el primero
que entra es el primero que sale).

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Cola

Las operaciones basicas en una cola son:


encolar(x): inserta el elemento x al final de la cola (enqueue
en ingles).
sacar(): retorna el elemento que se ubica al inicio de la cola
(dequeue en ingles).
estaVacia(): retorna verdadero si la cola esta vaca, falso en
caso contrario. Al igual que con el TDA pila, una cola se puede
implementar tanto con arreglos como con listas enlazadas. A
continuacion se vera la implementaci
on usando un arreglo.

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Cola

Las variables de instancia necesarias en la implementacion son


primero: indica el ndice de la posici
on del primer elemento de
la cola, es decir, la posici
on el elemento a retornar cuando se
invoque sacar
ultimo: indica el ndice de la posici
on de u
ltimo elemento de la
cola. Si se invoca encolar, el elemento debe ser insertado en el
casillero siguiente al que indica la variable.
numElem: indica cuantos elementos posee la cola. Definiendo
MAXE LEMcomoeltamanom aximodelarreglo, yporlotantodelacola, ent

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas
Lista

Una lista se define como una serie de N elementos E1 , E2 , ..., EN ,


ordenados de manera consecutiva, es decir, el elemento Ek (que se
denomina elemento k-esimo) es previo al elemento Ek+1 . Si la lista
contiene 0 elementos se denomina como lista vaca.
Las operaciones que se pueden realizar en la lista son: insertar un
elemento en la posicion k, borrar el k-esimo elemento, buscar un
elemento dentro de la lista y preguntar si la lista esta vaca.
Una manera simple de implementar una lista es utilizando un
arreglo. Sin embargo, las operaciones de inserci on y borrado de
elementos en arreglos son ineficientes, puesto que para insertar un
elemento en la parte media del arreglo es necesario mover todos los
elementos que se encuentren delante de el, para hacer espacio, y al
borrar un elemento es necesario mover todos los elementos para
ocupar el espacio desocupado. Una implementaci on mas eficiente
del TDA se logra utilizando listas enlazadas.

Juan Manuel Sanchez Navarro 20131167076 , Universidad Distrital


TiposFrancisco
de datosJose
Abstractos
de Caldas Sistemas

Вам также может понравиться