SlideShare una empresa de Scribd logo
1 de 10
Ismael Reyes
Listas, Pilas y Colas
Listas
                            
   Objetos que se pueden modelar
     con la estructura de listas                Definición
                                    Consiste en una secuencia de
 Lista de invitados                 nodos, en los que se guardan
                                     campos de datos arbitrarios y una
 Lista de bodas                     o dos referencias (punteros) al
                                     nodo anterior o posterior.
 Lista de productos                El principal beneficio de las listas
                                     enlazadas respecto a los array
 Lista de estudiantes               convencionales es que el orden de
                                     los elementos enlazados puede
                                     ser diferente al orden de
                                     almacenamiento en la memoria o
                                     el disco, permitiendo que el
                                     orden de recorrido de la lista sea
                                     diferente al de almacenamiento.
Ejemplo de un TAD lista
          
   TAD<LISTA>
   Tipo: Unidimensional
   {inv: X Pertenece Z+}
   Operaciones:
           Crear lista: int x > vector
           Asignar valor: set vector i = x
Lista Doblemente
                                  Enlazada
                                 Requieren mas espacio por
                                  nodos
Relación Entre                   Sus operaciones resultan mas
                                  costosas
Listas y Ventanas                Permiten el acceso a la listas en
                                  ambas vías
 Permiten la organización de
  elementos en un orden
 Permiten acceder a
  cualquier elemento en el
  orden en que se desea
 Tienen links(Punteros) que
  permiten el acceso a otros        Lista vector
  elementos del mismo tipo
  seleccionado                     Son listas en las cuales
                                    conocemos el numero de
                                    elementos previamente a la
                                    creación de la lista
                                   Contienen elementos del mismo
                                    tipo
Implementación en los
          lenguajes
             
 En muchos lenguajes de
  programación, estas listas están
  construidas por nodos, cada uno llamado
  CONS o celda CONS. Las celdas CONS
  tienen dos campos: el car, una referencia
  del dato al nodo, y el CDR, una
  referencia al siguiente nodo. Aunque las
  celdas CONS pueden ser usadas para
  construir otras estructuras de datos, este
  es su principal objetivo.
Pila
                          
          Definición                        Operaciones
 Una pila (stack en inglés)    Para el manejo de los datos se cuenta
                                 con dos operaciones básicas: apilar
  es una lista ordinal o         (push), que coloca un objeto en la
  estructura de datos en la      pila, y su operación inversa, retirar (o
                                 desapilar, pop), que retira el último
  que el modo de acceso a        elemento apilado.
  sus elementos es de tipo      En cada momento sólo se tiene acceso
  LIFO (del inglés Last In       a la parte superior de la pila, es
                                 decir, al último objeto apilado
  First Out, último en           (denominado TOS, Top of Stack en
  entrar, primero en salir)      inglés). La operación retirar permite la
                                 obtención de este elemento, que es
  que permite almacenar y        retirado de la pila permitiendo el
  recuperar datos en forma       acceso al siguiente (apilado con
                                 anterioridad), que pasa a ser el nuevo
  secuencial                     TOS.
Objetos reales que
                      Pila
   simulan pilas
 Pila de platos
                       
                             Implementación de las
 Pila de cajas                     pilas
 Pila de libros         La biblioteca de plantillas de
                          C++ estándar proporciona
                          una "pila" clase templated que
                          se limita a sólo
                          apilar/desapilar operaciones.
                          Java contiene una biblioteca
                          de la clase Pila que es una
                          especialización de Vector.
                         Esto podría ser considerado
                          como un defecto, porque el
                          diseño heredado get () de
                          Vector método LIFO ignora la
                          limitación de la Pila.
TAD Pila
              
TAD<PILA>
Tipo: Unidimensional
{inv: X y N Pertenece Z+}
Operaciones:
        Crear Pila: int N > vector
        Asignar valor: set vector i = x
Mover valor: para vector i do:
                 pop from vectorA: Vector    n-n+1


                 push vectorB: Vectorn-n+1
Cola         Cola Circular
                              
 Una cola es una estructura de
                                         Una cola circular o anillo es una estructura de
                                         datos en la que los elementos están de forma
                                         circular y cada elemento tiene un sucesor y un
  datos, caracterizada por ser una       predecesor. Los elementos pueden
  secuencia de elementos en la que la    consultarse, añadirse y eliminarse únicamente
                                         desde la cabeza del anillo que es una posición
  operación de inserción push se         distinguida. Existen dos operaciones de
  realiza por un extremo y la            rotaciones, una en cada sentido, de manera
  operación de extracción pop por el     que la cabeza del anillo pasa a ser el elemento
                                         sucesor, o el predecesor, respectivamente, de
  otro. También se le llama estructura   la cabeza actual.
  FIFO (del inglés First In First
  Out), debido a que el primer
  elemento en entrar será también el
  primero en salir.
            Objetos reales que se
            pueden representar con una
            cola
           • Fila de un supermercado
           • Cola de impresión
           • Fila de automóviles
TAD Cola
          
TAD<COLA>
Tipo: Unidimensional
{inv: X y N Pertenece Z+}
Operaciones:
        Crear Pila: int N > vector
        Asignar valor: set vector i = x
Mover valor: para vector i do:
                 pop from vectorA: Vector    n-n+1


                 push vectorB: Vectorn-n+1

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Presentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasPresentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y Colas
 
Datos En La Web - Clase 2
Datos En La Web - Clase 2Datos En La Web - Clase 2
Datos En La Web - Clase 2
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
Presentacion pilas lista y colas
Presentacion pilas lista y colas  Presentacion pilas lista y colas
Presentacion pilas lista y colas
 
Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Python Pilas y Colas
Python Pilas y ColasPython Pilas y Colas
Python Pilas y Colas
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android  -  5 - almacenamiento de datosDesarrollo android  -  5 - almacenamiento de datos
Desarrollo android - 5 - almacenamiento de datos
 
Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programacion
 
Enum y ArrayList en Java
Enum y ArrayList en JavaEnum y ArrayList en Java
Enum y ArrayList en Java
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 

Similar a Presentacion Listas, Colas, Pilas

Similar a Presentacion Listas, Colas, Pilas (20)

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
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
 
Dionely torres 11 1150
Dionely torres 11 1150Dionely torres 11 1150
Dionely torres 11 1150
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
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
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Programacion
ProgramacionProgramacion
Programacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidencias
 
Listas pilas colas
Listas pilas colasListas pilas colas
Listas pilas colas
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos
 
Estructuras de datos i print
Estructuras de datos i printEstructuras de datos i print
Estructuras de datos i print
 

Presentacion Listas, Colas, Pilas

  • 2. Listas  Objetos que se pueden modelar con la estructura de listas Definición  Consiste en una secuencia de  Lista de invitados nodos, en los que se guardan campos de datos arbitrarios y una  Lista de bodas o dos referencias (punteros) al nodo anterior o posterior.  Lista de productos  El principal beneficio de las listas enlazadas respecto a los array  Lista de estudiantes convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
  • 3. Ejemplo de un TAD lista  TAD<LISTA> Tipo: Unidimensional {inv: X Pertenece Z+} Operaciones: Crear lista: int x > vector Asignar valor: set vector i = x
  • 4. Lista Doblemente Enlazada  Requieren mas espacio por nodos Relación Entre  Sus operaciones resultan mas costosas Listas y Ventanas  Permiten el acceso a la listas en ambas vías  Permiten la organización de elementos en un orden  Permiten acceder a cualquier elemento en el orden en que se desea  Tienen links(Punteros) que permiten el acceso a otros Lista vector elementos del mismo tipo seleccionado  Son listas en las cuales conocemos el numero de elementos previamente a la creación de la lista  Contienen elementos del mismo tipo
  • 5. Implementación en los lenguajes   En muchos lenguajes de programación, estas listas están construidas por nodos, cada uno llamado CONS o celda CONS. Las celdas CONS tienen dos campos: el car, una referencia del dato al nodo, y el CDR, una referencia al siguiente nodo. Aunque las celdas CONS pueden ser usadas para construir otras estructuras de datos, este es su principal objetivo.
  • 6. Pila  Definición Operaciones  Una pila (stack en inglés)  Para el manejo de los datos se cuenta con dos operaciones básicas: apilar es una lista ordinal o (push), que coloca un objeto en la estructura de datos en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último que el modo de acceso a elemento apilado. sus elementos es de tipo  En cada momento sólo se tiene acceso LIFO (del inglés Last In a la parte superior de la pila, es decir, al último objeto apilado First Out, último en (denominado TOS, Top of Stack en entrar, primero en salir) inglés). La operación retirar permite la obtención de este elemento, que es que permite almacenar y retirado de la pila permitiendo el recuperar datos en forma acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo secuencial TOS.
  • 7. Objetos reales que Pila simulan pilas  Pila de platos  Implementación de las  Pila de cajas pilas  Pila de libros  La biblioteca de plantillas de C++ estándar proporciona una "pila" clase templated que se limita a sólo apilar/desapilar operaciones. Java contiene una biblioteca de la clase Pila que es una especialización de Vector.  Esto podría ser considerado como un defecto, porque el diseño heredado get () de Vector método LIFO ignora la limitación de la Pila.
  • 8. TAD Pila  TAD<PILA> Tipo: Unidimensional {inv: X y N Pertenece Z+} Operaciones: Crear Pila: int N > vector Asignar valor: set vector i = x Mover valor: para vector i do: pop from vectorA: Vector n-n+1 push vectorB: Vectorn-n+1
  • 9. Cola Cola Circular   Una cola es una estructura de Una cola circular o anillo es una estructura de datos en la que los elementos están de forma circular y cada elemento tiene un sucesor y un datos, caracterizada por ser una predecesor. Los elementos pueden secuencia de elementos en la que la consultarse, añadirse y eliminarse únicamente desde la cabeza del anillo que es una posición operación de inserción push se distinguida. Existen dos operaciones de realiza por un extremo y la rotaciones, una en cada sentido, de manera operación de extracción pop por el que la cabeza del anillo pasa a ser el elemento sucesor, o el predecesor, respectivamente, de otro. También se le llama estructura la cabeza actual. FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. Objetos reales que se pueden representar con una cola • Fila de un supermercado • Cola de impresión • Fila de automóviles
  • 10. TAD Cola  TAD<COLA> Tipo: Unidimensional {inv: X y N Pertenece Z+} Operaciones: Crear Pila: int N > vector Asignar valor: set vector i = x Mover valor: para vector i do: pop from vectorA: Vector n-n+1 push vectorB: Vectorn-n+1