PROGRAMACION DE Pilas o Stacks y Colas

Slides:



Advertisements
Presentaciones similares
Compiladores e intérpretes Análisis Sintáctico III
Advertisements

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 04 Árboles BINARIOS.
Pilas y Colas Fundamentos Estructuras de Datos (Programación 2)
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Ordenamiento Interno y Búsqueda Binaria
Estructuras de Datos (ARRAYS)
Programación I Teoría III
Tipos de Datos Básicos y Estructurados
Funcionamiento, programación
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Arreglos Ing. Nahiby Castillo.
Estructuras de Datos Especificación formal de Listas.
Tecnología de la Programación Javier Nieves Acedo Standar Template Library (STL)
Colas y Listas Enlazadas
Herramientas para el acceso directo a memoria en C++
Cont. Arbol Binario de Búsqueda (2). Sobre los recorridos Las versiones recursivas de los recorridos son costosas debido a la gran cantidad de llamadas.
Tema Nº4.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
APLICACIONES DE PILAS Estructuras de Datos.
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.
Listas circulares.
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
La Pila o Stack Programación. La pila (stack) es una estructura ordenada de elementos en la que se pueden insertar o remover elementos por un extremo.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Estructura de Datos y Algoritmos
Clase 10: Estructuras de datos y arreglos.
Estructura de Datos En C++
1 Estructuras de Datos Elementales:stacks (pilas), queues (colas), linked lists (listas enlazadas), y rooted trees (árboles con raíz) Agustín J. González.
ELO3201 Contenedores Biblioteca Estándar de Templates Agustín J. González ELO320 Contenido Contenedores: Vector, List, Deque, Stack, Queue, Priority Queue,
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:
Aplicación de estructuras de datos
Pilas y Colas Estructuras de Datos.
Árboles Binarios Estructuras de Datos.
República Bolivariana de Venezuela. Ministerio del PP para la Defensa. Universidad Nacional Experimental de la Fuerza Armada. Cátedra: Instrucción Militar.
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
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.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Punteros Recomendado: 1. Nivelación Funciones
Son estructuras de datos que almacenan y recuperan sus elementos atendiendo a un estricto orden (LIFO Last – in, first –out Ultimo en entrar – primero.
INSTITUTO TECNOLOGICO DE APIZACO
UNIDAD IV. PILAS, COLAS, RECURSION APLICADAS A LENGUAJE C.
Ayudantia 3: Pilas- Colas
Lic. En C.C. Ann Margareth Meza Rodríguez
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Lic. En C.C. Ann Margareth Meza Rodríguez
Estructura de Datos..
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
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.
M.C. Meliza Contreras González
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.
Laboratorio de programación
ESTRUCTURAS LINEALES “LA PILA”
PROGRAMACION DE Pilas o Stacks y Colas
MEMORIA DINÁMICA.
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
Ficha de datos Créditos Institucionales: 8 créditos.
Listas Dinámicas.
PROGRAMACION DE APLICACIONES EN MEMORIA DEL COMPUTADOR = ALGORITMOS Y ESTRUCTURAS DE DATOS.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
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.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: LISTAS.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Transcripción de la presentación:

PROGRAMACION DE Pilas o Stacks y Colas

Las estructuras dinámicas son las en la ejecución varia el número de elementos y uso de memoria a lo largo del programa) Entre estas tenemos: Lineales (listas enlazadas, pilas y colas) No lineales (arboles y grafos o redes)

Concepto Una PILA es una estructuras en donde cada elemento es insertado y retirado del tope de la misma, y debido a esto el comportamiento de un una pila se conoce como LIFO (último en entrar, primero en salir ).

Ejemplos Un ejemplo de pila o stack se puede observar en el mismo procesador, es decir, cada vez que en los programas aparece una llamada a una función el microprocesador guarda el estado de ciertos registros en un segmento de memoria conocido como Stack Segment, mismos que serán recuperados al regreso de la función.

Las 7 capas o pilas de una red según el modelo OSI

Pila en arreglo estático Es una programación estática de una pila en base a un arreglo estático de tamaño fijo

Algoritmo : put(), poner un elemento en la pila get(), retirar un elemento de la pila empty(), regresa 1 (TRUE) si la pila esta vacia size(), número de elementos en la pila El atributo SP de la clase Stack es el apuntador de lectura/escritura, es decir, el SP indica la posición dentro de la pila en donde la función put() insertará el siguiente dato, y la posición dentro de la pila de donde la función get() leerá el siguiente dato. Cada vez que put() inserta un elemento el SP se decrementa. Cada vez que get() retira un elemento el SP se incrementa.

Se analiza lo que sucede con el SP (apuntador de pila) cuando se guardan en la pila uno por uno los caracteres 'A', 'B', 'C' y 'D'. Llenando la pila. SP | +---+---+---+---+---+ | | | | | | al principio (lista vacia) +---+---+---+---+---+ push('A'); | | | | | A | despues de haber agregado el primer elemento | | D | C | B | A | despues de haber agregado cuatro elementos Vaciando la pila. +---+---+---+---+---+ pop(); | | D | C | B | A | despues de haber retirado un elemento | | D | C | B | A | despues de haber retirado todos los elementos Nota: observe que al final la lista está vacia, y que dicho estado se debe a que el puntero está al final de la pila y no al hecho de borrar físicamente cada elemento de la pila.

Realiza un programa de una pila utilizando un arreglo estático Práctica 07.- Realiza un programa de una pila utilizando un arreglo estático

Programación de Pila dinámica Es igual a lo anterior con la diferencia de que una pila enlazadada dinámicamente no tiene de forma natural el mecanismo de acceso por índices, en ese sentido, el programador puede crear los algoritmos necesarios para permitir tal comportamiento. Se crean estructuras conocidas como nodos o registros (un registro en Lenguaje C o C++). // declaraci¢n de estructura nodo o registro struct nodo { DATA_TYPE data; nodo *next; };

Algoritmo: Al principio la lista está vacia, en ese caso el SP es igual a NULL y, en consecuencia, el puntero next también es NULL. SP = NULL +------+------+ | ???? | next |--> NULL 2) Despues de agregar el primer elemento la situación se vería asi: SP = asignado 1 | data | next |--> NULL 3) Despues de agregar otro elemento la situación se vería asi: 2 1 +------+------+ +------+------+ | data | next |--> | data | next |--> NULL

Práctica 08.-Realiza un programa de una pila dinámica

Práctica 09.-Realiza un programa que convierta expresiones infijas en postfijas visto como pilas

Colas: Una cola sencilla es una estructura en donde cada elemento es insertado inmediatamente después del último elemento insertado; y donde los elementos se retiran siempre por el frente de la misma, debido a esto el comportamiento de un una cola se conoce como FIFO (primero en entrar, primero en salir).

Algoritmo : put(), poner un elemento en la cola get(), retirar un elemento de la cola empty(), regresa 1 (TRUE) si la cola esta vacia size(), número de elementos en la cola Cada vez que put() inserta un elemento la cola se incrementa. Cada vez que get() retira un elemento la cabeza se incrementa Ejemplo: Llenado y vaciado de una cola Practica: Hacer un programa de Cola basada en arreglo dinámico