Tema 4. Estructuras Dinámicas

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 4. Estructuras Dinámicas"

Transcripción

1 Tema 4. Estructuras Dinámicas E.U.Politécnica. I.T.Industrial (Electricidad) E.U. Politécnica Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P)/ (Teatinos-E.T.S.I.I.) Diseño de Algoritmos Elementos Diseño de Programación de Algoritmos. I Introducción a las Estructuras de Datos Dinámicas Variables estáticas: Se conoce su nombre. Se conoce cuando empieza/acaba su existencia. Se conoce el espacio que ocupan en memoria.

2 Introducción a las Estructuras de Datos Dinámicas Problema Que sucede si a priori no conocemos la cantidad de espacio de almacenamiento que vamos a precisar? Solución Hacer una previsión?? Ejemplo: Tipos Struct persona {char nombre[30]; int edad;} Variables Struct persona poblacion[30]; Introducción a las Estructuras de Datos Dinámicas Variables anónimas: No se conoce su nombre. No se conoce el momento en que empieza/acaba su existencia. El espacio que van a ocupar en memoria es variable.

3 PUNTEROS Que Es un Puntero? Variable Estática Un puntero es una variable que almacena una dirección de memoria Declaración de Punteros Tipos typedef int *int; /*puntero a enteros*/ Variables int p; /*puntero a enteros*/ Variables int *p; /*puntero a enteros*/ 1ª FORMA 2ª FORMA

4 Declaración de Punteros Typedef struct { int num; char car; } tiporegistro ; Typedef tiporegistro *tipopuntero; Tipopuntero p; Así: p es la dirección de un registro con dos campos. (tipo puntero) *p es un registro con dos campos (tipo registro) (*p).num es una variable simple (tipo entero) p->num es una variable simple (tipo entero) &x es la direccion de una variable x, siendo x, por ejemplo intx; Si deseamos que una variable tipo puntero no apunte a nada, asignamos la palabra reservada NULL (p=null) Variables Anónimas Variables int *; *=100; MEMORIA Dirección de memoria Contenido de la memoria Variable Anónima

5 Representación Gráfica de las Variables Puntero Dirección Dirección Variable Anónima ª Forma 100 2ª Forma Punteros y Creación de Variables Dinámicas Inicialización de Punteros: Int *; = NULL Creación de una Variable Anónima: =(int *)malloc(sizeof(int)); (Si no ex existiera memoria libre, devuelve un puntero NULL) Destrucción de una Variable Anónima: free();??

6 Punteros y Creación de Variables Dinámicas typedef tiporegistro *tipopuntero; tipopuntero p; if ((p=(tiporegistro*)malloc(sizeof(tiporegistro))==null) {printf( No hay memoria ); exit(1); } Operaciones con Punteros Dereferenciación: ->PartReal Comparación: 1 == 2 Asignación: 1 = 2 Ejemplo: typedefstruct { float partereal,partecompleja;} partescomplejas; typedefpartescomplejas *complejo; complejo punt1,punt2; punt1->partereal=5.0; punt1->partcompleja=1.2: punt2=punt1;

7 Correcto Operaciones sobre Listas Enlazadas INICIALIZACION = NULL Erróneo =malloc(.) =NULL???? #include <stdlib.h> typedef struct nodo { int dato; struct nodo *sig; } t; Declaración de s en C t *primero;

8 Visualizar una Lista visualizalista(t *) { T *recorrer; } recorrer = WHILE recorrer!= NULL { Escribir(recorrer->dato); recorrer = recorrer->sig } Suponiendo: Operaciones básicas sobre s enlazadas. typedef struct nodo { int dato; struct nodo *sig; } tiponodo; typedef tiponodo *tipo; tipo ; /*cabeza de la */ tipo nodo; /*nuevo nodo a insertar*/ tipo ; /*puntero auxiliar*/

9 Suponiendo: Insertar un Nodo al Principio =malloc(sizeof(tiponodo));???? 2.- ->dato= >sig= Insertar un Nodo al Principio 5??

10 4.- = Insertar un Nodo al Principio Suponiendo: 1.- = Eliminar el Primer Nodo

11 Eliminar el Primer Nodo 2.- = ->sig; free(); 2 9 Insertar un Nodo en una Lista Enlazada Ordenada Partimos de la : Queremos insertar el número: nuevonodo=malloc(sizeof(tiponodo)) nuevonodo ????

12 Insertar un Nodo en una Lista Enlazada Ordenada 2.- nuevonodo->dato = 15 nuevonodo->sig = NULL nuevonodo Algoritmo que inserta el nodo en la posición correcta. Insertar un Nodo en una Lista Enlazada Ordenada Si la no está vacía utilizamos unm bucle similar al siguiente: while (( sig!=null) && (nuevonodo dato > ( sig) dato))) = sig; Nodo sig= sig; Ptr sig=nodo;

13 Gráficamente: Insertar un Nodo en una Lista Enlazada Ordenada buscaposicion nuevonodo 15 Suponiendo: Eliminar un Nodo de una Lista Enlazada actual = anterior = NULL Queremos borrar el número:6 Supondremos que está en la actual anterior

14 Eliminar un Nodo de una Lista Enlazada 2.- Búsqueda del nodo a borrar. while (actual->dato!= dato) { anterior = actual; actual= actual->sig; } anterior actual Eliminar un Nodo de una Lista Enlazada 3.- Actualizar los punteros if (anterior ==NULL) = ->sig else anterior->sig = actual->sig actual anterior

15 Eliminar un Nodo de una Lista Enlazada 4.- free(actual); actual 2 9 anterior

Estructuras Dinámicas

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

Más detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

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.

Más detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

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.

Más detalles

Estructuras de Datos Dinámicas Contenido del Tema

Estructuras de Datos Dinámicas Contenido del Tema T E M A 2 Estructuras de Datos Dinámicas Contenido del Tema 2.1. Introducción a las estructuras de datos dinámicas. 2.2. Tipo Puntero 2.3. Aplicación: Listas enlazadas. Introducción a las Estructuras de

Más detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

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.

Más detalles

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 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

Más detalles

Estructura de Datos L I S T A

Estructura de Datos L I S T A Estructura de Datos TDA L I S T A El TDA Lista El TDA Lista es una estructura compuesta por nodos (en los cuales se encuentran los datos almacenados) los cuales se encuentran enlazados entre si uno a uno

Más detalles

LISTAS ENLAZADAS FUNDAMENTOS TEORICOS

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»

Más detalles

Notas de estructura de datos con lenguaje C. Estructuras de datos dinámicas

Notas de estructura de datos con lenguaje C. Estructuras de datos dinámicas Listas Enlazadas que está prohibida su impresión y distribución. Estructuras de datos dinámicas Contrariamente a las estructuras de datos estáticas (arreglos-listas, vectores y tablas- y estructuras) en

Más detalles

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 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

Más detalles

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 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 detalles

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

Capitulo V Listas Enlazadas

Capitulo V Listas Enlazadas Capitulo V Listas Enlazadas Muere lentamente, quien abandona un proyecto antes de iniciarlo, no preguntando de un asunto que desconoce o no respondiendo cuando le indagan sobre algo que sabe. Evitemos

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C

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

Más detalles

Estructuras Enlazadas AyED UTN-BA

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*

Más detalles

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 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 detalles

Estructuras de Datos Dinámicas: Listas

Estructuras 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 detalles

Tema 5. Tipos Abstractos de Datos

Tema 5. Tipos Abstractos de Datos . E.U.Politécnica. I.T.Industrial (Electricidad) Tema 5. Tipos Abstractos de Datos. E.U. Politécnica Curso 2004-2005 Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis

Más detalles

UNIVERSIDAD BANCARIA DE MEXICO CONSTANCIA UNIDAD Y TRABAJO Guadalupe Godínez Maldonado Prof. Juan Carlos Martínez

UNIVERSIDAD BANCARIA DE MEXICO CONSTANCIA UNIDAD Y TRABAJO Guadalupe Godínez Maldonado Prof. Juan Carlos Martínez PROGRAMACION ESTRUCTURADA II APUNTES 1er.PARCIAL Revisión de conceptos importantes #include #include ESTRUCTURAS struct computadora float costo; int anio; int velocidad_cpu; char tipo_cpu[16];

Más detalles

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. 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 detalles

PUNTEROS O APUNTADORES C++

PUNTEROS O APUNTADORES C++ PUNTEROS O APUNTADORES C++ TRANSVERSAL DE PROGRAMACIÓN BÁSICA INGENIERÍA DE SISTEMAS En el presente documente se hace una breve explicación a la gestión dinámica de memoria en el lenguaje C++. Se incluyen

Más detalles

Punteros. Índice. 1. Qué es un puntero y por que son importantes.

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

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)

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

Más detalles

Algoritmo, Estructuras y Programación II Ing. Marglorie Colina

Algoritmo, Estructuras y Programación II Ing. Marglorie Colina Unidad III Punteros Algoritmo, Estructuras y Programación II Ing. Marglorie Colina Ejemplo: Paso de Punteros a una Función Arreglos (Arrays) Unidimensionales Los Arreglos son una colección de variables

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C

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

Más detalles

Realizar el ejercicio anterior utilizando Punteros

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

Más detalles

Instituto Politécnico Nacional

Instituto 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 detalles

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/

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

Más detalles

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

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.

Más detalles

Punteros. Programación en C 1

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

Más detalles

Ing. Informática Programación I Bloque 7

Ing. Informática Programación I Bloque 7 Bloque 7 Punteros Estructuras de datos dinámicas Hasta ahora: todos los tios tienen un tamaño estático (que se determina en tiemo de comilación) Ahora: tios de datos dinámicos, cuyo tamaño no es fijo y

Más detalles

2. Variables dinámicas

2. Variables dinámicas 2. Variables dinámicas 1. Introducción 2. Gestión de memoria dinámica 3. Punteros y variables dinámicas en lenguaje algorítmico 4. Gestión de memoria dinámica y punteros en C Bibliografía Biondi y Clavel.

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)

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:

Más detalles

3 - Tipos Inductivos (Recursivos)

3 - Tipos Inductivos (Recursivos) Programación 2 3 - Tipos Inductivos (Recursivos) Estructuras Dinámicas: Punteros y Listas 1 Tipos inductivos tienen, en general, cardinalidad infinita contienen valores de "tamaño arbitrario" Ejemplos:

Más detalles

PUNTEROS (APUNTADORES)

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)

Más detalles

Estructura de Datos Tema 2. Colas. Contenido

Estructura 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 detalles

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

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

Más detalles

Tema 13: Apuntadores en C

Tema 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 detalles

Apuntadores (Punteros)

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

Más detalles

Estructura de datos Colas

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

Más detalles

Arboles Binarios de Búsqueda en C++

Arboles Binarios de Búsqueda en C++ Arboles Binarios de Búsqueda en C++ por CCG/Mayo-2014 Tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostrare la implementación en lenguaje de programación

Más detalles

TEMA 8: Gestión dinámica de memoria

TEMA 8: Gestión dinámica de memoria TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras

Más detalles

Tema 6: Memoria dinámica

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

Más detalles

Estructura de Datos: Lista. Facultad Ingeniería y Tecnología Informática Tecnicatura en Programación de Computadoras. Autora: Prof.

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.

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas

Más detalles

Capítulo. Listas, pilas y colas en C. Contenido. Introducción

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

Más detalles

Listas. Rafael Palacios May/2005

Listas. Rafael Palacios May/2005 Listas Rafael Palacios May/2005 Descripción Las listas son estructuras de datos parecidas a los vectores Aprovechan la memoria mejor que los vectores Facilitan las operaciones de inserción y borrado No

Más detalles

Examen Teórico (1/3 de la nota final)

Examen Teórico (1/3 de la nota final) Examen Teórico (1/3 de la nota final) 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad

Más detalles

(1) Recordemos qué es una pila...

(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 detalles

Tema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz

Tema 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 detalles

Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018

Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018 Estructura de Datos Tema 6. Árboles Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. dtorres@mixteco.utm.mx Contenido 1. Definición y operaciones

Más detalles

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO ESTRUCTURAS DE DATOS ING. GREGORIO GARCIA ESTRADA INTEGRANTES:

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO ESTRUCTURAS DE DATOS ING. GREGORIO GARCIA ESTRADA INTEGRANTES: UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO ESTRUCTURAS DE DATOS ING. GREGORIO GARCIA ESTRADA INTEGRANTES: ALONSO GOMEZ SANDOVAL TERESA PEREZ GONZALEZ ICO 14 QUE ES

Más detalles

Lista Simple con Puntero al Principio y Puntero al Final

Lista Simple con Puntero al Principio y Puntero al Final Unidad 3 Estructuras de Datos Avanzadas Introducción Hasta el momento se estudiaron las siguientes estructuras estáticas y dinámicas básicas para representar diferentes colecciones de elementos: Arreglo

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS)

ESTRUCTURAS 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 detalles

Implementaciones de pilas, colas y afines. Memoria dinámica.

Implementaciones 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 detalles

Objetivos. El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria.

Objetivos. El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria. Objetivos El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria. Al final de esta práctica el alumno podrá: 1. Acceder a localidades de

Más detalles

Tema 2: Clases y Objetos

Tema 2: Clases y Objetos Tema 2: Clases y Objetos Anexo: tipo de datos Pila Programación Orientada a Objetos Curso 2017/2018 Características del paradigma OO Curso 2017/2018 Programación Orientada a Objetos 2 Características del

Más detalles

Clase 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. 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 detalles

Introducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada.

Introducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada. Grupo de Sistemas y Comunicaciones gsyc-profes@gsyc.es Febrero 2008 C 1 C Características: Programación imperativa estructurada. Relativamente de bajo nivel. Lenguaje simple, la funcionalidad está en las

Más detalles

GESTIÓN DE MEMORIA DINÁMICA EN C 1. Creación y destrucción de variables dinámicas

GESTIÓN DE MEMORIA DINÁMICA EN C 1. Creación y destrucción de variables dinámicas GESTIÓN DE MEMORIA DINÁMICA EN C 1. Creación y destrucción de variables dinámicas en lenguaje algorítmico Partimos de: p: puntero de tipo T; ok, lógico; En general, el MGMD dispondrá d de alguna versión

Más detalles

Estructura de Datos y de la Información. Tema 1: Gestión dinámica de la memoria. Departamento de Computación Universidade da Coruña, España.

Estructura de Datos y de la Información. Tema 1: Gestión dinámica de la memoria. Departamento de Computación Universidade da Coruña, España. Estructura de Datos y de la Información Tema 1: Gestión dinámica de la memoria Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Tema 2. Memoria Dinámica

Tema 2. Memoria Dinámica Tema 2. Contenido Gestión de Introducción. Datos estáticos y dinámicos Asignación dinámica de memoria Tipo Puntero Declaración de variables de tipo puntero Operaciones con punteros Gestión dinámica de

Más detalles

Arreglos Estructura (struct)

Arreglos Estructura (struct) Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Arreglos Estructura (struct) MSc Jaime Soto Una estructura de datos es una colección de datos que pueden ser caracterizados por su organización

Más detalles

Estructuras de Datos Dinámicas

Estructuras de Datos Dinámicas Estructuras de Datos Dinámicas 1 Resumiendo, son aquellas cuyo tamaño (longitud, número de elementos...) varía en tiempo de ejecución. Las más famosas son: Listas simplemente enlazadas (con y sin cabecera),

Más detalles

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Definición formal del lenguaje por comprensión L = {C n D m \ n,m >0 Donde C representa

Más detalles

Sistemas Operativos Problemas frecuentes con el lenguaje C

Sistemas 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 detalles

Unidad 2: Estructuras de Datos Tema III. Estructuras de datos Compuestas. Pilas, Colas y Listas implementadas con punteros

Unidad 2: Estructuras de Datos Tema III. Estructuras de datos Compuestas. Pilas, Colas y Listas implementadas con punteros Unidad 2: Estructuras de Datos Tema III. Estructuras de datos Compuestas. Pilas, Colas y Listas implementadas con punteros Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter.

Más detalles

6. El TDA Lista Implementación con listas enlazadas. es de tipo genérico T. Pueden existir elementos repetidos (a diferencia de los conjuntos).

6. El TDA Lista Implementación con listas enlazadas. es de tipo genérico T. Pueden existir elementos repetidos (a diferencia de los conjuntos). 6. El TDA Lista 6.1. Definición 6.2. Operaciones del TDA 6.3. Implementación con vectores 6.4. Implementación con listas enlazadas 6.5. Comparativa Bibliografía: -Weiss - Aho, Hopcroft y Ullman 6.1. Definición

Más detalles

Tema 5 Tabla de Símbolos

Tema 5 Tabla de Símbolos Traductores, Compiladores e Intérpretes 1 Tema 5 También se la llama tabla de nombres o tabla de identificadores y tiene dos funciones principales: - Efectuar chequeos semánticos. - Generación de código.

Más detalles

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. 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

Más detalles

Listas. Programación en C LISTAS. Prof. Álvaro Sánchez Miralles. Programación en C. Listas. Objetivos

Listas. Programación en C LISTAS. Prof. Álvaro Sánchez Miralles. Programación en C. Listas. Objetivos LISTAS UPCO ICAI Departamento de Electrónica y Automática 1 Objetivos Aprender a manejar una lista Manejar a través de listas, vectores de datos cuyo tamaño cambia a lo largo del programa y no se conoce

Más detalles

1 Introducción a los algoritmos y a la programación de computadoras... 1

1 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 detalles

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda Árboles Árboles Mario Medina C. mariomedina@udec.cl Árboles Estructura recursiva Árbol vacío 0 o más árboles hijos Altura ilimitada Árbol binario A lo más dos hijos: izquierdo y derecho Árboles Árboles

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Estructuras, apuntadores y memoria dinámica Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 11 de mayo

Más detalles

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica. EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C A continuación se presentan algunas equivalencias básicas entre estos lenguajes de programación : Operadores en lenguaje C: Operador Descripción % Módulo = Asignación

Más detalles

El operador contenido ( ) permite acceder al contenido de

El operador contenido ( ) permite acceder al contenido de 3. Memoria Dinámica y Punteros Objetivos: Distinguir los conceptos de memoria estática y memoria dinámica Comprender el concepto de puntero como herramienta de programación Conocer cómo se definen y cómo

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS EN LENGUAJE C

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:

Más detalles

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010 Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del

Más detalles

Contenido. Estructura de Datos Tema 1: Pilas. 1. Definición y operaciones. 2. Implementación estática. 3. Implementación dinámica. 4.

Contenido. 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 detalles

1.2.4 Listas enlazadas

1.2.4 Listas enlazadas 1.2.4 Listas enlazadas Las listas enlazadas son tipos de datos dinámicos que se construyen con nodos. Un nodo es un registro con al menos, dos campos, uno de ellos contiene las componentes y se le denomina

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 10

Estructura de datos y de la información Boletín de problemas - Tema 10 Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico

Más detalles

PROBLEMA 1. Rellena el hueco 1 (línea 23). Realiza la reserva de memoria para almacenar los n puntos.

PROBLEMA 1. Rellena el hueco 1 (línea 23). Realiza la reserva de memoria para almacenar los n puntos. PROBLEMA 1. El siguiente programa tiene algunos huecos en blanco que tienes que rellenar para que funcione correctamente. En cada hueco va una única línea de C, salvo en el cuerpo de la función calcula_area_triangulo,

Más detalles

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009)

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009) Examen 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad Politécnica de Madrid

Más detalles

Punteros. Lenguaje C ANSI

Punteros. Lenguaje C ANSI Punteros. Lenguaje C ANSI Qué es un PUNTERO?: Un puntero 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

Más detalles

ELO320 Estructuras de Datos y Algoritmos. Listas. Tomás Arredondo Vidal

ELO320 Estructuras de Datos y Algoritmos. Listas. Tomás Arredondo Vidal ELO320 Estructuras de Datos y Algoritmos Listas Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, ISBN 0-201-31663-3. 2001 material

Más detalles

GESTIÓN DE MEMORIA DINÁMICA

GESTIÓN DE MEMORIA DINÁMICA UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación GESTIÓN DE MEMORIA DINÁMICA Tema 3 Programación II Programación II 0 Tema 3: GESTIÓN DE MEMORIA DINÁMICA Tema 3: GESTIÓN

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA 90FUNDAMENTOS DE INFORMÁTICAMª Carmen Aranda Antonio L. Carrillo José Galindo José A. Gómez José L. Leiva Este libro se centra fundamentalmente en la enseñanza de la programación estructurada en el lenguaje

Más detalles

Programación 1 Grado de Ingeniería Robótica

Programación 1 Grado de Ingeniería Robótica Programación 1 Grado de Ingeniería Robótica Tema 6: Datos estructurados Índice (sesión 11/11/2015): Arrays estáticos Cadenas de caracteres Funciones de la librería string.h Punteros Declaración de punteros

Más detalles

PUNTEROS EN C (APUNTADORES)

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)

Más detalles

Unidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas

Unidad 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 detalles

Manejo de memoria en C

Manejo de memoria en C Manejo de memoria en C Todas las variables, en el lenguaje C, se definen dentro de alguna función, fuera de esa función no es posible acceder a ellas. Al entrar a una función, a cada una de las variables

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria 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 detalles

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios Estructura de Datos Árboles Árboles Binarios Temario Unidad VI 6.1 Definición y operaciones 6.2 Implementación 6.3 Recorrido en Árboles Binarios 6.4 Árboles AVL y su implementación 6.5 Árboles n-arios

Más detalles

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

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

Más detalles

Introducción al lenguaje C

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

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Asignación dinámica de memoria en lenguaje C V1.2 Asignación dinámica de memoria en lenguaje C Definición La memoria en los programa en ejecución

Más detalles