ESTRUCTURAS DINÁMICAS DE DATOS (PILAS)
|
|
|
- Marina Salinas Quintana
- hace 9 años
- Vistas:
Transcripción
1 200 UNAN LEON Departamento de Computación Ingeniería en Sistema y Telemática Docente: Ing. Juan Carlos Antón S. Asignatura: Algoritmo y Estructuras de Datos ESTRUCTURAS DINÁMICAS DE DATOS (PILAS)
2 Pilas Definición Una pila es una colección ordenada de elementos, en una pila se insertan o suprimen los elementos en un extremo al cual se le llama tope ó cima. Esto sugiere la idea de una serie de platos, en la que se van apilando uno encima de otro. En un momento determinado, si se decidiera quitar un plato, el plato que se quitaría sería el último que pusimos en la pila, es decir, el plato que está más arriba; de ahí, el nombre de estructuras tipo LIFO (Last In, First Out) último en entrar, primero en salir. En una pila se pueden agregar nuevos elementos en el tope de la pila o se pueden quitar los elementos que estén en el tope. Elemento T Elemento T- Elemento T-2 Elemento T-3 Elemento T-n Tope de la lista Inicio de la lista El elemento más importante de la pila, es el último elemento insertado (Elemento T), ya que es el primero en ser eliminado. Las operaciones más usadas asociadas a las pilas son: Push (apilar): operación de insertar un elemento en la pila. Pop (desapilar): operación de eliminar un elemento en la pila. Ejemplo: si se tiene una pila p y un elemento i, para insertar un elemento se realiza la operación push (p, i) y para eliminar un elemento se utiliza la operación pop(p) No existe un límite superior para una pila o por lo menos no se acostumbra a que lo tenga, poner un nuevo elemento en la pila solo ocasiona una mayor colección de elementos. Al realizar una operación pop en la pila se debe tener especial consideración al número de elementos que ésta contenga, ya que si la pila está vacía se puede producir un error por acceder a una zona de memoria no valida. Ejemplo: Operaciones sobre una pila, se ha de suponer que la pila está vacía. push (pila, ) push (pila, 5) push (pila, 3) pop (pila) pop (pila) push (pila,8)
3 Implementación de una pila utilizando arreglos Las pilas se suelen comparar con los arreglos, un arreglo simula las inserciones y eliminaciones como si se tratara de una pila dinámica. La diferencia de un arreglo con el de una pila es que tiene un tamaño fijo mientras que una pila dinámica crece o decrece conforme a las actividades que realice el usuario. Si hemos de utilizar un arreglo como una pila, siempre se ha de llevar un conteo del número de elementos de la pila para no sobre pasar la dimensión del arreglo. Tanto con el límite superior (tope) como el inferior. La inserción o extracción de un elemento se realiza siempre por la parte superior, su implementación mediante arrays limita el máximo número de elementos que la pila puede contener. A continuación se presentan dos algoritmos para las dos operaciones básicas: Operación Push Inicio Fin Si tope = MaximoElementosPila entonces Imprimir Desbordamiento de la pila Fin-si pila[i] = tope tope = tope + Operación Pop Inicio Fin Si tope = 0 entonces Imprimir Pila Vacia Fin-si Eliminar elemento de la pila tope = tope Ejemplo de una pila implementada con arreglos #include <stdio.h> #include <stdlib.h> #define ELEM_MAX 0 //indica que la pila tendrá un máximo de 0 elementos int top = -; //top o cima indica que la pila está vacía int contador = 0; //lleva el control del total de números ingresados o sacados 2
4 //Declaracion de operaciones básicas para la manipulación de pilas void Push(int Pila[], int dato); void Pop(int Pila[]); void ConsultarPila(int Pila[], int Total); //Visualizará los valores introducidos dentro de la pila void main() int Pila[ELEM_MAX]; Push(Pila, 0); Push(Pila, 5); Push(Pila, 3); ConsultarPila(Pila, contador); Pop(Pila); Pop(Pila); ConsultarPila(Pila, contador); Push(Pila, ); Push(Pila, 6); ConsultarPila(Pila, contador); Pop(Pila); ConsultarPila(Pila, contador); //Definición de las operaciones básicas void Push(int Pila[], int dato) if (top == ELEM_MAX ) printf("\n\tha ocurrido un desbordamiento en la pila\n\n"); //exit(-); else top += ; Pila[top] = dato; contador++; void Pop(int Pila[]) if (top == -) printf("\n\tla pila está vacía\n\n"); else printf("el numero %d se ha sacado de la pila\n\n",pila[top]); top --; contador--; 3
5 void ConsultarPila(int Pila[], int Total) int i; printf("\nvalores dentro de la pila:\n\n"); for (i = 0; i < Total; i++) printf("%d\t",pila[i]); printf("\n\n"); Implementación de Pilas con Listas lineales Una vez que se ha visto la implementación de una pila mediante un array, se pasará a ver la implementación de una pila usando una lista lineal. Una pila es una lista lineal en la que todas las inserciones y supresiones (y normalmente todos los accesos), se hacen en un extremo de la lista. Las pilas son muy utilizadas por los compiladores para auxiliarse en el proceso de evaluar expresiones y, para generar código en lenguaje máquina. Las pilas tienen también utilidad cuando se programan juegos de azar. La figura siguiente muestra la representación de una pila usando una lista. Como ejemplo de utilización de una pila, se simulará una calculadora capaz de realizar las operaciones de +, -, * y /. La mayoría de las calculadoras aceptan la notación infija y unas pocas la notación postfija. En esta última para sumar 0 y 20 introduciríamos primero 0, después 20 y por último el +. Cuando se introducen los operandos, se colocan en una pila y cuando se introduce el operador, se sacan dos operandos de la pila. La ventaja de la notación postfija es que expresiones complejas pueden evaluarse fácilmente sin mucho código. La calculadora de este ejemplo utiliza la notación postfija, por lo que hemos desarrollado dos funciones: push y pop. La función push introduce un valor en la pila y la función pop saca un valor de la pila. El programa realiza las siguientes operaciones:. Leer un dato, operando u operador, y lo almacena en la variable op. 2. Analiza op; si se trata de un operando lo mete en la pila utilizando la función push(); y si se trata de un operador saca, utilizando la función pop(), los dos últimos operandos de la pila, realiza la operación indicada por dicho operador y mete el resultado en la pila para encadenarlo con otra posible operación. 3. La función push(), introduce un elemento al inicio de la pila. El método que sigue es simple y sencillo: o Crear un nuevo elemento y referenciarlo por q. 4
6 o Apuntar con el puntero siguiente de q, a la cima de la pila. o Reasignar la cima de la pila, para que ahora apunte a q. La función pop() sigue estos pasos para obtener un elemento de la pila: o Guarda en una variable auxiliar la cima de la pila. o Verifica el estado de la pila, y si está vacía, regresa 0. o Si la pila no está vacía, entonces o Obtiene en una variable x el dato que se encuentra en el elemento cima. o Reasigna la cima de la pila, para que ahora pase a apuntar adonde apunta su puntero siguiente. Luego de esta operación, la cima de la pila puede ser NULL, lo cual quiere decir que sólo había un elemento, o la cima es diferente de NULL, lo cual indica que había al menos dos elementos. o Libera el espacio de memoria de la cima antigua, referenciado por la variable auxiliar. o Regresa el valor de la variable x. /********** Programa Calculadora. Aplicación de pilas************/ #include <stdio.h> #include <stdlib.h> #define PilaVacia (cima==null) /* Pila Vacia? */ typedef struct datos elemento; /* Tipo elemento */ struct datos /*Estructura de un elemento de la pila*/ float dato; elemento *siguiente; ; /*Funciones*/ void error(void) perror("error: insuficiente espacio en memoria."); exit(); elemento *NuevoElemento() elemento *q=(elemento *)malloc(sizeof(elemento)); return (q); void push(elemento **p, float x); /*añadir un dato a la pila*/ float pop(elemento **p); /*sacar un dato de la pila*/ void main() /*Funcion Principal*/ elemento *cima = NULL; /*Pila Vacia*/ float a,b; char op[8]; system("cls"); printf("calculadora con las operaciones + - * /\n"); printf("los datos seran introducidos de la forma: \n"); 5
7 printf(">operando \n"); printf(">operando 2\n"); printf("para salir pulse q.\n\n"); do printf("> "); gets(op); switch(*op) case '+': b=pop(&cima); a=pop(&cima); printf("%g\n",a+b); push(&cima,a+b); case '-': b=pop(&cima); a=pop(&cima); printf("%g\n",a-b); push(&cima,a-b); case '*': b=pop(&cima); a=pop(&cima); printf("%g\n",a*b); push(&cima,a*b); case '/': b=pop(&cima); a=pop(&cima); if(b==0) printf("\n\adivision por cero\n"); printf("%g\n",a/b); push(&cima,a/b); default: push(&cima,atof(op)); while(*op!= 'q'); /*Añadir un dato a la pila*/ void push(elemento **p, float x) elemento *q, *cima; cima = *p; /*cima de la pila*/ q=nuevoelemento(); q->dato=x; q->siguiente=cima; cima=q; *p=cima; 6
8 /*Recuperar un dato de la cima de la pila*/ float pop(elemento **p) elemento *cima; float x; cima = *p; /*cima de la pila*/ if(pilavacia) printf("\nerror: pop de una pila vacia"); return 0; else x = cima->dato; *p = cima->siguiente; free (cima); return (x); La siguiente imagen muestra el programa anterior en ejecución realizando las diferentes operaciones de una calculadora: 7
ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C Departamento de Computación UNAN-León TEMA 4: ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) 4.1 INTRODUCCIÓN: En términos de listas lineales, una pila puede ser
Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México
Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos
Realizar el ejercicio anterior utilizando Punteros
PUNTEROS Y ARRAYS En C existe una relación entre punteros y arrays tal que cualquier operación que se pueda realizar mediante la indexación de un arrays, se puede realizar también con punteros. Para clarificar
Estructura de datos y algoritmos. Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES
Estructura de datos y algoritmos Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES 4.1 Introducción 4.2 Ejemplos de TDA dinámicos lineales 4.3 Pilas 4.3.1
UNIDAD 2. ESTRUCTURAS DE DATOS SECUENCIALES. 1. Pilas (Stacks)
UNIDAD 2. ESTRUCTURAS DE DATOS SECUENCIALES 1. Pilas (Stacks) Una pila es una coleccion de elementos en la que sólo se pueden insertar y eliminar datos por uno de los extremos de la lista. Al igual que
Estructura de datos Colas
Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición
Uno de los conceptos más útiles en ciencias de la computación es la pila.
23. PILA. (Stack). Tipos de Datos Abstractos. 23.1 Conceptos. Uno de los conceptos más útiles en ciencias de la computación es la pila. Una pila es una colección ordenada de elementos de igual tipo, en
PILAS. Prof. Ing. M.Sc. Fulbia Torres
S ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS PILAS Definición. Operaciones. Implementación secuencial. Aplicaciones. Ejemplos. Ejercicios. DEFINICIÓN Una PILA (o stack) es una estructura
ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Docente: Ing. Karina Esquivel A. Asignatura: Practicas Profesionales. ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) TEMA 3: ESTRUCTURAS DINÁMICAS
Tema 02: TAD Pila. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 02: TAD Pila M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Descripción
Principal material bibliográfico utilizado
Vectores y Punteros Principal material bibliográfico utilizado www.jorgesanchez.net Fundamentos de Programación C/C++ - Ernesto Peñaloza Romero. Lenguaje C Adolfo Beltramo, Nélida Matas. En C el primer
Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos.
Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos. Con relación a la Estructura LISTA Indicar objetos reales que se puedan modelar con dicha estructura. Listas de Ordenes de visitas
ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C Departamento de Computación UNAN-León TEMA 5: ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) 5.1 INTRODUCCIÓN: Las colas son secuencias de elementos caracterizadas
UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS
UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS Curso 2008-09 Examen parcial APELLIDOS: NOMBRE: 1. (0.5 puntos) Enumera las características de un algoritmo
ESTRUCTURAS DINÁMICAS DE DATOS EN LENGUAJE C
ESTRUCTURAS DINÁMICAS DE DATOS EN LENGUAJE C Realizado por Ismael Camarero Revisado Msc. Raúl H Ruiz C Junio de 2008. Generalidades: Introducción: Hasta ahora, hemos empleado diferentes tipos de datos:
Tema 5. Estructura de datos Pila
Tema 5. Estructura de datos Pila http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la
Hoja de ejercicios del Tema 9
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 9 1. Sin ejecutarlo, qué mostraría el siguiente código? int x = 5, y = 12, z;
Tema: Tipos Abstractos de Datos (TAD s) en C++.
Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto
TAD: Pila. TALLER: TAD Pila
TALLER: TAD Una pila (stack) es un conjunto de elementos del mismo tipo que solamente puede crecer o decrecer por uno de sus extremos. Una pila también se la conoce con el nombre de estructura de tipo
Estructuras Dinámicas de datos.
Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos
ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)
2012 UNAN LEON Departamento de Computación Ing. En Sistemas de Información Docente: Ing. Karina Esquivel A. Asignatura: Algoritmo y Estructura de Datos. ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) TEMA 2:
Estructura de datos Página 1 de 12 ESTRUCTURA DE DATOS TEMA 1 ESTRUCTURA DE DATOS PILA
Estructura de datos Página 1 de 12 ESTRUCTURA DE DATOS TEMA 1 ESTRUCTURA DE DATOS PILA ABSTRACCIÓN Abstracción El proceso de abstracción puede resumirse en 4 etapas: Abstracción. Análisis (determinación)
Solución práctico 6 Tipos Abstractos de Datos Lista, Pila y Cola
Objetivos Trabajar sobre el Tipo Abstracto de Datos Lista, reforzando el desacople entre especificación e implementación. Retomar las implementaciones vistas, como ser Listas Doblemente Encadenadas, Listas
1. El Tipo Abstracto de Datos.
Tipo Abstracto de s TAD Pila y TAD Cola 1. El Tipo Abstracto de s. 2. Definición de un TAD Pila. 3. Operaciones sobre el TAD Pila. 4. Implementación dinámica del TAD Pila en C. 5. Definición de un TAD
APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Estructuras de Datos. La pila es un objeto dinámico en constante cambio.
21 Capítulo 2. LA PILA (STACK). 2.1 Definición y ejemplos. Una pila es un conjunto ordenado de elementos en el cual se pueden agregar y eliminar elementos de un extremo, el cual es llamado el tope de la
Capítulo. Listas, pilas y colas en C. Contenido. Introducción
Capítulo 32 Listas, pilas y colas en C Contenido Listas enlazadas Clasificación de listas enlazadas Operaciones en listas enlazadas Inserción de un elemento en una lista Búsqueda de un elemento de una
PUNTEROS (APUNTADORES)
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)
Tema 3. Estructura de datos lineales. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.
Tema Estructura de datos lineales . Introducción Las estructuras de datos dinámicas son una colección de elementos (también llamados nodos) que normalmente son registros con la particularidad que crecen
Las FILAS. ING PEDRO BELTRÁN CANESSA Estructuras de Datos 1
Las FILAS Estructuras de Datos 1 LA FILA (Conceptos...) Es un contenedor que utiliza el protocolo FIFO (First In, First Out) o bien, PEPS (Primeras Entradas, Primeras Salidas) Entrada Salida Estructuras
Estructuras Enlazadas AyED UTN-BA
Funciones para estructuras enlazadas Sin Plantilla El Nodo Con plantilla para un dato genérico en info El Nodo struct Nodo1 int info; Nodo* sig; ; Nodo1* p1 = new Nodo1(); struct Nodo2 string info; Nodo*
ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/
DECLARACION DE ESTRUCTURAS ESTRUCTURAS La estructura es una colección de variables, la cual puede poseer distintos tipos de datos (a diferencia de los arreglos que solamente pueden tener un solo tipo de
11. PILAS Introducción Fundamentos
11. PILAS 11.0 INTRODUCCIÓN... 31 11.1 FUNDAMENTOS... 31 11.2. REPRESENTACIÓN DE LAS PILAS EN C++... 32 Implementación mediante estructuras estáticas... 36 Implementación mediante estructuras dinámicas...
Tema 7- Modelo y Aplicación de Pila, Cola y. Tema 7- Modelo y Aplicación de. Lista Con Punto de Interés
Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Índice general:. Modelo y Aplicación de Lista con Punto de Interés
LISTAS ENLAZADAS FUNDAMENTOS TEORICOS
LISTAS ENLAZADAS FUNDAMENTOS TEORICOS Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta al siguiente elemento por un «enlace»
UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
Segundo Parcial de Programación 2 7 de junio de 2017
Instituto de Computación. Facultad de Ingeniería. Universidad de la República Segundo Parcial de Programación 2 7 de junio de 2017 Problema 1 (30 puntos) Considere un TAD T que permita almacenar a lo sumo
Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna
Ingeniería en Computación Unidad de Aprendizaje: Estructura de Datos Unidad de Competencia II: Estructuras de Datos Lineales Marzo 2015 M. en C. Edith Cristina Herrera Luna ESTRUCTURAS DE DATOS Propósito
Alonso Ramírez Manzanares Computación y Algoritmos 10.03
Recursividad mat-151 1 Ejercicio de recursión: dibujando una regla Queremos dibujar las marcas de diferentes tamaños de una regla. Marcas grandes cada 1/2 cm, marcas más pequeñas cada 1/4 cm... hasta una
EJEMPLOS DE ESTRUCTURAS EN C
ASIGNATURA: EJEMPLOS DE ESTRUCTURAS EN C ALGORITMO Y ESTRUCTURA DE DATOS EJEMPLOS DE ESTRUCTURAS EN C 2012 D E P A R T A M E N T O D E COMPUTACIÓN UNAN-LEÓN ESTRUCTURAS EN C 1. Crear un programa que contenga
Tema: Tipos Abstractos de Datos (TAD s) en C#.
Programación II. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C#. Objetivos Comprender el concepto Tipo Abstracto de Datos
Existen varios tipos de árboles: 5.1 Árboles binarios
5. Árboles. El árbol es una abstracción matemática de una estructura no lineal que modela una estructura jerárquica. El árbol juega un papel central en el diseño y análisis de algoritmos ya que se utilizan
Estructuras Dinámicas
Departamento de Lenguajes yciencias de la Computación 4 Estructuras Dinámicas Contenido 1. Gestión dinámica de memoria. 2. El tipo puntero. 3. Operaciones con punteros. 4. Operaciones básicas sobre listas
Estructura de Datos. Pilas Colas. Primer Semestre, Indice. TDA: Pilas TDA: Colas Colas de Prioridad Anillos BiColas BiColas Circulares
Estructura de Datos Pilas Colas Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 Indice TDA: Pilas TDA: Colas Colas de Prioridad Anillos BiColas BiColas Circulares Pilas - Stack Una de
Pilas y Colas. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores
Pilas y Colas Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Pilas Estructura Operaciones Ejemplos de aplicación Implementación Colas Definición Operaciones
Tema 6: Memoria dinámica
: Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0
Tema 13: Apuntadores en C
Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción
ALGORITMOS Y PROGRAMACIÓN I Unidad 3
ALGORITMOS Y PROGRAMACIÓN I Unidad 3 Tipos de Datos Estructurados Prof. Jaime Soto Sección (007) Material original de Prof. AURELY LEAL Introducción a las Estructuras de Datos Una estructura de datos es
Apuntadores (Punteros)
Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Pilas PILA Una pila (stack) es una colección
A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Elementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Introducción al lenguaje C
Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Colonia, Uruguay 15 de marzo de 2016 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 1 / 34 Objetivos
IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++
IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string
Programación I Funciones
1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad
11. PILAS Introducción Fundamentos
11. PILAS 11.0 INTRODUCCIÓN... 25 11.1 FUNDAMENTOS... 25 11.2. REPRESENTACIÓN DE LAS PILAS EN C++... 26 Implementación mediante estructuras estáticas... 31 Implementación mediante cursores... 35 Implementación
DEFINICIÓN FORMAL DE UN AFP
Los AUTÓMATAS FINITOS CON PILA además de reconocer a los Lenguajes Regulares, tienen la capacidad de reconocer a los LICs, como las expresiones aritméticas y las sentencias de un Lenguaje de Programación.
Programación TADs Lineales Lista Pila Cola
Programación 2 7- TADs Lineales Lista Pila Cola 1 TAD LISTA 2 Definición Hemos visto la definición inductiva de listas. Más precisamente, definimos inductivamente los tipos Alista, para cualquier tipo
PUNTEROS (Apuntadores)
PUNTEROS (Apuntadores) Unidad III INTRODUCCIÓN A PUNTEROS. CONCEPTOS BÁSICOS. DECLARACIÓN DE PUNTEROS. PUNTEROS Como una colección de posiciones de memoria consecutivas. En ella se almacenan los distintos
Escuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio
Pilas, Colas. Andrea Rueda. Estructuras de Datos. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas
Pilas, Colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Quiz: STL Quiz: STL Standard Template Library (STL) std::vector - Arreglo dinámico,
Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS
Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario
UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Tema: Plantillas en C++.
Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas
7.4. UTILIDADES DE LAS PILAS
7.4. UTILIDADES DE LAS PILAS o Llamadas a subprogramas o Paso de programas recursivos a iterativos o Un caso especial, quick_sort iterativo. o Equilibrado de símbolos o Tratamiento de expresiones aritméticas
Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez
Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.
PUNTEROS EN C (APUNTADORES)
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Programación Estructurada PUNTEROS EN C (APUNTADORES) TEMA 10: PUNTEROS (APUNTADORES)
Punteros. Programación en C 1
Punteros Programación en C 1 Índice Variables y direcciones de memoria. Punteros definición, declaración e inicialización. Punteros declaración, asignación y dereferencia. Puntero nulo, tipo void. Aritmética
Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
Punteros. Índice. 1. Qué es un puntero y por que son importantes.
Punteros Índice 1. Qué es un puntero y por que son importantes. 2. Punteros a tipos básicos. 3. Punteros sin tipo. 4. Memoria dinámica. 5. Punteros a estructuras. 6. Punteros a matrices. 7. Punteros a
Tema: Punteros.Puntero this en C#.
POO. Guía No.7 1 Tema: Punteros.Puntero this en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Materiales y Equipo Computadora con el software C#. Guía Número
Algoritmos y Estructuras de Datos Pilas LIFO y Colas FIFO. Guillermo Román Díez
Algoritmos y Estructuras de Datos Pilas LIFO y Colas FIFO Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Pilas LIFO y Colas FIFO 1/12
Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE
Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es
Programación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación
PILAS Fundamentos
Alg. y Estr. Datos-I / Fund. Progr.-II (R. Ferrís, J. Albert) 11 PILAS 11.1 Fundamentos En este tema y en el siguiente se analizarán las estructuras de datos lineales pilas y colas. Las pilas y las colas
Estructuras de datos: Pilas, Colas, Listas
Estructuras de datos:,, Dep. de Computación - Fac. de Informática Universidad de A Coruña J. Santiago Jorge [email protected],, Índice 1 2 3,, Referencias bibliográficas M. A. Weiss., pilas y colas. En Estructuras
EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO
EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO TIPOS DE DATOS BÁSICOS: Tipo Tipo Tamaño aproximado en bits Rango mínimo Carácter char 8 0 a 55 Entero int 16-3767 a 3767 Real float 3
Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Codificación en C. Como pasar de Pseudocódigo a C (con pequeños trucos de C++)
Codificación en C Como pasar de Pseudocódigo a C (con pequeños trucos de C++) Plantilla Librerias Constantes Algoritmo #include #include #define PI 3.1416 int main(void){ /*Variables*/
Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros
Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Especificación de TAD s. TAD Pila de Enteros. desapilar 2 7 3 5 apilar Cima de la Pila Cima de la Pila Definición: Estructura de Datos que
GENERACIÓN DE CÓDIGO INTERMEDIO ÁRBOLES DE SINTAXIS ABSTRACTA (ASA)
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Estructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Son aquellas que se implementan usando vectores por lo que tienen un número de elementos limitado.
No es importante aprenderse al pié de la letra,cada una de las funciones, ya sea para la pila o para las colas, si no que, es importante, aprenderse lo que hace cada función, tener presente el algoritmo
Guia#9: Punteros en C#.
Guia#9: Punteros en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos. Conocer el concepto de punteros y su aplicación en C#. Desarrollar aplicaciones en
ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo
ESTRUCTURA DE DATOS Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo DATOS ESTÁTICOS Su tamaño y forma es constante durante la ejecución
Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.
Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el
Estructura de Datos: Lista. Facultad Ingeniería y Tecnología Informática Tecnicatura en Programación de Computadoras. Autora: Prof.
Facultad Ingeniería y Tecnología Informática Tecnicatura en Programación de Computadoras Estructura de Datos: Lista Autora: Lunes a viernes de 9 a 21 h. Torre Universitaria, Zabala 1837, primer nivel inferior.
Punteros y aritmética de punteros. se almacena el operando
1. Introducción Punteros y aritmética de punteros Una de las características más poderosas del C, es el puntero o apuntador. Los punteros permiten simular las llamadas por referencia y crear y manipular
