SlideShare una empresa de Scribd logo
Listas, Pilas y Colas.
                      Eddy Aybar   08-1311



                                         Rina Familia
                                         Estructura de Datos
                                         Sec. 01




Santo Domingo D. N.                              Universidad Iberoamericana – UNIBE –
Con relación a la Estructura LISTA
 Indicar objetos reales que se puedan modelar con dicha estructura

 •   Listas de Ordenes de Visitas
       •   Conferencia, hospital, Eventos…)
 •   Lista de Aplicaciones
 •   Lista de Pacientes
 •   Lista de Tareas
 •   Lista de Objetos
 •   Lista de Compras
Varias Definiciones de LISTA

 •   Se define una lista como una secuencia
     de cero o más elementos de un mismo
     tipo.

 •   Una lista es una estructura de datos
     secuencial.

 •   Una lista es una colección homogénea de
     elementos con una relación lineal entre
     ellos.
Proponer un TAD que modele las LISTAS
Nombre:TADLista
Invariante:n/a
Operaciones:
                                                                siguiente(pos)
                                                                */con este método se retorna pos +1, si pos es ≥ a fin(),
crearLista()
                                                                retorna fin().*/
*/Devuelve un valor del tipo pila preparado para ser
                                                                               preCond: pos!=0
usado y que contiene un valor de pila vacía. Esta
operación es la misma que la de las listas generales.*/                        posCond: retorna pos
               preCond: N=0                                     anterior (pos)
               posCond: Lista creada                            */con este método se retorna pos -1.*/
insertar(crearLista, x pos)                                                    preCond: pos!=0
*/mediante este método se insertan datos a la lista ya                         posCond: retorna pos
creada. Inserta elemento x enpos*/                              limpiar(pos)
               preCond: pos¡=null                               */limpia la lista y finaliza fin()*/
               posCond: insertar Lista completado (dato                        preCond: n…n+a, pos =0
insertado en Lista)                                                            posCond: lista vacia…
Fin():
*/Retorna la posición del último elemento, en otras
palabras el “fin” de la lista, también se puede considerar
con el tamaño de la lista. Sí la lista está vacía retorna una
posición invalida que podría ser -1.*/
               preCond: n/a
               posCond: operaciónfinalizada
Relacionar el concepto de ventana con el de Lista

               Una ventana es un área visual, normalmente de forma
               rectangular, que contiene algún tipo de interfaz de
               usuario, mostrando la salida y permitiendo la entrada de
               datos para uno de varios procesos que se ejecutan
               simultáneamente. Las ventanas se asocian a interfaces
               gráficas, donde pueden ser manipuladas con un puntero.

                En relación con las listas estas se pueden organizar en
                manera ordenada y además las ventanas poseen
                característica homogéneas al momento de su desarrollo.
                Además aquí vemos cuales atributos y operaciones ha de
                realizar.
Decribir las Implementaciones de Listas
  Son listas que tienen un enlace con el elemento siguiente y con el anterior.
  Una ventaja que tienen es que pueden recorrerse en ambos sentidos, ya
  sea para efectuar una operación con cada elemento o para
  insertar/actualizar y borrar. La otra ventaja es que las búsquedas son algo
  más rápidas puesto que no hace falta hacer referencia al elemento
  anterior. Su inconveniente es que ocupan más memoria por nodo que una
  lista simple.
Decribir las Implementaciones de Listas
 e1.- Vectores

    En programación, una matriz o vector (Arrays, en Ingles ) es una
    zona de almacenamiento contiguo, que contiene una serie de
    elementos del mismo tipo.

    Utilizando una estructura de datos estática arreglo para representar e
    implementar el TDA LISTAS. Asumamos que los ELEMENTOS que
    contiene la LISTA son representados por el tipo ENTERO. La cantidad de
    ELEMENTOS que puede contener la LISTA tiene un máximo de n
    ELEMENTOS. Por lo que la representación formal de este tipo se define
    de la siguiente manera: Tipo LISTA= arreglo [1..n] de ENTEROS; VarL :
    LISTA;
Decribir las Implementaciones de Listas
 e1.- Vectores (cont…)
 Operaciones Básica                       Procedimiento Insertar
   LISTA_VACIA (Var L :LISTA)             Insertar (Var L :LISTA, p:
   var i : ENTERO;                        POSICIÓN, e : ENTERO)
  principio                               var i : ENTERO;
  Para i := 1 hasta n hacer L[ i ]:= 0;   principio
  fin;                                    Si L [p] <> 0 entonces mientras (i <=n) y ( L [i ] <> 0 )
                                          hacer
  Función ES_VACÍA(L :LISTA) : LÓGICO     principio
  principio                               sig := l[p]; l[i] := e; e := sig;
  Si L[ 1 ] = 0 entonces ES_VACÏA :=      fin;
  Verdad
                                          l [ i ] := e;
  Sino ES_VACÏA := Falso;
                                          fin;
  fin;
Decribir las Implementaciones de Listas
 e2.- Listas Doblemente Enlazadas




Una de las ventaja que tienen es que pueden recorrerse en ambos sentidos, ya
sea para efectuar una operación con cada elemento o para insertar/actualizar y
borrar.

Otra de las ventaja es que las búsquedas son algo más rápidas puesto que no
hace falta hacer referencia al elemento anterior.

Su inconveniente es que ocupan más memoria por nodo que una lista simple.
Mecanismos para implementar las listas.
Según los lenguajes de Programación


                            En el lenguaje C se utiliza los
                            llamados punteros para representar
                            esta estructura de datos.



                          En java se encuentra un paquete completo
                          en java.util de donde se pueden utilizar las
                          listas, como un tipo abstracto de datos, este
                          tipo de estructura de datos también se
                          utiliza a partir y/o como una interfaz.
Describir cómo los lenguajes que no manejan
apuntadores simulan las listas doblemente enlazadas

•   Cada nodo apunta al siguiente y al anterior.

•   Duplica el uso de la memoria necesaria para los punteros.

•   Duplica el coste de manejo de punteros al insertar y
    eliminar.

•   La eliminación se simplifica.

•   No es necesario buscar el elemento anterior.
Con relación a la Estructura PILA
 Indicar objetos reales que se puedan modelar con dicha estructura


                                     Caja de Objetos




      Este método de pila fue            Memoria de un Computador
  propuesto en 1955 y dos años
 después patentado por Fiedrich
  L. Bauer, quién recibió en 1988
     el premio "IEEE Computer                Montar y Desmontar cajas de un Camión
  Society Pioneer Award" por su
 trabajo en el desarrollo de dicha
        estructura de datos.                     Celdas de Baterías
                                                 • Sirve para Indicar cuantas celdas le quedan
                                                   a una batería
Varias definiciones de PILA

•    Una pila es un caso especial de lista en la cual
     todas las inserciones y supresiones tienen
     lugar en un extremo determinado llamado
     tope.

•    Una pila es un tipo especial de lista abierta en
     la que sólo se pueden insertar y eliminar
     nodos en uno de los extremos de la lista.

•    Una Pila es una lista de elementos de la cual
     sólo se puede extraer el último elemento
     insertado.

•    A las pilas se les llama también listas LIFO
     (last-in first-out) o listas “primero en
     entrar, primero en salir”.

•    Montón o cúmulo que se hace poniendo una
     sobre otra las piezas o porciones de que
     consta algo.
Proponer un TAD que modele las PILAS

Nombre: TAD Pila                                insertarPila(crearPila)
Invariante: n<>0                                */ mediante este método se insertan datos a la pila ya
                                                creada. Con las pilas se usa el método push para insertar*/
Operaciones:
                                                              Precondiciones: pila <> null
                                                              Pos condiciones: insertarPila completado
crearPila()                                     (datos insertados en pila)
*/ Devuelve un valor del tipo pila preparado
para ser usado y que contiene un valor de       borrarPila()
pila vacía. Esta operación es la misma que la   */con este método se elmina cierta pila de datos */
de las listas generales.*/
                                                             Precondiciones: pila <> null
               Precondiciones: N=0
                                                             Pos condiciones: pila eliminada
               Pos condiciones: pila creada
Mecanismos para implementar las pilas a través de Listas y Vectores.
 Según los lenguajes de Programación.

     Declaraciones de tipos para manejar pilas en C

     Los tipos que definen normalmente para manejar pilas serán casi los
     mismos que para manejar listas, tan sólo se debe cambiar algunos
     nombres:

     typedef struct _nodo { int dato; struct _nodo *siguiente; }
     tipoNodo; typedef tipoNodo *pNodo; typedef tipoNodo *Pila;
Con relación a la Estructura COLA
 Indicar objetos reales que se puedan modelar con dicha estructura


 •   Filas de los Bancos

 •   Colas de Impresión

 •   Colas para salidas de Transportes

 •   Filas en las Escuelas
Varias definiciones de COLA
 •   Es una estructura de datos, caracterizada por ser una secuencia de elementos
     en la que la operación de inserción push se realiza por un extremo y la operación
     de extracción pop por el otro.

 •   Es también una estructura de datos lineal en donde las eliminaciones se realizan
     por uno de sus extremos que normalmente se llama frente, y las inserciones se
     realizan por el otro extremo que normalmente se llama final.

 •   Es un método de estructuración datos, que permite almacenar y recuperar
     datos.
Proponer un TAD que modele las COLAS
  Nombre: TAD COLA
  Invariante: n/a
  Operaciones:

  crearCola()
  */ Devuelve un valor del tipo cola 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: cola vacia creada
  insertarCola(crearCola)
  */ mediante este método se insertan datos a la cola ya creada. */
              Precondiciones: cola <> null
              Pos condiciones: datos insertados en cola, cola insertada.

  borrarCola()
  */con este método se elmina cierta cola de datos */
               Precondiciones: cola != 0
               Pos condiciones: cola eliminada
Particularidades de un TAD COLA con Prioridades.

En una cola de prioridad los elementos están ordenados dependiendo de su prioridad, de
manera que esté disponible (para las operaciones Frente y Extraer) el elemento de máxima
prioridad. En caso de igualdad se sigue la regla FIFO, de dos elementos con igual prioridad sale
primero el que primero entró. Esto se puede conseguir bien insertando ordenadamente y
extrayendo el primer elemento

El TAD Cola de Prioridad tiene la misma interfaz que el TAD Cola pero distinta semántica.

     •   La diferencia semántica está en que el elemento eliminado de la lista no es, necesariamente, el
         primero que fue añadido. Más bien, es el elemento de la cola que tiene la prioridad más alta.

En caso de igualdad se sigue la regla FIFO, de dos elementos con igual prioridad sale primero el
que primero entro.


                            La Prioridad de los elementos depende de la
                                    cantidad que haya en la cola.
Describir las implementaciones de COLAS
  Con Vectores Circulares.
La cola circular propone tratar el
arreglo como un circulo donde
aLength se hace igual a aSize, el
siguiente elemento es el de índice 0.
 Esto permite utilizar todos los
espacios que quedan libres en el
arreglo luego de realizar
eliminaciones de nodos.
Describir las implementaciones de COLAS
 Con Vectores Circulares. (cont…)



                                    public class Cola {
                                            private static int max = 100;
                                            private Object elementos[];
                                            private int frente, post;

                                          } // fin clase Cola
Esta ha sido una presentación
                       para la asignatura de Estructura de Datos.

                       Prof.: Rina Familia

                       Universidad Iberoamericana – UNIBE –




Eddy Aybar   08-1311

Más contenido relacionado

La actualidad más candente

Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
Angel Vázquez Patiño
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
los4estatidinamicos
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
NANO-06
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Linealesguest8555cd
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
maria alejandra
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
José Antonio Sandoval Acosta
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
José Antonio Sandoval Acosta
 
ArrayList in JAVA
ArrayList in JAVAArrayList in JAVA
ArrayList in JAVA
SAGARDAVE29
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
José Antonio Sandoval Acosta
 
Arraylist
ArraylistArraylist
Arraylist
Fernando Solis
 
Data structure using c++
Data structure using c++Data structure using c++
Data structure using c++
Prof. Dr. K. Adisesha
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
Kaneki04
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
karlalopezbello
 

La actualidad más candente (20)

Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Lineales
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
 
ArrayList in JAVA
ArrayList in JAVAArrayList in JAVA
ArrayList in JAVA
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Arraylist
ArraylistArraylist
Arraylist
 
Data structure using c++
Data structure using c++Data structure using c++
Data structure using c++
 
Listas
ListasListas
Listas
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
 

Destacado

Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
geova666
 
7 Principios de Diseño para un software amigable
7 Principios de Diseño para un software amigable7 Principios de Diseño para un software amigable
7 Principios de Diseño para un software amigable
Javier Gala
 
Sesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y disenoSesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y disenoJulio Pari
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
Jose Diaz Silva
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
Marrodriguez007
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
Mago Julio Cesar
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de SoftwareUPT
 
Capitulo04
Capitulo04Capitulo04
Capitulo04martin
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
Juan Pablo Bustos Thames
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
Juan Astudillo
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
Andrés Felipe Montoya Ríos
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
Carlos Alberto Cuervo Cardenas
 
Gonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De DisenoGonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De Diseno
Spimy
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
Iker Canarias
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generales
Patty Torres
 

Destacado (20)

Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
7 Principios de Diseño para un software amigable
7 Principios de Diseño para un software amigable7 Principios de Diseño para un software amigable
7 Principios de Diseño para un software amigable
 
Sesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y disenoSesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y diseno
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Capitulo04
Capitulo04Capitulo04
Capitulo04
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Gonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De DisenoGonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De Diseno
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generales
 

Similar a Listas, pilas y colas

Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
jorgeluis0317
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
MaxDLeon
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Johannadotel
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130reyarturo16
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
José Antonio Sandoval Acosta
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
viela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
viela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
viela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
viela6
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
charlezgt
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Edward Mejia Gomez
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos jarydr18
 
Presentacion Listas, Colas, Pilas
Presentacion Listas, Colas, PilasPresentacion Listas, Colas, Pilas
Presentacion Listas, Colas, Pilasismaelreyesv
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnaskety24
 

Similar a Listas, pilas y colas (20)

Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
 
Dionely torres 11 1150
Dionely torres 11 1150Dionely torres 11 1150
Dionely torres 11 1150
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
Colas, filas
Colas, filasColas, filas
Colas, filas
 
Saiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosaSaiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosa
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos
 
Presentacion Listas, Colas, Pilas
Presentacion Listas, Colas, PilasPresentacion Listas, Colas, Pilas
Presentacion Listas, Colas, Pilas
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 

Último

Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 

Último (20)

Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 

Listas, pilas y colas

  • 1. Listas, Pilas y Colas. Eddy Aybar 08-1311 Rina Familia Estructura de Datos Sec. 01 Santo Domingo D. N. Universidad Iberoamericana – UNIBE –
  • 2. Con relación a la Estructura LISTA Indicar objetos reales que se puedan modelar con dicha estructura • Listas de Ordenes de Visitas • Conferencia, hospital, Eventos…) • Lista de Aplicaciones • Lista de Pacientes • Lista de Tareas • Lista de Objetos • Lista de Compras
  • 3. Varias Definiciones de LISTA • Se define una lista como una secuencia de cero o más elementos de un mismo tipo. • Una lista es una estructura de datos secuencial. • Una lista es una colección homogénea de elementos con una relación lineal entre ellos.
  • 4. Proponer un TAD que modele las LISTAS Nombre:TADLista Invariante:n/a Operaciones: siguiente(pos) */con este método se retorna pos +1, si pos es ≥ a fin(), crearLista() retorna fin().*/ */Devuelve un valor del tipo pila preparado para ser preCond: pos!=0 usado y que contiene un valor de pila vacía. Esta operación es la misma que la de las listas generales.*/ posCond: retorna pos preCond: N=0 anterior (pos) posCond: Lista creada */con este método se retorna pos -1.*/ insertar(crearLista, x pos) preCond: pos!=0 */mediante este método se insertan datos a la lista ya posCond: retorna pos creada. Inserta elemento x enpos*/ limpiar(pos) preCond: pos¡=null */limpia la lista y finaliza fin()*/ posCond: insertar Lista completado (dato preCond: n…n+a, pos =0 insertado en Lista) posCond: lista vacia… Fin(): */Retorna la posición del último elemento, en otras palabras el “fin” de la lista, también se puede considerar con el tamaño de la lista. Sí la lista está vacía retorna una posición invalida que podría ser -1.*/ preCond: n/a posCond: operaciónfinalizada
  • 5. Relacionar el concepto de ventana con el de Lista Una ventana es un área visual, normalmente de forma rectangular, que contiene algún tipo de interfaz de usuario, mostrando la salida y permitiendo la entrada de datos para uno de varios procesos que se ejecutan simultáneamente. Las ventanas se asocian a interfaces gráficas, donde pueden ser manipuladas con un puntero. En relación con las listas estas se pueden organizar en manera ordenada y además las ventanas poseen característica homogéneas al momento de su desarrollo. Además aquí vemos cuales atributos y operaciones ha de realizar.
  • 6. Decribir las Implementaciones de Listas Son listas que tienen un enlace con el elemento siguiente y con el anterior. Una ventaja que tienen es que pueden recorrerse en ambos sentidos, ya sea para efectuar una operación con cada elemento o para insertar/actualizar y borrar. La otra ventaja es que las búsquedas son algo más rápidas puesto que no hace falta hacer referencia al elemento anterior. Su inconveniente es que ocupan más memoria por nodo que una lista simple.
  • 7. Decribir las Implementaciones de Listas e1.- Vectores En programación, una matriz o vector (Arrays, en Ingles ) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo. Utilizando una estructura de datos estática arreglo para representar e implementar el TDA LISTAS. Asumamos que los ELEMENTOS que contiene la LISTA son representados por el tipo ENTERO. La cantidad de ELEMENTOS que puede contener la LISTA tiene un máximo de n ELEMENTOS. Por lo que la representación formal de este tipo se define de la siguiente manera: Tipo LISTA= arreglo [1..n] de ENTEROS; VarL : LISTA;
  • 8. Decribir las Implementaciones de Listas e1.- Vectores (cont…) Operaciones Básica Procedimiento Insertar LISTA_VACIA (Var L :LISTA) Insertar (Var L :LISTA, p: var i : ENTERO; POSICIÓN, e : ENTERO) principio var i : ENTERO; Para i := 1 hasta n hacer L[ i ]:= 0; principio fin; Si L [p] <> 0 entonces mientras (i <=n) y ( L [i ] <> 0 ) hacer Función ES_VACÍA(L :LISTA) : LÓGICO principio principio sig := l[p]; l[i] := e; e := sig; Si L[ 1 ] = 0 entonces ES_VACÏA := fin; Verdad l [ i ] := e; Sino ES_VACÏA := Falso; fin; fin;
  • 9. Decribir las Implementaciones de Listas e2.- Listas Doblemente Enlazadas Una de las ventaja que tienen es que pueden recorrerse en ambos sentidos, ya sea para efectuar una operación con cada elemento o para insertar/actualizar y borrar. Otra de las ventaja es que las búsquedas son algo más rápidas puesto que no hace falta hacer referencia al elemento anterior. Su inconveniente es que ocupan más memoria por nodo que una lista simple.
  • 10. Mecanismos para implementar las listas. Según los lenguajes de Programación En el lenguaje C se utiliza los llamados punteros para representar esta estructura de datos. En java se encuentra un paquete completo en java.util de donde se pueden utilizar las listas, como un tipo abstracto de datos, este tipo de estructura de datos también se utiliza a partir y/o como una interfaz.
  • 11. Describir cómo los lenguajes que no manejan apuntadores simulan las listas doblemente enlazadas • Cada nodo apunta al siguiente y al anterior. • Duplica el uso de la memoria necesaria para los punteros. • Duplica el coste de manejo de punteros al insertar y eliminar. • La eliminación se simplifica. • No es necesario buscar el elemento anterior.
  • 12. Con relación a la Estructura PILA Indicar objetos reales que se puedan modelar con dicha estructura Caja de Objetos Este método de pila fue Memoria de un Computador propuesto en 1955 y dos años después patentado por Fiedrich L. Bauer, quién recibió en 1988 el premio "IEEE Computer Montar y Desmontar cajas de un Camión Society Pioneer Award" por su trabajo en el desarrollo de dicha estructura de datos. Celdas de Baterías • Sirve para Indicar cuantas celdas le quedan a una batería
  • 13. Varias definiciones de PILA • Una pila es un caso especial de lista en la cual todas las inserciones y supresiones tienen lugar en un extremo determinado llamado tope. • Una pila es un tipo especial de lista abierta en la que sólo se pueden insertar y eliminar nodos en uno de los extremos de la lista. • Una Pila es una lista de elementos de la cual sólo se puede extraer el último elemento insertado. • A las pilas se les llama también listas LIFO (last-in first-out) o listas “primero en entrar, primero en salir”. • Montón o cúmulo que se hace poniendo una sobre otra las piezas o porciones de que consta algo.
  • 14. Proponer un TAD que modele las PILAS Nombre: TAD Pila insertarPila(crearPila) Invariante: n<>0 */ mediante este método se insertan datos a la pila ya creada. Con las pilas se usa el método push para insertar*/ Operaciones: Precondiciones: pila <> null Pos condiciones: insertarPila completado crearPila() (datos insertados en pila) */ Devuelve un valor del tipo pila preparado para ser usado y que contiene un valor de borrarPila() pila vacía. Esta operación es la misma que la */con este método se elmina cierta pila de datos */ de las listas generales.*/ Precondiciones: pila <> null Precondiciones: N=0 Pos condiciones: pila eliminada Pos condiciones: pila creada
  • 15. Mecanismos para implementar las pilas a través de Listas y Vectores. Según los lenguajes de Programación. Declaraciones de tipos para manejar pilas en C Los tipos que definen normalmente para manejar pilas serán casi los mismos que para manejar listas, tan sólo se debe cambiar algunos nombres: typedef struct _nodo { int dato; struct _nodo *siguiente; } tipoNodo; typedef tipoNodo *pNodo; typedef tipoNodo *Pila;
  • 16. Con relación a la Estructura COLA Indicar objetos reales que se puedan modelar con dicha estructura • Filas de los Bancos • Colas de Impresión • Colas para salidas de Transportes • Filas en las Escuelas
  • 17. Varias definiciones de COLA • Es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. • Es también una estructura de datos lineal en donde las eliminaciones se realizan por uno de sus extremos que normalmente se llama frente, y las inserciones se realizan por el otro extremo que normalmente se llama final. • Es un método de estructuración datos, que permite almacenar y recuperar datos.
  • 18. Proponer un TAD que modele las COLAS Nombre: TAD COLA Invariante: n/a Operaciones: crearCola() */ Devuelve un valor del tipo cola 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: cola vacia creada insertarCola(crearCola) */ mediante este método se insertan datos a la cola ya creada. */ Precondiciones: cola <> null Pos condiciones: datos insertados en cola, cola insertada. borrarCola() */con este método se elmina cierta cola de datos */ Precondiciones: cola != 0 Pos condiciones: cola eliminada
  • 19. Particularidades de un TAD COLA con Prioridades. En una cola de prioridad los elementos están ordenados dependiendo de su prioridad, de manera que esté disponible (para las operaciones Frente y Extraer) el elemento de máxima prioridad. En caso de igualdad se sigue la regla FIFO, de dos elementos con igual prioridad sale primero el que primero entró. Esto se puede conseguir bien insertando ordenadamente y extrayendo el primer elemento El TAD Cola de Prioridad tiene la misma interfaz que el TAD Cola pero distinta semántica. • La diferencia semántica está en que el elemento eliminado de la lista no es, necesariamente, el primero que fue añadido. Más bien, es el elemento de la cola que tiene la prioridad más alta. En caso de igualdad se sigue la regla FIFO, de dos elementos con igual prioridad sale primero el que primero entro. La Prioridad de los elementos depende de la cantidad que haya en la cola.
  • 20. Describir las implementaciones de COLAS Con Vectores Circulares. La cola circular propone tratar el arreglo como un circulo donde aLength se hace igual a aSize, el siguiente elemento es el de índice 0. Esto permite utilizar todos los espacios que quedan libres en el arreglo luego de realizar eliminaciones de nodos.
  • 21. Describir las implementaciones de COLAS Con Vectores Circulares. (cont…) public class Cola { private static int max = 100; private Object elementos[]; private int frente, post; } // fin clase Cola
  • 22. Esta ha sido una presentación para la asignatura de Estructura de Datos. Prof.: Rina Familia Universidad Iberoamericana – UNIBE – Eddy Aybar 08-1311