SlideShare a Scribd company logo
1 of 19
República Bolivariana de Venezuela
Universidad Tecnológica del Centro
Departamento Redes




         Estructura Datos


                                     Facilitador:
                                     Prof. Bassam Asfur
Estructura Pila
Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que
el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First
Out, último en entrar, primero en salir) que permite almacenar y recuperar
datos. Esta estructura se aplica en multitud de ocasiones en el área de
informática debido a su simplicidad y ordenación implícita de la propia
estructura

Para el manejo de los datos se cuenta con dos operaciones básicas: apilar
(push), que coloca un objeto en la pila, y su operación inversa, retirar (o
desapilar, pop), que retira el último elemento apilado.

En cada momento sólo se tiene acceso a la parte superior de la pila, es decir,
al último objeto apilado (denominado TOS, Top of Stack en inglés). La
operación retirar permite la obtención de este elemento, que es retirado de
la pila permitiendo el acceso al siguiente (apilado con anterioridad), que
pasa a ser el nuevo TOS.
Estructura Pila
Por analogía con objetos cotidianos, una operación apilar equivaldría
a colocar un plato sobre una pila de platos, y una operación retirar a
retirarlo.

Las pilas suelen emplearse en los siguientes contextos:
Evaluación de expresiones en notación postfija (notación polaca
inversa).
Reconocedores sintácticos de lenguajes independientes del contexto
Implementación de recursividad.
Estructura Pila
Operaciones

Una pila cuenta con 2 operaciones imprescindibles: apilar y
desapilar, a las que en las implementaciones modernas de las pilas
se suelen añadir más de uso habitual.

Crear: se crea la pila vacía.

Apilar: se añade un elemento a la pila.(push)

Desapilar: se elimina el elemento frontal de la pila.(pop)

Cima: devuelve el elemento que esta en la cima de la pila. (top o
peek)

Vacía: devuelve cierto si la pila está vacía o falso en caso contrario.
Estructura Pila
Estructuras de datos relacionadas

El tipo base de la estructura FIFO (el primero en entrar es el primero
en salir)es la cola.

Por ejemplo, el cambio de una pila en una cola en un algoritmo de
búsqueda puede cambiar el algoritmo de búsqueda en primera
profundidad (en inglés, DFS) por una búsqueda en amplitud (en
inglés, BFS).

Una pila acotada es una pila limitada a un tamaño máximo impuesto
en su especificación.
Estructura Pila
Arquitectura básica de una pila

Una pila típica es un área de la memoria de los computadores con un
origen fijo y un tamaño variable. Al principio, el tamaño de la pila es
cero. Un puntero de pila, por lo general en forma de un registro de
hardware, apunta a la más reciente localización en la pila; cuando la
pila tiene un tamaño de cero, el puntero de pila de puntos en el
origen de la pila.

Las dos operaciones aplicables a todas las pilas son:

Una operación apilar, en el que un elemento de datos se coloca en el
lugar apuntado por el puntero de pila, y la dirección en el puntero de
pila se ajusta por el tamaño de los datos de partida.

Una operación desapilar: un elemento de datos en la ubicación
actual apuntado por el puntero de pila es eliminado, y el puntero de
pila se ajusta por el tamaño de los datos de partida.
Estructura Pila

Hay muchas variaciones en el principio básico de las operaciones de
pila. Cada pila tiene un lugar fijo en la memoria en la que comienza.

Como los datos se añadirán a la pila, el puntero de pila es
desplazado para indicar el estado actual de la pila, que se expande
lejos del origen (ya sea hacia arriba o hacia abajo, dependiendo de la
aplicación concreta

Por ejemplo, una pila puede comenzar en una posición de la
memoria de mil, y ampliar por debajo de las direcciones, en cuyo
caso, los nuevos datos se almacenan en lugares que van por debajo
de 1000, y el puntero de pila se decrementa cada vez que un nuevo
elemento se agrega.

Cuando un tema es eliminado de la pila, el puntero de pila se
incrementa.
import java.io.*;
public class principal {
  static int v[],i=0,n;
     public static void insertar(int v[], int i){
      if (principal.i<principal.n){
         v[i]=i+1;
         principal.i++;
      }
      else{
         System.out.println("Pila llena");
      }
   }
   public static void borrar(int v[], int i){
      System.out.println("El elemento Borrado es "+v[i-1]);
      principal.i--;
   }
   public static void imprimir(int v[],int n){
      System.out.println("nLos datos de la Pila son");
      for(int i=n-1; i>=0;i--){
         System.out.println(v[i]);
     }
   }
Pila con un Arreglo
 public static void destruir(){
      principal.i=0;
   }
  public static void main(String[] y)throws IOException{
     BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
     int num;
     n=4;
     v = new int[n];
do{
      new menu();// clase que muestra menu
      num = Integer.parseInt(in.readLine( ));
      switch(num){
         case 1: insertar(v,i);
             break;
         case 2: borrar(v,i);
             break;
         case 3: imprimir(v,i);
             break;
         case 4: destruir();
      }
}while(num!=5);
 }
}
class menu{
   public menu(){
     System.out.println("Selecione una opcion");
     System.out.println("1.- Insertar Elemento");
     System.out.println("2.- Borrar Elemento");
     System.out.println("3.- Imprimir Stack");
     System.out.println("4.- Destroy Stack");
     System.out.println("5.- Salir");
   }
}
Estructura Cola
Una 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.

También se le llama estructura FIFO (del inglés First In First Out), debido a
que el primer elemento en entrar será también el primero en salir.

Las colas se utilizan en sistemas informáticos, transportes y operaciones
de investigación (entre otros), dónde los objetos, personas o eventos son
tomados como datos que se almacenan y se guardan mediante colas para
su posterior procesamiento.

Este tipo de estructura de datos abstracta se implementa en lenguajes
orientados a objetos mediante clases, en forma de listas enlazadas.
Estructura Cola
Usos concretos de la cola

La particularidad de una estructura de datos de cola es el hecho de que
sólo podemos acceder al primer y al último elemento de la estructura. Así
mismo, los elementos sólo se pueden eliminar por el principio y sólo se
pueden añadir por el final de la cola.

Ejemplos de colas en la vida real serían: personas comprando en un
supermercado, esperando para entrar a ver un partido de béisbol,
esperando en el cine para ver una película, una pequeña peluquería, etc.
La idea esencial es que son todos líneas de espera.

En caso de estar vacía borrar un elemento sería imposible hasta que no se
añade un nuevo elemento. A la hora de añadir un elemento podríamos
darle una mayor importancia a unos elementos que a otros (un cargo VIP)
y para ello se crea un tipo de cola especial que es la cola de prioridad.
Estructura Cola

Ejemplo grafico de una cola
Estructura Cola
Operaciones Básicas

Crear: se crea la cola vacía.

Encolar (añadir, entrar, push): se añade un elemento a la cola. Se añade
al final de esta.

Desencolar (sacar, salir, pop): se elimina el elemento frontal de la cola, es
decir, el primer elemento que entró.

Frente (consultar, front): se devuelve el elemento frontal de la cola, es
decir, el primero elemento que entró.
Estructura Cola
Tipos de colas

Colas circulares (anillos): en las que el último elemento y el primero
están unidos.

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
predecesor.

Los elementos pueden consultarse, añadirse y eliminarse únicamente
desde la cabeza del anillo que es una posición distinguida.

Existen dos operaciones de rotaciones, una en cada sentido, de manera
que la cabeza del anillo pasa a ser el elemento sucesor, o el predecesor,
respectivamente, de la cabeza actual.
Estructura Cola

Representación grafica colas circulares
Estructura Cola
Tipos de colas


Colas de prioridad: En ellas, los elementos se atienden en el orden
indicado por una prioridad asociada a cada uno.

Si varios elementos tienen la misma prioridad, se atenderán de modo
convencional según la posición que ocupen.

Hay 2 formas de implementación:

Añadir un campo a cada nodo con su prioridad. Resulta conveniente
mantener la cola ordenada por orden de prioridad.

Crear tantas colas como prioridades haya, y almacenar cada elemento en
su cola.
Estructura Cola
Tipos de colas

Bicolas: son colas en donde los nodos se pueden añadir y quitar por
ambos extremos.

Para representar las bicolas lo podemos hacer con un array circular con
Inicio y Fin que apunten a cada uno de los extremos.

Hay variantes:

Bicolas de entrada restringida: Son aquellas donde la inserción sólo se
hace por el final, aunque podemos eliminar al inicio ó al final.

Bicolas de salida restringida: Son aquellas donde sólo se elimina por el
final, aunque se puede insertar al inicio y al final.
Estructura Cola
Tarea:

Crear un programa en java que permita realizar
operaciones sobre un arreglo asumiendo que se
esta trabajando sobre una cola de datos

Fecha de entrega 11/10/2011

More Related Content

What's hot

What's hot (20)

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
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
 
JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Unidad3 poo 4a parte
Unidad3 poo 4a parteUnidad3 poo 4a parte
Unidad3 poo 4a parte
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Funcionamiento de un pila
Funcionamiento de un pilaFuncionamiento de un pila
Funcionamiento de un pila
 
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
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Presentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasPresentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y Colas
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Codigo para implementar pilas en java
Codigo para implementar pilas en javaCodigo para implementar pilas en java
Codigo para implementar pilas en java
 
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
 
COLAS
COLASCOLAS
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 datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 

Viewers also liked

Viewers also liked (8)

Clase 2 JAVA 2012
Clase 2 JAVA 2012Clase 2 JAVA 2012
Clase 2 JAVA 2012
 
6. sentencia switch
6. sentencia switch6. sentencia switch
6. sentencia switch
 
Lamsem9
Lamsem9Lamsem9
Lamsem9
 
Lamsem10
Lamsem10Lamsem10
Lamsem10
 
Preguntas frecuentes sobre el servicio comunitario
Preguntas frecuentes sobre el servicio comunitarioPreguntas frecuentes sobre el servicio comunitario
Preguntas frecuentes sobre el servicio comunitario
 
City Harvest on the Menu
City Harvest on the MenuCity Harvest on the Menu
City Harvest on the Menu
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 

Similar to Sesion n°1 estructura de datos

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233GABRIEL64287
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Pilas
PilasPilas
Pilaserik
 
Pilas
PilasPilas
Pilaserik
 
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
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionLUISFERNANDOMORENOSO2
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colasBlackzerox
 
PAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDPAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDFranco Snipes
 
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
 
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 Pilas
Estructura De Datos PilasEstructura De Datos Pilas
Estructura De Datos Pilasmarielis
 

Similar to Sesion n°1 estructura de datos (20)

Datos
DatosDatos
Datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 
DECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdfDECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdf
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
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
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colas
 
Lifo
Lifo Lifo
Lifo
 
PAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDPAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVD
 
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)
 
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
 
Estructura De Datos Pilas
Estructura De Datos PilasEstructura De Datos Pilas
Estructura De Datos Pilas
 

More from José Braganza

More from José Braganza (10)

Lamsem5
Lamsem5Lamsem5
Lamsem5
 
Lamsem4
Lamsem4Lamsem4
Lamsem4
 
Lamsem1
Lamsem1Lamsem1
Lamsem1
 
Lamina de semana 11 12
Lamina de semana 11 12Lamina de semana 11 12
Lamina de semana 11 12
 
Clase 4 java 2011
Clase 4 java 2011Clase 4 java 2011
Clase 4 java 2011
 
Clase 5 JAVA 2012
Clase 5 JAVA 2012Clase 5 JAVA 2012
Clase 5 JAVA 2012
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
Semana 2 de Comportamiento Organizacional
Semana 2 de Comportamiento OrganizacionalSemana 2 de Comportamiento Organizacional
Semana 2 de Comportamiento Organizacional
 

Recently uploaded

SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxEnriqueLineros1
 

Recently uploaded (20)

SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docx
 

Sesion n°1 estructura de datos

  • 1. República Bolivariana de Venezuela Universidad Tecnológica del Centro Departamento Redes Estructura Datos Facilitador: Prof. Bassam Asfur
  • 2. Estructura Pila Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado. En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, Top of Stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS.
  • 3. Estructura Pila Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar a retirarlo. Las pilas suelen emplearse en los siguientes contextos: Evaluación de expresiones en notación postfija (notación polaca inversa). Reconocedores sintácticos de lenguajes independientes del contexto Implementación de recursividad.
  • 4. Estructura Pila Operaciones Una pila cuenta con 2 operaciones imprescindibles: apilar y desapilar, a las que en las implementaciones modernas de las pilas se suelen añadir más de uso habitual. Crear: se crea la pila vacía. Apilar: se añade un elemento a la pila.(push) Desapilar: se elimina el elemento frontal de la pila.(pop) Cima: devuelve el elemento que esta en la cima de la pila. (top o peek) Vacía: devuelve cierto si la pila está vacía o falso en caso contrario.
  • 5. Estructura Pila Estructuras de datos relacionadas El tipo base de la estructura FIFO (el primero en entrar es el primero en salir)es la cola. Por ejemplo, el cambio de una pila en una cola en un algoritmo de búsqueda puede cambiar el algoritmo de búsqueda en primera profundidad (en inglés, DFS) por una búsqueda en amplitud (en inglés, BFS). Una pila acotada es una pila limitada a un tamaño máximo impuesto en su especificación.
  • 6. Estructura Pila Arquitectura básica de una pila Una pila típica es un área de la memoria de los computadores con un origen fijo y un tamaño variable. Al principio, el tamaño de la pila es cero. Un puntero de pila, por lo general en forma de un registro de hardware, apunta a la más reciente localización en la pila; cuando la pila tiene un tamaño de cero, el puntero de pila de puntos en el origen de la pila. Las dos operaciones aplicables a todas las pilas son: Una operación apilar, en el que un elemento de datos se coloca en el lugar apuntado por el puntero de pila, y la dirección en el puntero de pila se ajusta por el tamaño de los datos de partida. Una operación desapilar: un elemento de datos en la ubicación actual apuntado por el puntero de pila es eliminado, y el puntero de pila se ajusta por el tamaño de los datos de partida.
  • 7. Estructura Pila Hay muchas variaciones en el principio básico de las operaciones de pila. Cada pila tiene un lugar fijo en la memoria en la que comienza. Como los datos se añadirán a la pila, el puntero de pila es desplazado para indicar el estado actual de la pila, que se expande lejos del origen (ya sea hacia arriba o hacia abajo, dependiendo de la aplicación concreta Por ejemplo, una pila puede comenzar en una posición de la memoria de mil, y ampliar por debajo de las direcciones, en cuyo caso, los nuevos datos se almacenan en lugares que van por debajo de 1000, y el puntero de pila se decrementa cada vez que un nuevo elemento se agrega. Cuando un tema es eliminado de la pila, el puntero de pila se incrementa.
  • 8. import java.io.*; public class principal { static int v[],i=0,n; public static void insertar(int v[], int i){ if (principal.i<principal.n){ v[i]=i+1; principal.i++; } else{ System.out.println("Pila llena"); } } public static void borrar(int v[], int i){ System.out.println("El elemento Borrado es "+v[i-1]); principal.i--; } public static void imprimir(int v[],int n){ System.out.println("nLos datos de la Pila son"); for(int i=n-1; i>=0;i--){ System.out.println(v[i]); } }
  • 9. Pila con un Arreglo public static void destruir(){ principal.i=0; } public static void main(String[] y)throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int num; n=4; v = new int[n]; do{ new menu();// clase que muestra menu num = Integer.parseInt(in.readLine( )); switch(num){ case 1: insertar(v,i); break; case 2: borrar(v,i); break; case 3: imprimir(v,i); break; case 4: destruir(); }
  • 10. }while(num!=5); } } class menu{ public menu(){ System.out.println("Selecione una opcion"); System.out.println("1.- Insertar Elemento"); System.out.println("2.- Borrar Elemento"); System.out.println("3.- Imprimir Stack"); System.out.println("4.- Destroy Stack"); System.out.println("5.- Salir"); } }
  • 11. Estructura Cola Una 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. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.
  • 12. Estructura Cola Usos concretos de la cola La particularidad de una estructura de datos de cola es el hecho de que sólo podemos acceder al primer y al último elemento de la estructura. Así mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola. Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todos líneas de espera. En caso de estar vacía borrar un elemento sería imposible hasta que no se añade un nuevo elemento. A la hora de añadir un elemento podríamos darle una mayor importancia a unos elementos que a otros (un cargo VIP) y para ello se crea un tipo de cola especial que es la cola de prioridad.
  • 14. Estructura Cola Operaciones Básicas Crear: se crea la cola vacía. Encolar (añadir, entrar, push): se añade un elemento a la cola. Se añade al final de esta. Desencolar (sacar, salir, pop): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró. Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primero elemento que entró.
  • 15. Estructura Cola Tipos de colas Colas circulares (anillos): en las que el último elemento y el primero están unidos. 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 predecesor. Los elementos pueden consultarse, añadirse y eliminarse únicamente desde la cabeza del anillo que es una posición distinguida. Existen dos operaciones de rotaciones, una en cada sentido, de manera que la cabeza del anillo pasa a ser el elemento sucesor, o el predecesor, respectivamente, de la cabeza actual.
  • 17. Estructura Cola Tipos de colas Colas de prioridad: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno. Si varios elementos tienen la misma prioridad, se atenderán de modo convencional según la posición que ocupen. Hay 2 formas de implementación: Añadir un campo a cada nodo con su prioridad. Resulta conveniente mantener la cola ordenada por orden de prioridad. Crear tantas colas como prioridades haya, y almacenar cada elemento en su cola.
  • 18. Estructura Cola Tipos de colas Bicolas: son colas en donde los nodos se pueden añadir y quitar por ambos extremos. Para representar las bicolas lo podemos hacer con un array circular con Inicio y Fin que apunten a cada uno de los extremos. Hay variantes: Bicolas de entrada restringida: Son aquellas donde la inserción sólo se hace por el final, aunque podemos eliminar al inicio ó al final. Bicolas de salida restringida: Son aquellas donde sólo se elimina por el final, aunque se puede insertar al inicio y al final.
  • 19. Estructura Cola Tarea: Crear un programa en java que permita realizar operaciones sobre un arreglo asumiendo que se esta trabajando sobre una cola de datos Fecha de entrega 11/10/2011