SlideShare a Scribd company logo
1 of 22
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

More Related Content

What's hot (20)

Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Presentacion pilas lista y colas
Presentacion pilas lista y colas  Presentacion pilas lista y colas
Presentacion pilas lista y colas
 
Tema grafos
Tema grafosTema grafos
Tema grafos
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una cola
 
Tablas hash en java
Tablas hash en javaTablas hash en java
Tablas hash en java
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 
Queues in C++
Queues in C++Queues in C++
Queues in C++
 
Hash table
Hash tableHash table
Hash table
 
Colas
ColasColas
Colas
 
Data structure using c module 1
Data structure using c module 1Data structure using c module 1
Data structure using c module 1
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Data Structure (Tree)
Data Structure (Tree)Data Structure (Tree)
Data Structure (Tree)
 
Graphs bfs dfs
Graphs bfs dfsGraphs bfs dfs
Graphs bfs dfs
 
Aula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIAula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDI
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Doubly circular linked list
Doubly circular linked listDoubly circular linked list
Doubly circular linked list
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 

Viewers also liked

Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilasgeova666
 
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 amigableJavier 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 softwareJose Diaz Silva
 
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
 
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
 
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
 

Viewers also liked (20)

Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
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
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Capitulo04
Capitulo04Capitulo04
Capitulo04
 
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
 
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
 
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
 
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
 
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
 

Similar to 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 & colasjorgeluis0317
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
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 LinealesJosé Antonio Sandoval Acosta
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
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
 
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
 

Similar to 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
 
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
 
Colas, filas
Colas, filasColas, filas
Colas, filas
 
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
 
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)
 

Recently uploaded

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Recently uploaded (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

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