Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Análisis Sintáctico Capítulo 4.
Programación de Computadores
Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
PILA.
ESTRUCTURA DE DATOS Unidad 03 PILAS.
ESTRUCTURA DE DATOS Unidad 03 PILAS.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
Universidad Central II-35 Estructuras de Datos
Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.
2.2 Pila de números enteros
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de control
Estructuras de Datos Especificación formal de Listas.
M.I.A Daniel Alejandro García López.  Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de.
Tema Nº4.
APLICACIONES DE PILAS Estructuras de Datos.
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Pilas Una pila es una estructura lineal de elementos en donde se pueden agregar o eliminar datos únicamente por uno de los dos extremos. En consecuencia.
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Arboles Binarios de expresiones
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
MIPS Intermedio.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Licenciatura en Informatica
Variables y Shapes. Variables ► Lugares de la memoria que reciben un nombre ► En VB no es necesario declarar las variables  A=8 ► Se declaran con Dim.
Estructura de Datos y Algoritmos
Estructura de Datos En C++
Programación I Universidad Nacional de Luján
Microsoft© Visual Basic . Net.
ARBOLES ESTRUCTURAS DE DATOS.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.
AED3: Algoritmos y Estructuras de Datos 3.  Uno de los conceptos mas utiles en computacion es la pila o stack  Es un conjunto de elementos, en la que:
FORMA INTERNA DE REPRESENTAR
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Programación I Arreglos II- Matrices.
Pilas y Colas Estructuras de Datos.
Teoría – Alejandro Gonzalez
República Bolivariana de Venezuela. Ministerio del PP para la Defensa. Universidad Nacional Experimental de la Fuerza Armada. Cátedra: Instrucción Militar.
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.
Introducción a la programación
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Punteros Recomendado: 1. Nivelación Funciones
 Ignacio Soto Valdez R  Paola Karina Suarez Salazar R  Mario Alberto Castillo Aviles R
II.- Algebra Básica Expresión algebraica y sus partes.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
Estructura de datos Francisco Castro
Exponentes Enteros.
Modos de direccionamiento
Operaciones Algebraicas
Lic. En C.C. Ann Margareth Meza Rodríguez
ALGEBRA.
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Lic. En C.C. Ann Margareth Meza Rodríguez
Actualizado agosto 2010 por Guiomar Mora de Reyes
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
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.
Lenguaje de Programación LISP
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.
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.
Ficha de datos Créditos Institucionales: 8 créditos.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Listas Dinámicas.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Unidad Temática II Algoritmia Elemental Operadores aritméticos: son símbolos que le indican al compilador la operación de cálculo a realizar entre los.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López

PILAS Se caracteriza por ser una estructura de datos en la que el último elemento que se añade a la estructura es el primero en salir. Este modo de funcionamiento se conoce como política LIFO (Last In, First Out). El elemento que ocupa el extremo de la pila y su posición se denomina TOPE. Funciones básicas: APLICAR (METER): añadir un elemento en la posición siguiente a la del tope actual. DESAPILAR (SACAR): elimina el elemento situado en el tope.

PILAS Al ser una estructura LIFO, la pila devuelve la información en orden contrario al de almacenamiento. DEFINICIÓN: Una pila es una estructura ordenada y homogénea, en la que podemos aplicar o desapilar elementos en una única posición llamada TOPE, siguiendo una política LIFO.

AXIOMAS 1) Pilavacia (CrearPila) = Verdadero 2) Pilavacia (Apilar (S, e)) = Falso 3) Desapilar (CrearPila) = error 4) Desapilar (Apilar (S, e)) = S 5) Tope (CrearPila) = error 6) Tope (Apilar (S, e)) = e

DIFERENCIAS CON VECTORES En un vector puede accederse a cualquiera de sus elementos. En una pila sólo puede accederse a uno de sus elementos, el situado en el tope. Un vector es un conjunto finito, mientras en una pila no hay condiciones de límite de elementos. Para obviar estas diferencias, la implementación mediante vectores debe hacerse teniendo en cuenta: Además del vector se necesita otro dato que indique cuál es en cada momento el elemento tope de la pila en el vector. Si se implementa la pila mediante vectores, se está restringiendo el concepto de pila.Esto es así, porque al tener los vectores un tamaño constante y predeterminado, en la propia definición de la pila se impone un máximo al número de elementos que va a tener.

IMPLEMENTACIÓN 1.Pila, como vector de n elementos y una variable global tope. 2.Pila, como un registro con dos campos, uno de ellos el vector y otro el tope.

IMPLEMENTACIÓN

OPERACIONES PROCEDURE CrearPila (VAR s: TipoPila); BEGIN s.tope := 0 END; FUNCTION PilaVacia (s: TipoPila): BOOLEAN; BEGIN PilaVacia := s.tope=0 END;

OPERACIONES PROCEDURE Desapilar (VAR s: TipoPila; VAR error: BOOLEAN); BEGIN IF PilaVacia(s) THEN error := true ELSE BEGIN error := false; dec(s.tope) END END;

OPERACIONES FUNCTION PilaTope (s: TipoPila; var error:boolean) : Integer; BEGIN IF PilaVacia(s) THEN error := true ELSE BEGIN error := false; PilaTope := s.elementos[s.tope] END END;

OPERACIONES PROCEDURE Apilar ( VAR s: TipoPila; e: TipoBase); BEGIN INC(s.tope); s.elementos[s.tope] := e; END;

OPERACIONES FUNCTION PilaLlena (s: TipoPila): BOOLEAN; BEGIN PilaLlena := s.tope=MaxElementos END;

OPERACIONES PROCEDURE Apilar ( VAR s:TipoPila; e:TipoBase; VAR error:BOOLEAN); BEGIN IF PilaLlena(s) THEN error := true ELSE BEGIN error := false; INC(s.tope); s.elementos[s.tope] := e END END;

OPERACIONES

NOTACIÓN INFIJA, POSTFIJA, PREFIJA Dada la expresión A+B se dice que está en notación infija y su nombre se debe a que el operador (+) está entre los operandos A y B. Dada la expresión AB+ se dice que está en notación postfija, y su nombre se debe a que el operador(+) está después de los operandos. Dada la expresión +AB se dice que está en notación prefija, y su nombre se debe a que el operador(+) está antes de los operandos (A y B) Los operadores de más alta prioridad se ejecutan primero. Si hubieraen una expresión dos o más operadores de igual prioridad se procesarán de izquierda a derecha. Las subexpresiones parentizadas tendrán más prioridad que cualquier operador PROPIEDADES DE LOS OPERANDOS ^ (Potencia) * / (multiplicación y división) + - (suma y resta)

NOTACIÓN INFIJA, POSTFIJA, PREFIJA PasoExpresiónPasoExpresión 0X+Z*W0(X+Z)*W/T^Y-V 1X+ZW*1XZ+*W/T^Y-V 2XZW*+2XZ+*W/TY^-V 3XZ+W*/TY^-V 4XZ+W*TY^/-V 5XZ+W*TY^/V- PasoExpresiónPasoExpresión 0X+Z*W0(X+Z)*W/T^Y-V 1X+*ZW1+XZ*W/T^Y-V 2+X*ZW2+XZ*W/^TY-V 3*+XZW/^TY-V 4/*+XZW^TY-V 5-/*+XZW^TYV

Ejercicio Garaje Se tiene un garaje con una sola entrada y cuyo ancho es tal que solo puede estacionar un auto detrás de otro. Cuando llega un auto se coloca detrás de los otros. Los autos se identifican por la placa. Utilizando el TAD Pila escribir un programa que simule el funcionamiento del garaje.

Estructura

Procedimientos