Você está na página 1de 4

ESTRUCTURAS DE DATOS

UNIDAD 3 ESTRUCTURAS LINEALES ESTATICAS Y DINAMICAS


Una Estructura de datos, es una coleccin de datos almacenados, que se caracteriza por su
organizacin y las operaciones que la componen. Una estructura de datos esta compuesta por
tipos de datos simples o primitivos (entero, real, carcter, etc.).
Las estructuras de datos se organizan de forma Esttica y Dinmica.

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 Dinmicas, no tienen limitaciones en la asignacin de


memoria, ya que esta se define durante la ejecucin del programa.

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. Cola de prioridades: Es aquella en la que el orden de sus elementos determina el


resultado de sus operaciones bsicas hay dos tipos de colas de prioridades:
a) Cola de prioridad ascendente: Es aquella en que los elementos se pueden
insertar de manera arbitraria haciendo que estos lleven un orden ascendente
por lo que eliminacin (por el frente), es del elemento menor.
b) Cola de prioridad descendente: Es aquella en la que los elementos se insertan
de manera arbitraria siempre y cuando el orden de estos quede descendente
por lo que la eliminacin ser del elemento mayor.
Operaciones Primitivas o Bsicas
1. Insertar un elemento. Agrega por el extremo del fin un elemento a la Cola. El nombre
puede variar, pero en general es la operacin insert.
2.

Eliminacin de un elemento. Remueve el elemento del frente de la cola. Operacin


remove.

3.

Cola Vaca . Determina si la estructura est vaca. Operacin empty.

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.

Você também pode gostar