Estructura de Datos (LISTAS, COLAS, PILAS)
-
Upload
cesar-emill-camacho-rodriguez -
Category
Technology
-
view
387 -
download
2
Transcript of Estructura de Datos (LISTAS, COLAS, PILAS)
![Page 1: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/1.jpg)
Cesar Camacho R.
12-0531
Colas, Pilas y Lista
![Page 2: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/2.jpg)
Pila
Las pilas son una secuencia en la que permite almacenar y
recuperar datos. Se caracterizan por tener 2 operaciones:
1. Inserción PUSH. Que se realiza por un extremo llamado frente.
2. Extracción POP. Que se realiza por un extremo llamado final.
![Page 3: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/3.jpg)
Recorrido
Estas se recorren con lo que es llamado LIFO (Last In First Out).
En la que el ultimo dato en llegar es el primero en salir.
![Page 4: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/4.jpg)
Fuciones
Crear: se crea la pila vacía. (constructor)
Tamaño: regresa el numero de elementos de la pila. (size)
Apilar: se añade un elemento a la pila.(push)
Desapilar: se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que esta en la cima de la pila. (top o peek)
Vacía: devuelve cierto si la pila está vacía o falso en caso contrario(empty).
Llena: devuelve cierto si la pila está llena o falso en caso contrario (full).
Usos:
-Evaluación de expresiones en notación postfija (notación polaca inversa).
-Reconocedores sintácticos de lenguajes independientes del contexto
-Implementación de recursividad.
![Page 5: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/5.jpg)
Pila: Grupo Ordenado, (de acuerdo al tiempo que llevan en la pila)
de Elementos Homogéneos (todos del mismo tipo).
• Acceso a la Pila: añadir y eliminar elementos, SÓLO a través de
la CABEZA de la Pila
![Page 6: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/6.jpg)
Pilas. Operaciones INTERFAZ CLASE CPila
TIPOS
TipoElemento ... // cualquier tipo de datos
METODOS
// Añade un elemento por la cabeza de la pila
Apilar( E TipoElemento elem)
// Saca un elemento por la cabeza de la Pila
Desapilar()
// Devuelve el elemento de la cabeza de la Pila
TipoElemento Cima()
![Page 7: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/7.jpg)
TAD para modelar una Pila
Nombre: TAD Pila
Invariante: n<>0
Operaciones:
crearPila()
*/ Devuelve un valor del tipo pila preparado para ser usado y que
contiene un valor de pila vacía. Esta operación es la misma que la de
las listas generales.*/
Precondiciones: N=0
Pos condiciones: pila creada
![Page 8: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/8.jpg)
insertarPila(crearPila) */ mediante este método se insertan datos a la pila ya creada. Con
las pilas se usa el método push para insertar*/ Precondiciones: pila <> null Pos condiciones: insertarPila completado (datos insertados en
pila)
borrarPila() */con este método se elimina cierta pila de datos */ Precondiciones: pila <> null Pos condiciones: pila eliminada
![Page 9: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/9.jpg)
Cola
Las colas son una secuencia en la que sus elementos se
caracterizan por tener 2 operaciones:
1. Inserción PUSH. Que se realiza por un extremo llamado
frente.
2. Extracción POP. Que se realiza por un extremo llamado final.
![Page 10: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/10.jpg)
Recorrido
Estas se recorren con lo que es llamado FIFO (First in – First Out).
En el que el recorrido se hace sacando el primer dato que se insert
hasta llegue hasta el final.
![Page 11: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/11.jpg)
Funciones
Crear: se crea la cola vacía.
Encolar (añadir, entrar, insertar): se añadeun elemento a la cola. Se añade al final deesta.
Desencolar (sacar, salir, eliminar): seelimina el elemento frontal de la cola, esdecir, el primer elemento que entró.
Frente (consultar, front): se devuelve elelemento frontal de la cola, es decir, elprimer elemento que entró.
Usos:
En las impresoras se usa este metodo, enlos procesos del computador.
![Page 12: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/12.jpg)
TIPOS DE COLAS:
-Bicolas
Son colas en donde los nodos se pueden añadir y quitar por
ambos extremos; se les llama DEQUE (Double Ended QUEue).
Hay variantes:
-Bicolas de entrada restringida: Son aquellas donde la inserción
sólo se hace por el final, aunque podemos eliminar al principio ó al
final.
-Bicolas de salida restringida: Son aquellas donde sólo se elimina
por el final, aunque se puede insertar al principio y al final.
![Page 13: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/13.jpg)
-Cola de prioridad
Son aquellas que cumplen dos reglas :
1. De dos elementos siempre se atenderá antes al que tenga mayor prioridad.2. Si dos elementos tienen la misma prioridad se atiende primero el que llego antes.
Realización Se ponen todos los nodos en la misma cola. Su particularidad es que cada nodo tiene un campo adicional con la prioridad del dato; de tal forma que cuando insertamos nuevos datos, el nuevo nodo, se inserta al final de la cola de los que tengan su misma prioridad.
![Page 14: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/14.jpg)
TAD Colas Nombre: TAD Cola
Operaciones:
-ColaCrear
Precondiciones: Ninguna
PostCondiciones: Cola Creada
-ColarInsertar:
Precondiciones: Cola Crear
PostCondiciones: Cola Con valores Insertadas
![Page 15: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/15.jpg)
ColaEliminar:
Precondiciones: Cola creada y con valores insertados
Postcondiciones: Nueva cantidad de valores en la cola
ColaLlena:
Precondiciones: Cola creada y valores insertados
PostCondiciones: Mensaje de cola llena
ColaVacia:
Precondiciones: Cola Creada
PostCondiciones: Mensaje de Cola Vacia
![Page 16: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/16.jpg)
Listas
Es una secuencia de cero o más elementos de un mismo tipo.
< e1, e2, …, en > (Este es un ejemplo de una lista)
La longitud se define como la cantidad de los elementos que la
component.
La posición de un elemento es el lugar que ocupa dentro de la
secuencia de valores que componen la estructura.
![Page 17: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/17.jpg)
Tipos de Lista
Lista densa: la misma lista determina el próximo elemento de la
lista. Un ejemplo de este: Un Array.
Lista enlazada: el próximo elemento de la lista lo determina el
elemento actual. Por ende, guardar la primera posición del
primer elemento es primordial. Esto la hace bastante dinámica,
debido a que su peso cambio en su tiempo de ejecución.
![Page 18: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/18.jpg)
Video Sobre Pila, Colas y Listas
http://www.youtube.com/watch?v=-Shr2s0gYao
![Page 19: Estructura de Datos (LISTAS, COLAS, PILAS)](https://reader036.fdocuments.ec/reader036/viewer/2022081806/55a3e9841a28ab4a268b45b4/html5/thumbnails/19.jpg)
Muchas GrAcIaS!!!