Fundamentos de Informática
|
|
- Purificación Giménez Páez
- hace 5 años
- Vistas:
Transcripción
1 Tema 7: 7: Estructuras datos. Colas y Pilas Fundamtos Informática 1º Ingiería Industrial Escuela Superior Ingieros Universidad Sevilla Ismael Alcalá Torrego José Ángel Acosta Rodríguez Fernando Dorado Navas Fabio Gómez Estern-Aguilar Manuel López Martínez Amparo Núñez Reyes Carlos Vivas Vegas
2 TEMA TEMA 7: 7: Estructuras Estructuras datos datos ESTRUCTURAS INFORMACIÓN DE DATOS = REGLAS DE ACCESO + Hasta ahora sabemos almacar la información variables individuales o tablas ( tipos dato estándar o estructuras) Ciertos problemas no admit solución scilla o eficite con esta aproximación (Limitaciones) 1.- Tamaño estático Las Las estructuras estructuras datos datos disponibles disponibles C no no pu pu cambiar cambiar tamaño tamaño tiempo tiempo ejecución. ejecución. Por Por ejemplo, ejemplo, una una tabla tabla datos datos tie tie un un número número elemtos elemtos fijo fijo que que no no pue pue cambiarse cambiarse una una vez vez clarada. clarada. Incluso Incluso empleando empleando reserva reserva dinámica, dinámica, una una vez vez reservada reservada la la memoria, memoria, el el número número elemtos elemtos es es invariable. invariable. Hay Hay aplicaciones aplicaciones que que requier requier esta esta propiedad: propiedad: Ej: Ej: Bases Bases datos datos (el (el número número elemtos elemtos no no es es conocido conocido tiempo tiempo ejecución ejecución y no no es es calculable calculable con con antelación. antelación.
3 TEMA TEMA 7: 7: Estructuras Estructuras datos datos ESTRUCTURAS INFORMACIÓN DE DATOS = REGLAS DE ACCESO + Hasta ahora sabemos almacar la información variables individuales o tablas ( tipos dato estándar o estructuras) Ciertos problemas no admit solución scilla o eficite con esta aproximación (Limitaciones) 1.- Tamaño estático 2.- Reglas acceso a datos Las Las estructuras estructuras datos datos disponibles disponibles C no no pu pu cambiar cambiar tamaño Las tamaño Las estructuras estructuras tiempo tiempo datos ejecución. datos disponibles ejecución. disponibles C no no impon impon restricciones restricciones Por acceso Por acceso ejemplo, a ejemplo, los los una datos una datos tabla (acceso tabla (acceso datos aleatorio). datos aleatorio). tie tie un un número número elemtos elemtos fijo fijo que que no Ej: no Ej: pue pue una una cambiarse tabla cambiarse tabla o matriz, una matriz, una vez cualquier vez cualquier clarada. elemto clarada. elemto la la misma misma es es accesible accesible Incluso sin Incluso sin más más empleando que empleando que inxarlo inxarlo reserva apropiadamte. reserva apropiadamte. dinámica, dinámica, una una vez vez reservada reservada la la memoria, memoria, el el número número elemtos elemtos es es invariable. En invariable. En ocasiones ocasiones es es importante importante restringir restringir el el acceso acceso a datos datos o controlar controlar el el Hay orn Hay orn aplicaciones aplicaciones que que se se que acc. que acc. requier requier esta esta propiedad: propiedad: Ej: Ej: Bases Bases datos datos (el (el número número elemtos elemtos no no es es conocido conocido tiempo tiempo ejecución ejecución y no no es es calculable calculable con con antelación. antelación.
4 TEMA TEMA 7: 7: Estructuras Estructuras datos datos ESTRUCTURAS INFORMACIÓN DE DATOS = REGLAS DE ACCESO + Hasta ahora sabemos almacar la información variables individuales o tablas ( tipos dato estándar o estructuras) Ciertos problemas no admit solución scilla o eficite con esta aproximación (Limitaciones) 1.- Tamaño estático 2.- Reglas acceso a datos 3.- Ornación/ Inxación datos Las Las estructuras estructuras datos datos disponibles disponibles C no no pu pu cambiar cambiar tamaño Las tamaño Las estructuras estructuras tiempo tiempo datos ejecución. datos disponibles ejecución. disponibles C no no impon impon restricciones restricciones Por acceso Las Por acceso ejemplo, Las estructuras estructuras a ejemplo, los los una datos una datos tabla (acceso datos tabla (acceso datos datos aleatorio). disponibles datos aleatorio). disponibles tie tie un un número C no no permit número permit establecer elemtos establecer elemtos fijo fijo que que no Ej: forma no Ej: pue forma pue una eficite una cambiarse eficite tabla cambiarse tabla o matriz, un una matriz, un orn orn una vez cualquier o vez cualquier clarada. criterio criterio elemto clarada. elemto acceso acceso a la los la misma los datos. misma datos. es es accesible accesible Incluso sin Incluso sin más más empleando que empleando que inxarlo inxarlo reserva apropiadamte. Ej: reserva apropiadamte. dinámica, dinámica, una una vez vez reservada reservada la la memoria, memoria, el el número Ej: Es número Es costoso elemtos costoso computacionalmte crear elemtos es es invariable. crear una una tabla tabla elemtos elemtos En ornados invariable. En ocasiones ornados alfabéticamte ocasiones es alfabéticamte es importante importante restringir o restringir por por cualquier cualquier el el acceso otro acceso otro a datos criterio, datos criterio, o controlar partido controlar partido el el Hay orn un Hay orn aplicaciones un listado listado aplicaciones que sornado. que se sornado. se que acc. que acc. requier requier esta esta propiedad: propiedad: Ej: Ej: Bases Bases datos datos (el (el número número elemtos elemtos no no es es conocido conocido tiempo tiempo ejecución ejecución y no no es es calculable calculable con con antelación. antelación.
5 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Lista unidimsional datos a la que se acce forma FIFO (First In, First Out: El primero trar es el primero salir) Los elemtos se almacan fila, pero sólo pu añadirse por un extremo y leerse por el otro. IN Dato 1 Dato 2 Dato 3 Dato 4 OUT Gestión Gestión Colas Colas C La lista pue materializarse C, su forma más simple, como una tabla datos (estructuras) Se acce a los elemtos sólo mediante dos void calmac(struct dato); Almaca dato cola struct dato crecup(void); Recupera dato cola El acceso a los elemtos la tabla sin emplear estas dos no está permitido.
6 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para que trabaj las struct dato p[ma]; /* tabla para la cola */ int spos; /* índice almacamito: primer lugar vacío */ int rpos; /* índice recuperación: primer elemto a sacar */ void voidcalmac(struct calmac(structdato dato q) q) if if (spos==ma) (spos==ma) printf("cola printf("cola lla\n"); lla\n"); return; return; p[spos]=q; p[spos]=q; spos++; struct spos++; structdato crecup(void) crecup(void) if if (rpos==spos) (rpos==spos) printf("cola printf("cola vacía\n"); vacía\n"); return returnnull; rpos++; rpos++; return returnp[rpos-1]; rpos spos D1 D2 D3 p[0] p[1] p[2] p[3].. p[ma]
7 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas COLA COLA CIRCULAR CIRCULAR Problema con la estructura cola abierta La cola se lla, aún cuando haya posiciones libres la tabla: Ej: Si el ejemplo anterior introducimos y sacamos un elemto 5 veces, la cola se lla IDEA!! Cerramos la cola para que el último y primer elemto sean contiguos rpos spos D1 D2 D3 p[0] p[1] p[2] p[3].. p[ma-1] p[ma-1] p[0] p[1] p[2] Para que la cola funcione este modo, sólo hay que gestionar los índices spos y rpos apropiadamte
8 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para que trabaj las struct dato p[ma]; /* tabla para la cola */ int spos; /* índice almacamito: primer lugar vacío */ int rpos; /* índice recuperación: primer elemto a sacar */ void voidccalmac(struct ccalmac(structdato dato q) q) if(spos+1== if(spos+1== rpos rpos (spos==ma-1 (spos==ma-1&& && rpos rpos ==0)) ==0)) printf("cola printf("cola lla\n"); lla\n"); return; return; p[spos]=q; p[spos]=q; spos++; spos++; if(spos==ma) if(spos==ma) spos=0; spos=0; struct structdato ccrecup(void) ccrecup(void) if if (rpos==spos) (rpos==spos) puts("cola puts("cola vacía\n"); vacía\n"); return returnnull; if if (rpos==ma-1) (rpos==ma-1) rpos=0; rpos=0; return returnp[ma-1]; return returnp[rpos++];
9 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para que trabaj las struct dato p[ma]; /* tabla para la cola */ int spos; /* índice almacamito: primer lugar vacío */ int rpos; /* índice recuperación: primer elemto a sacar */ void voidccalmac(struct ccalmac(structdato dato q) q) if(spos+1== if(spos+1== rpos rpos (spos==ma-1 (spos==ma-1&& && rpos rpos ==0)) ==0)) printf("cola printf("cola lla\n"); lla\n"); return; return; p[spos]=q; p[spos]=q; spos++; spos++; if(spos==ma) if(spos==ma) spos=0; spos=0; struct structdato ccrecup(void) ccrecup(void) if if (rpos==spos) spos (rpos==spos) puts("cola puts("cola vacía\n"); vacía\n"); return returnnull; rpos if if (rpos==ma-1) (rpos==ma-1) rpos=0; rpos=0; return returnp[ma-1]; return returnp[rpos++]; La cola se lla con los índices posiciones intermedias la tabla
10 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para que trabaj las void voidccalmac(struct ccalmac(structdato dato q) q) if(spos+1== if(spos+1== rpos rpos (spos==ma-1 (spos==ma-1&& && rpos rpos ==0)) ==0)) printf("cola printf("cola lla\n"); lla\n"); return; return; p[spos]=q; p[spos]=q; spos++; spos++; if(spos==ma) if(spos==ma) spos=0; spos=0; spos struct dato p[ma]; /* tabla para la cola */ rpos int spos; /* índice almacamito: primer lugar vacío */ int rpos; /* índice recuperación: primer elemto a sacar */ struct structdato ccrecup(void) ccrecup(void) if if (rpos==spos) (rpos==spos) puts("cola puts("cola vacía\n"); vacía\n"); return returnnull; La cola se lla con los if if (rpos==ma-1) extremas (rpos==ma-1) la tabla rpos=0; rpos=0; return returnp[ma-1]; return returnp[rpos++]; índices las posiciones
11 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para que trabaj las void voidccalmac(struct ccalmac(structdato dato q) q) if(spos+1== if(spos+1== rpos rpos (spos==ma-1 (spos==ma-1&& && rpos rpos ==0)) ==0)) printf("cola printf("cola lla\n"); lla\n"); return; return; p[spos]=q; p[spos]=q; spos++; spos++; if(spos==ma) if(spos==ma) spos=0; spos=0; spos struct dato p[ma]; /* tabla para la cola */ rpos int spos; /* índice almacamito: primer lugar vacío */ int rpos; /* índice recuperación: primer elemto a sacar */ struct structdato ccrecup(void) ccrecup(void) if if (rpos==spos) (rpos==spos) puts("cola puts("cola vacía\n"); vacía\n"); return returnnull; cerramos la cola if if (rpos==ma-1) (rpos==ma-1) rpos=0; rpos=0; return returnp[ma-1]; return returnp[rpos++]; Si spos se sale la tabla, volviéndola al principio.
12 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para que trabaj las struct dato p[ma]; /* tabla para la cola */ int spos; /* índice almacamito: primer lugar vacío */ int rpos; spos /* índice recuperación: primer elemto a sacar */ void voidccalmac(struct ccalmac(structdato dato q) rpos q) if(spos+1== if(spos+1== rpos rpos (spos==ma-1 (spos==ma-1&& && rpos rpos ==0)) ==0)) printf("cola printf("cola lla\n"); lla\n"); return; return; Si el índice salida p[spos]=q; datos (rpos) coinci con p[spos]=q; el trada (spos), la spos++; spos++; cola está vacía if(spos==ma) if(spos==ma) spos=0; spos=0; struct structdato ccrecup(void) ccrecup(void) if if (rpos==spos) (rpos==spos) puts("cola puts("cola vacía\n"); vacía\n"); return returnnull; if if (rpos==ma-1) (rpos==ma-1) rpos=0; rpos=0; return returnp[ma-1]; return returnp[rpos++];
13 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas Variables globales necesarias para struct dato p[ma]; /* tabla para la cola */ que trabaj las int spos; /* índice almacamito: primer lugar vacío */ rpos int rpos; /* índice recuperación: primer elemto a sacar */ spos void voidccalmac(struct ccalmac(structdato dato q) q) struct structdato ccrecup(void) ccrecup(void) if(spos+1== if(spos+1== rpos rpos (spos==ma-1 (spos==ma-1&& && if if (rpos==spos) (rpos==spos) rpos rpos ==0)) ==0)) puts("cola puts("cola vacía\n"); vacía\n"); return returnnull; printf("cola printf("cola lla\n"); lla\n"); return; return; if if (rpos==ma-1) (rpos==ma-1) Si rpos apunta al ultimo rpos=0; rpos=0; p[spos]=q; elemto la tabla, el p[spos]=q; return returnp[ma-1]; siguite una cola spos++; spos++; circular es rpos=0 if(spos==ma) if(spos==ma) spos=0; spos=0; return returnp[rpos++];
14 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas PILAS PILAS Lista unidimsional datos a la que se acce forma LIFO (Last In, First Out: El último trar es el primero salir) Los elemtos se almacan fila, modo que se añan por el mismo extremo que se retiran. Gestión Gestión Pilas Pilas C IN OUT Una PILA pue materializarse C, su forma más simple, como una tabla datos (estructuras) Dato 1 Dato 2 Dato 3 Dato 4 Se acce a los elemtos sólo mediante dos void push (struct dato); Almaca dato pila struct dato pop (void); Recupera dato pila El acceso a los elemtos la tabla sin emplear estas dos no está permitido.
15 TEMA TEMA 7: 7: Estructuras Estructuras datos. datos. Colas Colas y Pilas Pilas PILAS PILAS Variables globales necesarias para que trabaj las struct dato pila[ma]; /* tabla para la pila */ int p; /* índice la siguite posición libre la pila*/ void voidpush(struct push(structdato dato q) q) if if (p>=ma) (p>=ma) printf( Pila printf( Pila lla\n"); lla\n"); return; return; pila[p++]=q; pila[p++]=q; struct structdato pop(void) pop(void) if if (p<=0) (p<=0) printf( Pila printf( Pila vacía\n"); vacía\n"); return returnnull; return returnpila[--p]; Tipo dato gérico p D1 D2 D3 p[0] p[1] p[2] p[3].. p[ma]
16 Ejemplo Ejemplo funcionamito funcionamito PILAS: PILAS: Calculadora Calculadora notación notación Postfija Postfija /* Calculadora notacion postfija*/ #inclu <stdio.h> #inclu <stdlib.h> #inclu <string.h> #fine MA 50 void push (float,int*,float*); void pop(float*,int*,float*); void main(void) float ptabla[ma]; int pos=0; char s[20]; float a,b,aux; printf("introduzca operadores u operandos\n"); do scanf("%s",s); switch(s[0]) case '+':pop(&a,&pos,ptabla); pop(&b,&pos,ptabla); printf("%f\n",a+b); push(a+b,&pos,ptabla); break; case '-':pop(&a,&pos,ptabla) pop(&b,&pos,ptabla); printf("%f\n",b-a); push(b-a,&pos,ptabla); break; case '*':pop(&a,&pos,ptabla); pop(&b,&pos,ptabla); printf("%f\n",a*b); push(a*b,&pos,ptabla); break; case '/':pop(&a,&pos,ptabla); pop(&b,&pos,ptabla); if(a==0) printf("divison por cero\n"); break; printf("%f\n",b/a); push(b/a,&pos,ptabla); break; fault: aux=atof(s); push(aux,&pos,ptabla); while(s[0]!='q');
17 Ejemplo Ejemplo funcionamito funcionamito PILAS: PILAS: Calculadora Calculadora notación notación Postfija Postfija void push(float v,int *ppos,float *t) if(*ppos>=ma) printf("pila lla\n"); return; t[*ppos]=v; (*ppos)++; void pop(float *v,int *ppos,float *t) if(*ppos==0) printf("pila vacia\n"); return; (*ppos)--; *v=t[*ppos];
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
Más detallesEstructuras de Datos
8 de marzo de 2011 1 2 3 4 5 Tipo de Dato Abstracto Un tipo de dato abstracto (TDA), corresponde a un conjunto de valores y un conjunto de operaciones sobre tales valores. s de TDA Enteros. Reales. Booleanos.
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (PILAS)
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) Pilas
Más detallesFundamentos de Informática
Tema 2: 2: Sentencias de de Control de de los los Programas Fundamentos de Informática 1º Ingeniería Industrial Escuela Superior de Ingenieros Universidad de Sevilla Ismael lcalá Torrego José Ángel costa
Más detallesESTRUCTURAS 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
Más detallesProfesor: José Miguel Rubio L.
Profesor: José Miguel Rubio L. Magíster en Ingeniería Informática Ingeniero Civil en Informática Licenciado en Ciencias de la Ingeniería Técnico en Programación Oficina: 3-20 e-mail 1: jose.rubio.l@ucv.cl
Más detallesEstructura 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
Más detallesTipos de Datos Abstractos
Tipos de Datos Abstractos Facultad de Ciencias de la Computación Juan Carlos Conde R. Object-Oriented Programming I Contenido 1 Introducción 2 Estructura tipo LIFO 3 Estructura tipo FIFO 4 LISTAS Ligadas
Más detallesUNIVERSIDAD 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
Más detallesFundamentos de Informática
Tema 5: 5: Funciones de de Lectura/Escritura Fundamentos de Informática 1º Ingeniería Industrial Escuela Superior de Ingenieros Universidad de Sevilla Ismael Alcalá Torrego José Ángel Acosta Rodríguez
Más detallesUniversidad 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
Más detallesESTRUCTURAS 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
Más detallesEstructuras de Datos Dinámicas: Tipo de Dato Abstracto parte I. Programación I Departamento de Informática Universidad Nacional de San Luis Argentina
Estructuras de Datos Dinámicas: Tipo de Dato Abstracto parte I Programación I Departamento de Informática Universidad Nacional de San Luis Argentina Progreso de la Abstracción Los diferentes niveles de
Más detallesESTRUCTURAS 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
Más detallesProgramación I Teoría III.
Programación I Teoría III http://proguno.unsl.edu.ar proguno@unsl.edu.ar DATOS ESTRUCTURADOS Estructuras de Datos Hasta ahora hemos trabajado con Datos simples enteros reales Caracteres punteros Sin embargo,
Más detallesTipos de Datos Abstractos
Tipos de Datos Abstractos A continuación se exploran algunos tipos de datos abstractos fundamentales. Se estudiaran listas, que son secuencias de elementos, y dos tipos especiales de listas: las pilas,
Más detallesEstructura 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
Más detallesContenido. Estructura de Datos Tema 1: Pilas. 1. Definición y operaciones. 2. Implementación estática. 3. Implementación dinámica. 4.
Estructura de Datos Tema 1: Pilas Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx 1 Contenido 1. Definición y operaciones
Más detallesEstructura de Datos Tema 2. Colas. Contenido
Estructura de Datos Tema 2. Colas Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Definición y operaciones
Más detallesFundamentos de Informática
Tema 8: 8: Estructuras datos. Fundamentos Informática 1º Ingeniería Industrial Escuela Superior Ingenieros Universidad Sevilla Ismael Alcalá Torrego José Ángel Acosta Rodríguez Fernando Dorado Navas Fabio
Más detallesCLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS
CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS 1 TEMAS A VER Listas simples genéricas Pilas Colas 2 LISTA SIMPLE GENÉRICA Una lista simple genérica nos permite crear listas de diferentes objetos: enteros, char,
Más detallesMemoria 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.
Más detallesEstructura 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
Más detalles(1) Recordemos qué es una pila...
(1) Recordemos qué es una pila... TAD Pila(α) observadores básicos vacía? : pila(α) bool tope : pila(α) p α desapilar : pila(α) p pila(α) generadores vacía : pila(α) apilar : α pila(α) pila(α) otras operaciones
Más detallesTema: Estructura Pila.
PED104. Guía N 5 Página 1 Facultad: Escuela: Asignatura: Ingeniería Computación Programación con Estructuras de Datos Tema: Estructura Pila. Competencia o Desarrolla sistemas de información informáticos
Más detallesUNIDAD 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
Más detallesListas, pilas, colas
Listas, pilas, colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas TAD Tipo Abstracto de Dato Qué es un TAD? TAD: Tipo Abstracto de Dato. Nuevo
Más detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx La importancia de las computadoras radica en su capacidad para procesar información Con el propósito de que la información sea procesada, se requiere que ésta,
Más detallesRealizar 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
Más detalles1 Introducción a los algoritmos y a la programación de computadoras... 1
Contenido - IX Contenido 1 Introducción a los algoritmos y a la programación de computadoras... 1 1.1 Introducción... 2 1.2 Concepto de algoritmo... 2 1.2.1 Definición de algoritmo y problema... 2 1.2.2
Más detallesIngeniera 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
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detalles1. 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
Más detallesESTRUCTURAS 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:
Más detallesLos tipos de datos que con mayor frecuencia se utilizan en Informática son:
Los tipos de datos que con mayor frecuencia se utilizan en Informática son: Datos Simples ó Básicos Numéricos No Numéricos Variables sin Subíndices: Numéricas Alfanuméricas Char Lógicas En general, los
Más detalles2. ESTRUCTURAS BÁSICAS
2. ESTRUCTURAS BÁSICAS En el computador un conjunto (no vacío) de datos se almacenan en memoria; el área de memoria se denomina por el elemento X k ; esto es una celda, una unidad de memoria direccionable;
Más detallesImplementaciones de pilas, colas y afines. Memoria dinámica.
Implementaciones de pilas, colas y afines. Memoria dinámica. 1 1 Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina Algoritmos y Estructuras de Datos II, segundo cuatrimestre
Más detallesTema 13: Apuntadores en C
Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción
Más detallesSistemas Operativos Problemas frecuentes con el lenguaje C
Sistemas Operativos Problemas frecuentes con el lenguaje C Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos Errores comunes: Generales Tiras de caracteres Entrada y salida Problemas
Más detalles1000+(4/100)*1000 =1000 * (1+4/100) =1000 * 1.04 = Al finalizar el segundo año, el 4% se aplica sobre los 1040, y obtenemos:
Nombre: Apellidos: Grupo: Nº. Matrícula Ejercicio 1 (2,5 puntos 30 minutos) Al ingresar capital en un banco, pongamos 1000, éste nos ofrece un porcentaje anual de interés, por ejemplo el 4%. Al cabo de
Más detallesESTRUCTURAS. 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
Más detallesRepaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Trabajando
Más detallesPilas Motivación
Capítulo 4 Pilas Las pilas son estructuras muy sencillas y poderosas, también conocidas como LIFO (last in, first out) por la forma en que se trabaja con ellas. Ejemplo de ellas son las pilas de charolas
Más detallesEstructuras 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
Más detallesPILAS. 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
Más detallesTema: 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
Más detallesUn hombre caminaba por el bosque cuando vió una zorra lisiada. " Cómo hará para alimentarse?", pensó.
Capitulo III Colas El camino del Tigre Un hombre caminaba por el bosque cuando vió una zorra lisiada. " Cómo hará para alimentarse?", pensó. En ese momento, se acercó un tigre, con un animal entre los
Más detallesPráctica 7c: Uso de estructuras en C.
Práctica 7c: Uso de estructuras en C. Objetivos En esta práctica el objetivo principal es el de poner en práctica los principios básicos del uso de estructuras y librerías de funciones en C. Evaluación
Más detallesLenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III
República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados
Más detallesClase Práctica Administración de Memoria en C. Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur
Clase Práctica Administración de Memoria en C Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur Copyright Copyrigth 2018 Ing. Federico Joaquín. Las presentes transparencias constituyen una guía
Más detallesTema 7. Colas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía. {badia, bmartine,
Tema 7. Colas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales}@icc.uji.es Estructuras de datos y de la información Universitat Jaume
Más detallesUnidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas
Unidad IV Arreglos y estructuras M.C. Juan Carlos Olivares Rojas 4.1 Concepto de arreglo Agenda 4.2 Manejo de cadenas 4.3 Concepto de estructuras 4.4 Concepto de unión 4.5 Empleo de apuntadores 4.1 Concepto
Más detallesProgramación Estructurada. Sesión 2:El lenguaje de programación C
Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas
Más detallesTipos de Datos Abstractos TDA COLA. Representación de una cola
Tipos de Datos Abstractos TDA COLA Representación de una cola La estructura de datos COLA Su nombre se deriva de la metáfora de una cola de personas en una taquilla. La inserción y extracción de elementos
Más detallesHoja 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;
Más detallesEstructura 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
Más detallesTema 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
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 2 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 2 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Reserva
Más detallesPunteros. Í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
Más detallesInstituto Politécnico Nacional
Instituto Politécnico Nacional Secretaria Académica Dirección de Estudios Profesionales Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Ingeniería en Comunicaciones y Electrónica Academia
Más detallesEstructuras de Datos Clase 4 Pilas y colas
Estructuras de Datos Clase 4 Pilas y colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Tipo
Más detallesPunteros. 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
Más detallesPrimera Parte: Preguntas Cortas. Fundamentos de Informática 1ºIIND Examen Teoría Septiembre Grupo: A B C D E. Advertencias:
Fundamentos de Informática 1ºIIND Examen Teoría Septiembre 2005 Nombre Grupo: A B C D E Apellidos: Preguntas Cortas Programar código Nota final Preguntas cortas (5 puntos) Prob.1 (2 punto) Prob.2 (1,5
Más detallesESTRUCTURAS 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:
Más detallesExamen "teórico" mayo Duración: 1 hora 30 minutos.
Examen "teórico" mayo 2013. Duración: 1 hora 30 minutos. 1 2 3 4 5 Solución problema 1 (con la función ContarCorrectos): #include #include typedef struct int d1; int d2; int d3; int
Más detallesdomingo, 24 de agosto de :28 a.m.
1 #include 2 #include 3 #include 4 #include 5 #include 6 7 8 #define BD_OK 1 9 #define BD_ERROR 0 10 11 typedef unsigned char byte; 12 typedef unsigned
Más detallesAlgoritmos 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 groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Pilas LIFO y Colas FIFO 1/12
Más detallesEstructuras 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
Más detallesAutor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1
INTRODUCCIÓN A C Clase 1 Introducción al lenguaje C 1967 1970 1971 1972 1989 BCPL Lenguaje B Pascal 1era versión de C ANSI C Introducción al lenguaje C Librería estandar de C: contiene módulos o funciones
Más detallesFUNDAMENTOS DE INFORMÁTICA
PRIMER CURSO. INGENIERO QUÍMICO FUNDAMENTOS DE INFORMÁTICA Curso 2007-2008 Departamento de Ingeniería de Sistemas y Automática 1. PROFESORADO Manuel López Martínez (Coordinador) Amparo Núñez Reyes José
Más detallesListas enlazadas. Programación de Sistemas
Listas enlazadas Programación de Sistemas 1 Estructuras de datos Abstracción que representa un conjunto de datos en un programa con el objeto de facilitar su manipulación Diferentes estructuras de datos
Más detallesTipos de Datos Estructurados
Departamento de Informática Universidad Técnica Federico Santa María Tipos de Datos Estructurados Programación de Computadores IWI-131-p1 Prof.: Teddy Alfaro Olave Arreglos (array) El arreglo es un tipo
Más detallesAPUNTADORES. 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
Más detallesEstructuras de datos en memoria principal
Estructuras de datos Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Actualización: 11
Más detallesTIPO DE DATO ABSTRACTO (TDA)
TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int
Más detallesActividad 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
Más detallesPUNTEROS (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)
Más detallesTema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz
Tema 8. Listas 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 información Universitat
Más detallesPilas 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
Más detallesEstructuras de datos en memoria principal
Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Estructuras de datos v Estructuras básicas
Más detallesTEORÍA. 1.- Escribir en pseudo-código el algoritmo del análisis sintáctico descendente con retroceso.
Examen de Traductores, Intérpretes y Compiladores. Convocatoria extraordinaria de Septiembre de 1998. er 3 Curso de I.T. Informática de Sistemas. Apellidos, Nombre: Calificación: TEORÍA 1.- Escribir en
Más detallesIntroducción al lenguaje C
Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos
Más detallesEstructuras de Datos Dinámicas: Listas
Estructuras de Datos Dinámicas: Listas Teoría: Programación I http://proguno.unsl.edu.ar proguno@unsl.edu.ar Listas Capacidad: dinámica Orden: no cronológico. El orden puede ser definido por el programador.
Más detallesSintaxis de los aspectos generales de un lenguaje de programación
Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para
Más detalles8. Vectores (arrays)
8. Vectores (arrays) Fundamentos de Informática Especialidad de Electrónica 2009-2010 Ismael Etxeberria Agiriano 16/12/2009 Índice 8. Vectores (arrays) 1. Números aleatorios 2. Serie ordenada 3. Números
Más detallesProgramació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
Más detallesIntroducción al lenguaje C
Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo
Más detallesTema 05: Elementos de un programa en C
Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
Más detallesCapí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
Más detallesAlonso 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
Más detallesTema 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 edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Descripción
Más detallesdirectamente indirectamente
PUNTEROS EN C PUNTEROS Permiten simular el pasaje de parámetros por referencia. Permiten crear y manipular estructuras de datos dinámicas. Su manejo es de fundamental importancia para poder programar en
Más detallesCodificació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*/
Más detallesIntroducció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
Más detalles