Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.

Slides:



Advertisements
Presentaciones similares
PILA.
Advertisements

ESTRUCTURA DE DATOS Unidad 03 PILAS.
PROYECTO COLABORATIVO
Introducción a las Tecnologías Informáticas Oscar Bedoya
Estructuras de datos y algoritmos
ESTRUCTURAS LINEALES UNIDAD 3.
Estructura de Datos En C++
Estructuras de datos y algoritmos
PROGRAMACION DE Pilas o Stacks y Colas
Metodología de la Programación
¿CÓMO LLEGAR? Desde el aeropuerto El Dorado o desde la Terminal de Transporte: Tomar rutas de buses públicos que recorren la avenida El Dorado de occidente.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Paso 1 Ingresamos a la pagina de la UNAD y llenamos los campos de usuario Y contraseña y pulsamos entrar.
ESTRUCTURA DE DATOS I ROBERTO MAL VILLALOBOS
CONVOCATORIA DE PROYECTOS DE INVERSIÓN Apertura: septiembre 2 de 2013 Cierre: septiembre 30 de 2013 Hora: 4:30 P.M.
Algoritmo y Estructura de Datos I
Modelo Entidad - Relación
Modelamiento del Negocio
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
Programación I Teoría VI: Recursividad
Introducción a las Tecnologías Informáticas Oscar Bedoya
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Tema Nº4.
TAD_Ana Lilia Laureano/UAM-A1 Tipos Abstractos de Datos y Asertos Ana Lilia Laureano Cruces Universidad Autónoma Metropolitana-Azcapotzalco.
Edificio de viviendas Amenablanco Amenabar y Monroe, Buenos Aires, Argentina Logística.
Planificación de ejercicios para la practica de tenis de mesa
Sistemas Operativos Oscar Bedoya
Introducción a las tecnologías informáticas Oscar F. Bedoya L. Edificio 331.
¿Dónde vives?.
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Estructuras de datos y algoritmos
Estructura de Datos Lineales
Registro de Beneficiarios
Unidad 1 Definiciones Básicas
Curso de preparación prueba ENLACE 2012
Introducción a las Tecnologías Informáticas Oscar Bedoya
Introducción a la Programación Mercedes Jatziri Gaitán González
Algoritmos.
ALGORITMO En matemáticas, ciencia de la computación y disciplinas relacionadas, un algoritmo del latín DIXIT ALGORITHMUS es una lista bien definida, ordenada,
Estructura de Datos En C++
GRUPO DE INVESTIGACION EN CONTROL INDUSTRIAL
Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.
TDA PILA ESTRUCTURAS DE DATOS.
IIC Distribución de contenedores Programa ProSeR.
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
SISTEMA ALGEBRAICO.
Estructura de Datos En C++
 Ignacio Soto Valdez R  Paola Karina Suarez Salazar R  Mario Alberto Castillo Aviles R
Unidad 1 Introducción a los Programas Concepto de Programa El término programa (del latín programma, que a su vez proviene de un vocablo griego) tiene.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
UML 2.0 Diagramas de Comportamiento
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
PROGRAMACION DE Pilas o Stacks
Estructura de Datos PILAS. 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.
Unidad 1 Introduccion a los programas Concepto de Programa El término programa (del latín programma, que a su vez proviene de un vocablo griego) tiene.
Pilas Grupo 4. 1 Stack o Pila Definición: Una pila es una estructura de datos, a la cual se le puede ingresar o sacar elementos por un sólo lado. También.
PROGRAMACION DE Pilas o Stacks y Colas
MANUAL DE INSPECCIÓN CARPINTERÍA
¿QUÉ ES UNA MÁQUINA DE JUEGO PROGRAMADO? Una máquina de juego programado es aquella en que el resultado del juego se encuentra definido por el programador.
Hay muchas formas de implementar un TDA: Arreglos Estructuras y Clases. Aunque en este curso sólo trabajaremos con estructuras y arreglos, es importante.
Descripción del nivel de competencia.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
ADICIÓN ELECTROFÍLICA.
Estructuras de datos y algoritmos
INTRODUCCIÓN A UML Y AL ADOO 1 Diagramas en UML ◦Diagramas de casos de uso ◦Diagramas de clases y objetos ◦Diagramas de secuencia ◦Diagramas de colaboración.
PROBLEMA DE INVESTIGACIÓN DEFINICIÓN - CONCEPTO: …………………………………..
EDIFICIO CON SÓTANO, CUATRO PISOS (NO TÍPICOS) Y AZOTEA EDIFICIO CON SOTANO, PRIMER PISO, PISOS TÍPICOS (2,3 Y 4) Y AZOTEA EJEMPLOS DE DISTRIBUCIÓN.
Pilas.
Transcripción de la presentación:

Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos

Pila Definición Una pila es una secuencia de elementos de un tipo base, el último elemento se le llama tope. En una pila sólo se puede adicionar al tope y solo se puede retirar de él.

Pila Definición TDA Pila Descripción: Una pila es una secuencia de elementos de un tipo base, el último elemento se le llama tope. En una pila solo se puede adicionar al tope y solo se puede retirar de él. Invariante: Pila= л (  i, 0 <= i < n, elem i  Tipo) л elem n-1 = tope

Pila Operaciones: Pila (Constructor) Push Pop Imprimir pila Buscar elemento en la pila Es una pila vacía?

Cada nodo se representa por medio de dos campos: Campo dato: contiene el valor del nodo Campo siguiente: indica cuál es el nodo con el que se enlaza dato siguiente dato Siguiente(NULL) Tope de la pila Pila

Operación: push Insertar un nuevo nodo a la pila. El elemento que se inserta, pasa a ser el tope de la pila dato siguiente dato siguiente dato Siguiente(NULL) Tope de la pila Pila

Operación: pop Eliminar un elemento de la pila. El elemento que se elimina es el que esté en el tope dato siguiente dato Siguiente(NULL) Tope de la pila Pila

Imprimir pila Recorre toda la pila, comenzando por el tope, y muestra el elemento de cada nodo Buscar elemento en la pila Es una pila vacía?

Pila (Constructor) Al crear una pila, se crea el nodo cabecera. El nodo cabecera tiene como dato null y como siguiente null. Pila

Push ( La Pila está vacía ) Se crea un nuevo nodo con el dato que se desee colocar y con siguiente null El campo siguiente del nodo cabecera pasa de ser null a ser el nodo que estamos insertado23 Pila

Push( La pila no está vacía ) Se crea un nuevo nodo con el dato que se desee colocar y en su campo siguiente se establece el siguiente del nodo cabecera Al nodo cabecera se le asigna como siguiente el nodo que estamos insertando Pila

Pop Al nodo cabecera se le asigna como siguiente, el siguiente del primer nodo Pila

Imprimir datos Pila

Está una pila vacía? Cuando la pila está vacía el campo siguiente de la cabecera es null Pila

Cada nodo se representa por medio de dos campos: Campo dato: contiene el valor del nodo Campo siguiente: indica cuál es el nodo con el que se enlaza class Nodo{ Object dato; Nodo siguiente; Nodo(Object o) { dato=o; siguiente=null; } Nodo(Object o, Nodo n) { dato=o; siguiente=n; } Pila

Crear Pila Al crear una Pila, se crea el nodo cabecera. El nodo cabecera tiene como dato null y como siguiente null. class Pila{ Nodo cabecera; Pila() { cabecera=new Nodo(null); } … } Pila

Está una pila vacía? Cuando la pila está vacía el campo siguiente de la cabecera es null public boolean estaVacia() { if (cabecera.siguiente==null) { return true; } else { return false; } Pila

Push ( La pila está vacía) Se crea un nuevo nodo con el dato que se desee colocar y con siguiente null El campo siguiente del nodo cabecera pasa de ser null a ser el nodo que estamos insertado public void push(Object o) { Nodo nuevo=new Nodo(null); if ( estaVacia() ) { nuevo=new Nodo(o); nuevo.siguiente=null; cabecera.siguiente=nuevo; } else { nuevo=new Nodo(o); nuevo.siguiente=cabecera.siguiente; cabecera.siguiente=nuevo; } Pila

Push ( La pila no está vacía) Se crea un nuevo nodo con el dato que se desee colocar y en su campo siguiente se establece el siguiente del nodo cabecera Al nodo cabecera se le asigna como siguiente el nodo que estamos insertando public void push(Object o) { Nodo nuevo=new Nodo(null); if ( estaVacia() ) { nuevo=new Nodo(o); nuevo.siguiente=null; cabecera.siguiente=nuevo; } else { nuevo=new Nodo(o); nuevo.siguiente=cabecera.siguiente; cabecera.siguiente=nuevo; } Pila

Pop Al nodo cabecera se le asigna como siguiente, el siguiente del primer nodo public void pop() { if (cabecera.siguiente==null) System.out.println("LA PILA ESTA VACIA"); else{ Nodo borrar=cabecera.siguiente; cabecera.siguiente=borrar.siguiente; } Pila

Imprimir datos public void imprimir() { Nodo actual=new Nodo(null); if (estaVacia()) System.out.println("Vacio"); else { actual=cabecera; System.out.println("\n"); while( actual != null){ System.out.print(" |" + actual.dato + "|->" ); actual=actual.siguiente; } Pila