Escolar Documentos
Profissional Documentos
Cultura Documentos
Las Estructuras de datos Estticas, son aquellas en las que el tamao ocupado en
memoria se define al tiempo de compilacin, es decir, antes de la ejecucin del
programa, y no podr ser cambiado durante ella.
Las estructuras de datos pueden ser Lineales y no Lineales, las primera se refieren a que los
elementos se encuentran posicionados lgicamente de manera secuencial uno tras otro, y las
no lineales son aquellas en que despus de un elemento se encuentran posicionados ms de
uno.
Entre las Estructuras Lineales se encuentran las Pilas, Colas y Listas.
PILAS
La Pila es una estructura de datos lineal que puede organizarse de manera esttica o dinmica.
Se caracteriza por tener un mecanismo llamado LIFO (Last Input, First Output) que permite
realizar operaciones de insercin y eliminacin de manera que el ltimo en entrar, es el
primero en salir. Las entradas y salidas de datos se realizan por uno de sus extremos llamado
Tope.
La mayora de lenguajes disponen de un tipo de dato Pila( Stack), sin embargo, es necesario
conocer su manipulacin ya sea mediante memoria esttica o dinmica.
Mediante memoria esttica la forma de representar una pila es mediante un vector. Para
representarla como estructura dinmica, se usan Listas Enlazadas o Ligadas.
Representacin grfica (Esttica)
4 40
Pila
(Stack)
Tope
3 35
2 20
1 15
ESTRUCTURAS DE DATOS
Operaciones primitivas
1. INSERCIN. Consiste en agregar datos o elementos a una pila incrementando el tope
de esta, y la operacin se conoce como push. Cuando se trata de una pila esttica, la
operacin se puede realizar siempre y cuando exista espacio en la pila.
2. ELIMINACIN. La supresin de un dato es conocida como operacin pop, y una vez
eliminado el dato, el tope debe decrementarse. Para realizar esta operacin la Pila
debe tener al menos un elemento.
3. OBTENER ELEMENTO EN EL TOPE. Es la operacin llamada stacktop, y permite
obtener el dato que se encuentra al tope, sin eliminarlo de la pila. Al igual que la
operacin anterior, para realizarla, la Pila debe tener al menos un elemento.
4. PILA VACA. Permite saber si la Pila est vaca para poder realizar otras operaciones.
La operacin retorna un valor verdadero si efectivamente la Pila se encuentra vaca, y
se conoce como empty.
Adems de estas operaciones, cuando se trata de una Pila Esttica, se debe definir la
operacin para saber si la Pila est llena, ya que tendremos la limitacin de memoria.
COLAS
Una cola es una estructura de datos lineal. El mecanismo que identifica a una cola es conocido
como FIFO (Fisrt Input First Output), es decir el primer elemento que se inserta a una cola es
el primero en salir. Los extremos por donde se realizan las operaciones de entrada y salida,
son llamados fin y frente, consecutivamente.
Existen diversos tipos de colas:
1. La cola circular: Es aquella que representa a la estructura de datos como un crculo y
no como una lnea recta. Esta representacin soluciona el problema de espacio
desaprovechado que se presenta en una cola esttica considerada como lnea recta.
3
30
40
25
20
Fin
4
Frente
1
2. La bicola o cola doble: Es aquella en la que las inserciones y las eliminaciones se
pueden realizar por cualquiera de sus dos extremos. Existen dos tipos de bicolas:
a) Bicola de entrada restringida: Es aquella que acepta inserciones solo al final de
la cola y acepta eliminaciones tanto por el frente como en el fin.
b) Bicola de salida restringida: Es aquella que acepta eliminaciones solo por el
frente e inserciones tanto por el final como por el frente.
2
ESTRUCTURAS DE DATOS
3.
De la misma forma que se utilizan las Pilas, ser necesario crear la operacin de Cola llena, si
se trata de una estructura esttica.
Se debe tener cuidado en validar las operaciones, checando que estas s se puedan realizar
para evitar errores.
LISTAS ENLAZADAS
Una lista enlazada o ligada, es una estructura de datos lineal dinmica.
Una lista enlazada se caracteriza porque los elementos se almacenan en posiciones de
memoria que no son contiguas, por lo que cada elemento necesita almacenar la referencia
(direccin de memoria) del siguiente elemento de la lista. Existen Listas Simples, Dobles,
Simple Circular y Doble Circular.
Esta forma de almacenamiento y organizacin de datos resulta la ms adecuada si el nmero
de elementos a almacenar es impredecible, ya que no hay un lmite preestablecido para el uso
de memoria.
Una lista de este tipo se comporta de acuerdo a las necesidades de la aplicacin. Es decir no
existen operaciones especficas para una lista, mediante Listas Enlazadas se pueden
representar Pilas y Colas.
Lista Simple
Una lista enlazada Simple se construye vinculando objetos, llamados Nodos, que contienen al
menos un miembro para la informacin y un miembro que es una referencia a otro objeto de
su mismo tipo, de modo que el ltimo nodo en la lista no contiene otra referencia, sino un
valor nulo. Una lista Simple, contiene la referencia al primer objeto o nodo, que es el inicio de
3
ESTRUCTURAS DE DATOS
la lista.
Representacin grfica:
Inicio = 1008
1008
1002
30
1010
1010
10
20
Nodo
Null
1002
Lista Doble
Una lista ligada simple restringe el recorrido por los nodos hacia una sola direccin, as como
dificulta la operacin de eliminacin de un nodo. Estos inconvenientes desaparecen si se
utiliza una lista doblemente ligada.
Una lista doble es aquella donde cada nodo tiene un par de miembros que contienen
referencias de enlace. Un enlace permite recorrer la lista hacia adelante, mientras que el otro
permite hacerlo hacia atrs.
Para que esto tenga sentido la lista puede definir dos referencias, la del nodo inicial y la del
nodo final.
Representacin grfica:
1010
1050
1030
inicio=1010
100
200
300
fin=1030
ant
null
1010
1050
1050
1030
null
sig
Lista Circular
Es aquella en la que el ltimo elemento apunta al primero, en vez de apuntar a un valor nulo.
Puede tener ligas simples o dobles.