Colas, Pilas y Lista

Cesar Camacho R.
12-0531
Pila
 Las pilas son una secuencia en la que permite almacenar y

recuperar datos. Se caracterizan por tener 2 operaciones:
Inserción PUSH. Que se realiza por un extremo llamado frente.
2. Extracción POP. Que se realiza por un extremo llamado final.
1.
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.
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.
 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
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()
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
 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
Cola
 Las colas son una secuencia en la que sus elementos se

caracterizan por tener 2 operaciones:

Inserción PUSH. Que se realiza por un extremo llamado
frente.
2. Extracción POP. Que se realiza por un extremo llamado final.
1.
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.
Funciones
 Crear: se crea la cola vacía.
 Encolar (añadir, entrar, insertar): se añade

un elemento a la cola. Se añade al final de
esta.
 Desencolar (sacar, salir, eliminar): se
elimina el elemento frontal de la cola, es
decir, el primer elemento que entró.
 Frente (consultar, front): se devuelve el
elemento frontal de la cola, es decir, el
primer elemento que entró.
 Usos:

En las impresoras se usa este metodo, en
los procesos del computador.
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.
-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.
TAD Colas
 Nombre: TAD Cola
 Operaciones:

-ColaCrear
Precondiciones: Ninguna
PostCondiciones: Cola Creada
-ColarInsertar:
Precondiciones: Cola Crear
PostCondiciones: Cola Con valores Insertadas
 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
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.
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.
Video Sobre Pila, Colas y Listas
http://www.youtube.com/watch?v=-Shr2s0gYao
Muchas
GrAcIaS!!!

Estructura de Datos (LISTAS, COLAS, PILAS)

  • 1.
    Colas, Pilas yLista Cesar Camacho R. 12-0531
  • 2.
    Pila  Las pilasson una secuencia en la que permite almacenar y recuperar datos. Se caracterizan por tener 2 operaciones: Inserción PUSH. Que se realiza por un extremo llamado frente. 2. Extracción POP. Que se realiza por un extremo llamado final. 1.
  • 3.
    Recorrido  Estas serecorren con lo que es llamado LIFO (Last In First Out). En la que el ultimo dato en llegar es el primero en salir.
  • 4.
    Fuciones Crear: se creala 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.
  • 5.
     Pila: GrupoOrdenado, (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
  • 6.
    Pilas. Operaciones  INTERFAZCLASE 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()
  • 7.
    TAD para modelaruna 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
  • 8.
     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
  • 9.
    Cola  Las colasson una secuencia en la que sus elementos se caracterizan por tener 2 operaciones: Inserción PUSH. Que se realiza por un extremo llamado frente. 2. Extracción POP. Que se realiza por un extremo llamado final. 1.
  • 10.
    Recorrido  Estas serecorren 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.
  • 11.
    Funciones  Crear: secrea la cola vacía.  Encolar (añadir, entrar, insertar): se añade un elemento a la cola. Se añade al final de esta.  Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró.  Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer elemento que entró.  Usos: En las impresoras se usa este metodo, en los procesos del computador.
  • 12.
    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.
  • 13.
    -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.
  • 14.
    TAD Colas  Nombre:TAD Cola  Operaciones: -ColaCrear Precondiciones: Ninguna PostCondiciones: Cola Creada -ColarInsertar: Precondiciones: Cola Crear PostCondiciones: Cola Con valores Insertadas
  • 15.
     ColaEliminar: Precondiciones: Colacreada 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
  • 16.
    Listas  Es unasecuencia 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.
  • 17.
    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.
  • 18.
    Video Sobre Pila,Colas y Listas http://www.youtube.com/watch?v=-Shr2s0gYao
  • 19.