Sei sulla pagina 1di 23

Prof. Ing.

Zamantha Gonzlez Daz Mayo, 2008


Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Los datos fsicos se encuentran asociados a un mecanismo
de datos, que controla la forma en la que la informacin
puede ser accedida por los programas, existen principalmente
cuatro tipos de estos mecanismos.
Que son :
Las colas Las pilas
Las listas Los rboles

Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008


Cada uno de los mtodos mencionados con anterioridad
proporciona una solucin a cada tipo de problema.
Cada uno un dispositivo que realiza una operacin de
almacenamiento y de recuperacin de los datos dados.
Todos ellos tienen
dos elementos en
comn, como es :
El almacenamiento
de datos
La recuperacin
de datos
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
CONCEPTO DE LISTA
Es un conjunto de nodos cuyas propiedades estructurales
incluyen solo las posiciones lineales (unidimensionales) para ella se
definen operaciones como las siguientes:
.- Tener acceso a un nodo
.- Insertar y eliminar un nodo en la lista
.- combinar dos o mas listas en una
.- Dividir una lista en dos o mas listas
.- Determinar la cantidad de nodos en la lista
.- Ordenar la lista de acuerdo a un criterio
.- buscar un elemento bajo una condicin.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
PILAS
Es un conjunto dinmico que
obedece el orden lifo
Las pilas es en las que todas las
inserciones y extracciones de
elementos se realizan por un solo
extremo, llamado el tope de la
pila.
primero
ultimo
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
LAS SIMPLEMENTE ENLAZADAS
Contienen un enlace al elemento siguiente, las
doblemente enlazadas tanto al siguiente elemento como al
elemento anterior del la lista.
Una lista simplemente enlazada necesita que cada
elemento contenga un enlace con el siguiente elemento, cada
elemento consiste en una estructura de campos de
informacin a punteros de enlace.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
LISTAS DOBLEMENTE ENLAZADAS.
Las listas doblemente enlazadas consisten en datos y
enlaces tanto al elemento siguiente como al elemento anterior.
Con lo que se consiguen dos grandes ventajas, primero la lista
se puede leer en cualquier direccin, la segunda es que se
pueden leer los enlaces hacia delante como hacia atrs, con lo
que si un enlace resulta no valido se puede reconstruir
utilizando el otro enlace.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
LISTAS CIRCULARES
Las listas son estructuras muy ricas y variadas. Hemos visto
las ms simples; las listas lineales. Veamos ahora otros tipos de listas,
similares a las ya estudiadas; las listas circulares. Una lista lineal
enlazada circularmente, o simplemente una lista circular, es una lista en
la que el puntero siguiente al "ltimo" elemento apunta hacia el primer
elemento o nodo. En estas listas no existen ni primero ni ltimos
elementos, aunque se debe elegir obligatoriamente un puntero para
referenciar la lista.
Esta lista presenta la gran ventaja de que cada nodo en una lista
circular es accesible evitando caer en un bucle infinito.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
EJEMPLO:
Las listas circulares tienen la caracterstica de que el
ultimo elemento de la misma apunta al primero. en la
siguiente figura se mostrara un ejemplo de una lista
circular:
las operaciones en listas circulares son similares a las operaciones
en listas lineales , por lo tanto no se volver a tratar cada una de
ellas.
En el caso de la operacin de recorrido de las listas circulares , es
necesario que se debe aclarar que se debe considerar algn criterio
para detectar cuando se han visitado todos los nodos para evitar
caer en ciclos infinitos.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
PILAS
Estructura de datos en la que los elementos se aaden y
quitan solo por un extremo.
Una pila es lo contrario de una cola, ya que su acceso es de
tipo LIFO, el ltimo que entra es el primero que sale.
Imaginar un montn de libros unos encima de otros y que
para acceder al segundo por arriba primero es necesario
coger el primero, su utilizacin principal es para el software
de sistemas, compiladores, intrpretes.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
ESPECIFICACIN FORMAL DEL TAD-PILA
Para definir el tipo de datos abstracto (TAD) pilas, no es
suficiente la estructura lgica. Debemos definir el conjunto
de operaciones que permita al usuario acceder y manipular
los elementos almacenados en una pila. Como las pilas es
una estructura dinmica, cambia conforme se aaden y
quitan elementos en esta.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
IMPLEMENTACION DE PILAS CON ARREGLOS
Una pilas es una coleccin ordenada de objetos. En C,
arreglos permite almacenar colecciones ordenadas. Las
desventajas de implementar una pila mediante un
arreglo es que esta ltima es de tamao fijo, mientras
que las pilas son de tamao dinmico.
OPERACIONES DE UNA PILA
Las operaciones bsicas de una pila son push (empuja,
meter) y pop (sacar)
_ Push: aade un nuevo elemento
_ Pop: elimina un nuevo elemento
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Otra operaciones usualmente incluidas es el tipo de
datos adstrato pila son:
_ isEmpty (esta vaca): verifica si la pila es
esta vaca
_ IsFull (esta Llena): verifica si la pila esta
llena
Ejemplo
4 4
1
4
1
1
4
1
4
1
4
4
1
push(4) push(1) push(1) pop() push(4) pop()
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Pila_Vacia: Consultar si la pila est vaca
Pila_Llena: Consultar si la pila est llena
Consultar_Pila: Consultar el contenido de la cima de la pila sin
sacar el elemento de la misma
El carcter dinmico de la pila se debe a que el tamao de la
pila es variable, independientemente de la implementacin.
Crea una pila
inicializndola como una
pila vaca
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Push: inserta un elemento
en el top de la pila
Cada elemento al ser insertado
ocupar siempre el top en la pila;
12 en la imagen anterior y 15 en
esta imagen.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Los elementos han sido
insetados en este orden:
12, 15, 99, 1, 5, 33, 421, 53, 27,
82, 641, 66, 31, 41, 51
dado que el ultimo elemento fue
el 51 es el que ocupa el top en la
pila
Una caracterstica de las pilas es
que son estructuras LIFO(last
input , first output), es decir el
ultimo en entrar sera el primero
en salir
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
VARIABLES DINMICAS.
Existen una gran variedad de aplicaciones en las que no es
posible conocer a priori la dimensin de los datos que sern
necesarios, por lo que en dichos casos es necesario utilizar tipos
de datos DINMICOS. El inconveniente es que, muy
posiblemente, se ocupar memoria que puede ser necesaria para
otras variables. Las estructuras dinmicas se caracterizan porque
la reserva de memoria se realiza durante la ejecucin del
programa pudiendo reservar y liberar posiciones de memoria
segn sea necesario durante la ejecucin del mismo
.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
DIRECCIONES DE MEMORIA:
La memoria interna del ordenador se organiza
mediante celdas numeradas o direccionadas consecutivamente.
Cada dato almacenado ocupar una de estas celdas (conjunto
de bytes adyacentes). El nmero de bytes que se requieren para
almacenar un dato depende de su tipo, as como del procesador
de la mquina.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
La declaracin de un determinado dato indica, entre otras
cosas, que el compilador reservar automticamente
memoria para almacenar dicho dato. El dato podr ser
accedido si se conoce su localizacin o direccin de
memoria, ( nota ). La direccin del dato se corresponde con
la direccin de la casilla o celda de memoria que contiene
dicho dato. La direccin de una celda de memoria es una
identificacin predeterminada por el hardware del
ordenador y no se puede modificar.
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008
Ejemplo: Sea la variable "a" que representa un dato de
tipo entero. Tras la declaracin de dicha variable, int a,
el compilador reservar el nmero de bytes necesarios
a partir de una determinada direccin de la memoria:
Direcciones
Nombres de
variable
Contenido de variables
#387 vacio
#388 variable1 vacio
#389 A vacio
#390 variable3 vacio
#391 vacio
Prof. Ing. Zamantha Gonzlez Daz Mayo, 2008

Potrebbero piacerti anche