Metodología y Tecnología de la Programación II Escuela Politécnica Superior, UAM,
|
|
- Gregorio Herrero Chávez
- hace 5 años
- Vistas:
Transcripción
1 Metodología y Tecnología de la Programación II Escuela Politécnica Superior, UAM, Conjunto de Prácticas no. 3 Fecha de entrega: Grupo del Lunes: 11 de Enero. Grupos del Martes: 15 de Diciembre. Grupos del Miércoles: 9 de Diciembre. Grupos del Jueves: 17 de Diciembre. Grupos del Viernes: 18 de Diciembre. En estas prácticas se trata el desarrollo de la programación de árboles binarios de búsqueda. Se determinará experimentalmente el tiempo medio de ordenación de los elementos de una tabla usando para ello la construcción de un árbol binario. Además, se medirá el tiempo medio de búsqueda de elementos en un árbol construido con anterioridad. 1. Definid en el fichero arbol.h la estructura necesaria para construir los nodos de un árbol binario. typedef struct _nodoabb int info; struct _nodoabb *izq; struct _nodoabb *der; nodoabb, *pnodoabb; Implementad las siguientes rutinas en el fichero arbol.c: short Inserta Nodo(pnodoabb *pabb,int num); pnodoab Crea ABB (int *tabla, int tamanio); short Libera ABB(pnodoabb *pabb); short Imprime ABB (pnodoabb pabb); Todas las funciones devolverán OK o ERR, en función de que su desarrollo fuera el deseado o no, exceptuando Crea AB que devolverá NULL si ha ocurrido un error o bien el árbol construido, si todo se ha realizado correctamente. La función Inserta Nodo introduce el elemento num en la posición correcta del árbol definido por pabb. Crea ABB creará el árbol binário de busqueda completo utilizando para ello la función anteriormente desarrollada Inserta Nodo. Crea ABB recibirá una permutación desordenada tabla con todos los elementos a insertar en el árbol. Libera ABB liberará toda la memoria reservada por las rutinas Inserta Nodo y Crea ABB. Imprime ABB imprime el valor del campo info de cada nodo cuando el árbol se recorre en orden medio. El programa C de prueba para estas rutinas, tendrá el siguiente formato: /* Programa: P3_1_??? Fecha: */ /* Programa para comprobar un Arbol Binario */ /* de Busqueda */ 1
2 #include <stdlib.h> int tamanio; int *perm=null; pnodoabb pabb=null; short ret1, ret2; printf( Practica numero 3, apartado 1\n ); printf( Introduce el numero de elementos de la tabla\n ); scanf( %d,&tamanio); if(!(perm=genera_perm(tamanio))) printf( Error: No hay memoria \n ); if(!(pabb=crea_abb(perm, tamanio))) printf( Error en Crea_ABB \n ); free(perm); if(perm) free(perm); ret1=imprime_abb(pabb); ret2=libera_abb(&pabb); if(ret1==err) printf( Error en Imprime_ABB \n ); if(ret2==err) printf( Error en Libera_ABB \n ); /* Funcion: Inserta_Nodo Fecha: */ /* Vuestro comentario */ short Inserta_Nodo(pnodoabb *pabb,int num) /* Funcion: Crea_ABB Fecha: */ /* Vuestro comentario */ pnodoab Crea_ABB(int *tabla,int tamanio) /* Funcion: Libera_ABB Fecha: */ /* Vuestro comentario */ short Libera_ABB(pnodoabb *pabb) /* Funcion: Imprime_ABB Fecha: */ short Imprime_ABB(pnodoabb pabb) 2
3 2. Implementad la rutina short Ordena ABB (pnodoabb pabb, int* tabla ); que ordena la tabla tabla utilizando para ello un árbol binario ya creado, la salida de la rutina será OK o ERR en función de que todo se realice correctamente o bien no sea así. El programa C de prueba para verificar que la rutina ordena correctamente tendrá el siguiente formato: /* Programa: P3_2_??? Fecha: */ /* Programa para comprobar la ordenacion con */ /* Arboles Binarios */ #include <stdlib.h> int tamanio,k; int *perm=null; pnodoabb pabb=null; short ret1; printf( Practica numero 3, apartado 2\n ); printf( Introduce el numero de elementos de la tabla\n ); scanf( %d,&tamanio); if(!(perm=genera_perm(tamanio))) printf( Error: No hay memoria \n ); if(!(pab=crea_abb(perm, tamanio))) printf( Error en Crea_ABB \n ); if(perm) free(perm); perm=null; if(ordena_abb(pabb,perm)==err) printf( Error en Ordena_ABB \n ); if(perm) free(perm); perm=null; ret1=libera_abb(&pabb); for(k=0;k<tamanio;k++) /* imprimimos cada elemento */ printf( %d \t,perm[k]); printf( \n ); if(perm) free(perm); perm=null; ret1=libera_abb(&pabb); if(ret1==err) printf( Error en Libera_ABB \n ); /* Funcion: Ordena_ABB Fecha: */ short Ordena_ABB(pnodoabb pabb, int* tabla) 3
4 3. Definid en arbol.h los siguientes punteros a funciones: typedef short (* pfunc ABB int)(pnodoabb,int) ; typedef short (* pfunc ABB pint)(pnodoabb, int*) ; Estas definiciones serán las que nos sirvan para estudiar características distintas de los árboles binarios con tan sólo realizar pequeñas modificaciones en el código. Implementad las siguientes rutinas: double Driver ABB pint(int tamanio,int n perms, int n veces, pfunc ABB pint utilidad ); short Time ABB pint( char* fichero, int num min, int num max, int n perms int incr, int n veces, pfunc ABB pint utilidad ); La rutina Driver ABB pint devuelve el tiempo que tarda en realizar la operación requerida por utilidad con n perms permutaciones de tamaño tamanio que generarán árboles binarios; n veces es el argumento correspondiente al retardo. La rutina Time ABB pint es la que organiza la escritura en el fichero fichero de la evolución temporal promedio de la la operación requerida por utilidad con tablas de diferentes tamaños. Con todas estas funciones vamos a medir el tiempo de ordenación de tablas usando como herramienta árboles binarios. El programa C de prueba será el siguiente: /* Programa: P3_3_??? Fecha: */ /* Programa que escribe en un fichero */ /* los tiempos medios de ordenacion de */ /* una tabla mediante arboles binarios */ /* de Busqueda. */ #include <stdlib.h> int num_min,num_max,incr,n_perms,n_veces; char nombre[256]; short ret; pfunc_abb_pint caracteristica; printf( Practica numero 3, apartado 3\n ); printf( introduce el numero minimo de elementos de la tabla\n ); scanf( %d,&num_min); printf( introduce el numero maximo de elementos de la tabla\n ); scanf( %d,&num_max); printf( introduce el incremento\n ); scanf( %d,&incr); printf( Introduce el numero de permutaciones a promediar \n ); scanf( %d,&n_perms); printf( Introduce el coeficiente del retardo \n ); scanf( %d,&n_veces); printf( Introduce el nombre del fichero para guardar los tiempos\n ); scanf( %s,nombre); /* calculamos los tiempos de...*/ caracteristica = Ordena_ABB; ret=time_abb_pint( nombre, num_min, num_max, incr, n_perms, n_veces, caracteristica); 4
5 if(ret==err_time) /* ERR_TIME debera ser un numero negativo */ printf("error en la funcion Time_ABB_pint\n"); /* Funcion: Driver_ABB_pint Fecha: */ double Driver_ABB_pint ( int tamanio,int n_perms, int n_veces, pfunc_abb_pint utilidad ) /* Funcion: Time_ABB_pint Fecha: */ short Time_ABB_pint( char* fichero, int num_min, int num_max, int incr, int n_perms, int n_veces, pfunc_abb_pint utilidad) 4. Implementad las siguiente rutinas: short Busca Nodo(pnodoabb pabb, int num); donde Busca Nodo busca el valor num en el árbol pabb y devuelve OK si lo encuentra o ERR si no lo ha encontrado. double Driver ABB int(int tamanio,int n perms, int n veces, pfunc ABB int utilidad ); short Time ABB int( char* fichero, int num min, int num max, int incr, int n perms, int n veces, pfunc ABB int utilidad ); Las funciones double Driver ABB int y short Time ABB int son idénticas a las realizas en el apartado anterior con la salvedad de utilizar el puntero a función del tipo pfunc ABB int. Con todas estas funciones vamos a medir el tiempo medio de búsqueda de todos los elementos que componen un árbol binario de busqueda. El programa en C para la búsqueda sería: /* Programa: P3_4_??? Fecha: */ /* Programa que escribe en un fichero */ /* los tiempos medios de b\ usqueda en un */ /* arbol binario de busqueda. */ #include <stdlib.h> int num_min,num_max,incr,n_veces, n_perms; char nombre[256]; short ret; pfunc_abb_int caracteristica; printf( Practica numero 3, apartado 4\n ); printf( introduce el numero minimo de elementos de la tabla\n ); 5
6 scanf( %d,&num_min); printf( introduce el numero maximo de elementos de la tabla\n ); scanf( %d,&num_max); printf( introduce el incremento\n ); scanf( %d,&incr); printf( Introduce el numero de permutaciones a promediar \n ); scanf( %d,&n_perms); printf( Introduce el coeficiente del retardo \n ); scanf( %d,&n_veces); printf( Introduce el nombre del fichero para guardar los tiempos\n ); scanf( %s,nombre); /* calculamos los tiempos promedios de... */ caracteristica = Busca_Nodo; ret=time_abb_int ( nombre,num_min,num_max, incr, n_perms, n_veces, caracteristica); if(ret==err_time) /* ERR_TIME debera ser un numero negativo */ printf("error en la funcion Time_ABB_int\n"); /* Funcion: Time_ABB_int Fecha: */ short Time_ABB_int( char* fichero, int num_min, int num_max, int incr, n_perms, int n_veces, pfunc_abb_int utilidad) /* Funcion: Driver_ABB_int Fecha: */ double Driver_ABB_int ( int tamanio,int n_perms, int n_veces, pfunc_abb_int utilidad ) /* Funcion: BuscaNodo Fecha: */ short Busca_Nodo(pnodoabb pabb, int num) Cuestiones teóricas 1. En la práctica se ha pedido, en Imprime ABB, una impresión del árbol mediante un recorrido del mismo en orden medio o inorden. Indica y da un ejemplo (mínimo con un árbol de 7 elementos) de los recorridos en preorden y en postorden de un árbol binario. 2. Justifica cual sería la entrada (permutación) que produciría el caso peor y mejor en la ordenación utilizando árboles binarios Son estas entradas las mismas para la búsqueda en dichos árboles? 3. Indica el principal problema para el rendimiento de los árboles binarios para su utilización en ordenación y búsqueda. Propón una solución a este problema. 4. Utilizando los libros recomendados en la asignatura, obtén información sobre los árboles AVL. Consideras que dichos árboles solucionan el problema de los árboles binarios para la búsqueda de elementos en el árbol? Justifica 6
7 tu respuesta mediante un estudio teórico del crecimiento de la profundidad de un árbol binario y de un AVL, en los casos peor, mejor y medio de los árboles binarios. Material a entregar en cada uno de los apartados Documentación: La documentación constará de los siguientes apartados: 1. Introducción: Consiste en una descripción de tipo técnico del trabajo que se va a realizar, qué objetivos se pretenden alcanzar, qué datos de entrada requiere vuestro programa y que datos se obtienen de salida, así como cualquier tipo de comentario sobre la práctica. 2. Código impreso: El código de la rutina según el apartado. Como código también va incluida la cabecera de la rutina. 3. Resultados: Descripción de los resultados obtenidos, gráficas comparativas de los resultados obtenidos con los teóricos y comentarios sobre los mismos. 4. En este apartado, comparad los tiempos de búsqueda en el árbol con los de órdenación de una tabla utilizando para ello la construcción de un árbol binario. Indicad si existe alguna similitud entre los resultados de los dos últimos apartados. 5. Cuestiones: En el último apartado, incluir las respuestas en papel a las cuestiones teóricas anteriores. Esta documentación se entregará al profesor de prácticas, en el corespondiente día de entrega de práctica. En portada deberá incluirse los nombres de los alumnos con su cuenta asociada, por ejemplo, e Si alguno de los alumnos no pertenece al grupo de prácticas en elque está por no corresponderse con el grupo de teoría, igualmente lo debería indicar en la portada de la práctica. Código Fuente: El código fuente será entregado en el compoartimiento de entregas de prácticas de la página Web desarrollada para tal efecto y respetando el grupo de prácticas al que pertenece el alumno. Los fuentes deberán agruparse en un fichero tar compresión gzip, y con el nombre p3gxx YY.tgz donde XX es el grupo de prácticas e YY el número de pareja. 7
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 detallesEstructura 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 detallesPRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS
INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: 1. Objetivo PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS El alumno comprenderá y aplicara
Más detallesPROBLEMA 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 detallesEstructura 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 detallesContenido 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 detallesArboles 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 detallesEstructura 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 detallesTema 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 detallesAlgoritmos y Programación II Curso 2006
Arboles: Un árbol es una colección de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raíz. Los nodos mantienen entre ellos una relación que define una estructura jerárquica
Más detalles1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i.
1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N - 1 b. N1-1 c. N d. N1 i.. Dado el siguiente árbol binario: raiz Q K T D M R Y B J P W N a. Cuáles son los antecesores
Más detallesSegundo parcial de Programación 2
Generalidades: Segundo parcial de Programación 2 a. La prueba es individual y sin material. b. La duración es 3hs. c. Sólo se contestan dudas acerca de la letra. 8 de Julio de 2016 d. Escriba las hojas
Más detallesEstructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial
Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial (Facultad de Informática) Curso 00 0 Estructuras de Datos y Algoritmos (FI-UPV) Curso 00 0 Árboles. Si la acción P fuera escribir
Más detallesÁ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 detallesESTRUCTURAS DE DATOS Y ALGORITMOS
ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno
Más detallesEstructura 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 detalles1 Especificaciones y Análisis
: Práctica 1 1 Especificaciones y Análisis 1.1 Especificaciones La práctica se centra en dominar los conceptos más elementales de C (Bucles, Vectores, Ficheros, Funciones con argumentos por valor y referencia,
Más detallesESTRUCTURAS DE DATOS Y DE LA INFORMACIÓN 2
ESTRUCTURAS DE DATOS Y DE LA INFORMACIÓN 2 Entregas: PRÁCTICA 3: Ficheros y Bases de Datos. 2009-2010 Las fechas de entrega electrónicas serán estrictamente rigurosas. Es obligatorio entregar la práctica
Más detallesTema 09: TAD Árbol binario
Tema 09: TAD Árbol binario M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Introducción El árbol binario
Más detallesESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria
ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos
Más detallesLISTAS 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 detallesF. Javier Gil Chica 2010
hc Manual de usuario y notas de implementación F. Javier Gil Chica 2010 Parte I Manual de usuario 1. Qué es hc hc es un compresor por códigos de Huffman. La compresión de Huffman es un ejercicio de programación
Más detallesDefinición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.
Definición: ÁRBOL El árbol es como un tipo de grafo cíclico, conexo y no dirigido. Las estructuras tipo árbol se usan principalmente para representar datos con una relación jerárquica entre sus elementos.
Más detallesEstructura de Datos Unidad 6: ARBOLES
Estructura de Datos Unidad 6: ARBOLES A. CONCEPTO DE ARBOL B. TIPOS DE ARBOL C. ARBOL BINARIO D. IMPLEMENTACION DE UN ARBOL BINARIO E. PROYECTO Introducción En ciencias de la informática, un árbol es una
Más detallesTemario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios
Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto
Más detallesUna 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 detallesProgramación II Árboles binarios de búsqueda (ABB)
Programación II Árboles binarios de búsqueda (ABB) Definición Un árbol binario de búsqueda(abb) a es una estructura de datos de tipo árbol binario en el que para todos sus nodos, el hijo izquierdo, si
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2016-2017 1º Grado en Informática Práctica 2: Memoria dinámica, Bibliotecas Objetivos Practicar conceptos
Más detallesÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).
ÁRBOL BINARIO - Un árbol binario puede definirse como un árbol que en cada nodo puede tener como mucho grado 2, es decir, a lo más 2 hijos. Los hijos suelen denominarse hijo a la izquierda e hijo a la
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesProgramación 2 Práctico 9 - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario
Práctico - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario Objetivos Trabajar con los tipos abstractos de datos Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario. Desarrollar y analizar
Más detallesA) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES
Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN
Más detallesExamen de Traductores, Intérpretes y Compiladores. Convocatoria ordinaria de Junio de er Curso de I.T. Informática de Sistemas.
Examen de Traductores, Intérpretes y Compiladores. Convocatoria ordinaria de Junio de 2001 3 er Curso de I.T. Informática de Sistemas. Apellidos, Nombre: Calificación: PRÁCTICA Con el presente problema,
Más detallesESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II
ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II PRÁCTICA 2: GRAFOS grupo comienzo entrega 1a miércoles 3/3 miércoles 14/4 1b jueves 4/3 jueves 15/4 1c lunes 8/3 lunes 12/4 2a viernes 5/3 viernes 9/4 2b lunes
Más detallesProgramación Estructuras Arborescentes
Programación 2 4 - Estructuras Arborescentes 1 Definición La recursión puede ser utilizada para la definición de estructuras realmente sofisticadas. Una estructura árbol (árbol general o finitario) con
Más detallesProgramación II Tema 5. Árboles binarios
ontenidos Programación II Tema 5. Árboles binarios Iván antador ompletitud de búsqueda onstrucción de un árbol e inserción y búsqueda de un elemento y recorrido onstrucción ontenidos ompletitud de búsqueda
Más detallesIntroducción a Funciones
Introducción a Funciones Departamento de Electrónica Fundación San Valero Funciones Una función sirve para realizar tareas concretas y simplificar el programa. Nos sirve para evitar tener que escribir
Más detallesTema 2: Lenguajes de Programación de Sistemas: C
Tema 2: Lenguajes de Programación de Sistemas: C SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla
Más detallesTema 4. Estructuras Dinámicas
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:
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 detallesEstructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)
Ing. En Sistemas Computacionales Estructura de Datos Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. Néstor Alejandro Carrillo López Arboles Un árbol es un conjunto finito
Más detallesNotas 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 detallesEste 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 detallesInformá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
Más detallesEJERCICIOS DE PROGRAMACIÓN EN C. PASO DE PSEUDOCÓDIGO A CÓDIGO. BUCLES, CONDICIONES (CU00539F)
APRENDERAPROGRAMAR.COM EJERCICIOS DE PROGRAMACIÓN EN C. PASO DE PSEUDOCÓDIGO A CÓDIGO. BUCLES, CONDICIONES (CU00539F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha
Más detallesApellidos: 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 detallesEstructura de Datos. Índice
TEMA 5. ÁRBOLES (I) 1 Índice 1. Concepto de árbol 2. Árboles binarios 1. Especificación informal del TAD árbol binario 2. Implementación del TAD árbol binario 3. Recorrido de un árbol binario 4. Árboles
Más detallesUNIDAD 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 detallesExamen 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 detallesExisten 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
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Introducción Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. A B C D E F G H I J K Clasificación con respecto a su relación: Nodo hijo: cualquiera de los nodos
Más detallesPráctica 2 - Manejo de estructuras de datos y punteros
Práctica 2 - Manejo de estructuras de datos y punteros Organización del Computador 2 1er Cuatrimestre 2017 1. Estructuras estáticas: Vectores y Matrices Ejercicio 1 Para cada uno de los siguientes ítems,
Más detallesSEMINARIO DE ESPECIFICACIONES ALGEBRAICAS
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2003/2004 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato
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 detallesFecha Segundo Cuarto Sexto Octavo
PRIMER ORDINARIO Lunes 23 de Martes 24 de BASE DE Miércoles 25 de Jueves 26 de Viernes 27 de SEGUNDO ORDINARIO Lunes 23 de Martes 24 de BASE DE Miércoles 25 de Jueves 26 de Viernes 27 de TERCER ORDINARIO
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 detallesFormato para Prácticas de Laboratorio
PROGRAMA EDUCATIVO PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE LSC 2009-2 PROGRAMACION ESTRUCTURADA PRÁCTICA No. 2 LABORATORIO DE NOMBRE DE LA PRÁCTICA ARREGLOS PARALELOS
Más detallesAlgoritmos 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 detallesUNIDAD 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 detallesEstructuras de Arbol O F H I J. Paréntesis anidados ( A ( B ( D ( I ), E ( J, K, L )), C ( F ( O ), G ( M, N ), H ( P )))) Indentación Grafo J K L
Estructuras de Arbol Nivel lógico Una estructura de árbol puede definirse como sigue: Una estructura de árbol con tipo base T es: 1. La estructura vacía. 2. Un nodo de tipo T con un número finito de estructuras
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos
Más detallesEstructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios
Estructura de datos y algoritmos Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios TEMA V : TIPOS DE DATOS ABSTRACTOS NO LINEALES: ÁRBOLES 5.1 Conceptos y definiciones 5.2 Árboles perfectamente
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 detallesTema 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 detallesCaracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().
Notas auxiliares sobre manejo de archivos Las funciones de entrada salida (E/S) de las librerías estandar de C, permiten leer y escribir datos a, y desde, archivos y dispositivos. La caracteristica fundamental
Más detallesPROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA
PROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA UNIDAD DE APRENDIZAJE ADMINISTRACION DE BASES DE DATOS Unidad de competencia III Manejar las estructuras dinámicas en memoria secundaria Arboles ELABORACION
Más detallesTEÓRICO ID ; = [ ], $
N Examen de Traductores, Intérpretes y Compiladores. Convocatoria ordinaria de Septiembre de 2007 er 3 Curso de I.T. Informática de Sistemas. Apellidos, Nombre: Calificación: TEÓRICO 1.- Dibujar un único
Más detallesEjercicios del Tema 3 Estructuras jerárquicas: Árboles
ALGORITMOS Y ESTRUCTURAS DE DATOS II Ingeniería Técnica en Informática de Gestión Ingeniería Técnica en Informática de Sistemas Ejercicios del Tema 3 Estructuras jeráruicas: Árboles Árboles n-arios 1.
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 detallesDefinición de árbol. Árboles
ÁRBOLES Árboles * Definición de árbol * Formas de representación * Nomenclatura sobre árboles * Árboles binarios * Declaración de árbol binario * Recorridos sobre árboles binarios * Construcción de un
Más detallesUNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 8 Material visual: Diapositivas Unidad de competencia
Más detallesTema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No.
Programación IV. Guía No. 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Arboles en C#. Objetivos Específicos Definir el concepto de la estructura de datos Árbol. Implementar
Más detallesTema 6: Estructuras de datos recursivas
Tema 6: Estructuras de datos recursivas Índice 1 Listas jerárquicas...2 2 Árboles binarios... 4 3 Árboles genéricos...7 4 Referencias...10 1. Listas jerárquicas Las listas tienen la propiedad de la clausura
Más detallesEstructuras de Datos ARBOLES Y GRAFOS
Estructuras de Datos ARBOLES Y GRAFOS Rosa Barrera Capot rosa.barrera@usach.cl Grafo? Características Permiten Modelar un problema Aplicaciones: Ingeniería de Sistemas Modelado de Redes Ingeniería Industrial
Más detalles324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2
324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:
Más detallesFILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.
FICHEROS El sistema de archivos de C está diseñado para secuencias que son independientes del dispositivo. Existen dos tipos se secuencias: de texto que es una ristra de caracteres organizados en líneas
Más detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detallesESTRUCTURA 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 detallesProgramació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
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos
Más detalles95.12 Algoritmos y Programación II Práctica 7: árboles
Notas preliminares 95.12 Algoritmos y Programación II Práctica 7: árboles El objetivo de esta práctica es introducir distintas clases de estructuras de datos arbóreas y algoritmos para manipularlas. Los
Más detalles02 de septiembre de 2013-06 de septiembre de 2013
02 de septiembre de 2013-06 de septiembre de 2013 2 lunes 3 martes 4 miércoles 5 jueves 6 viernes 1 17/04/2013 10:23 09 de septiembre de 2013-13 de septiembre de 2013 9 lunes 10 martes 11 miércoles 12
Más detallesEn este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos
Más detallesEjercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.
Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;
Más detallesAbelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.
Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes
Más detallesCALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS
JULIO VIERNES 1 9 7-8 7-8 5-6 1-3-5-7-9 SABADO 2 8 9-0 9-0 7-8 NO APLICA DOMINGO 3 NO APLICA NO APLICA NO APLICA NO APLICA NO APLICA LUNES 4 FESTIVO FESTIVO FESTIVO FESTIVO FESTIVO MARTES 5 1 3-4 3-4 1-2
Más detallesCALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS
ENERO VIERNES 1 FESTIVO FESTIVO FESTIVO FESTIVO FESTIVO SABADO 2 3 7-8 7-8 5-6 NO APLICA DOMINGO 3 NO APLICA NO APLICA NO APLICA NO APLICA NO APLICA LUNES 4 4 9-0 9-0 7-8 NO APLICA MARTES 5 5 1-2 1-2 9-0
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 detallesProceso Software Personal. Formatos de Trabajo
Proceso Software Personal Formatos de Trabajo Aitor de la Fuente Salán Versión 1.0 abril 2005 Entradas requeridas Guión del proceso PSP La descripción del problema. Tabla Resumen del Plan del Proyecto
Más detallesExamen de Fundamentos de la Programación (Modelo 1)
Examen de Fundamentos de la Programación (Modelo 1) 27 de noviembre de 2007 1. Qué escribe el siguiente programa si se teclea 5? int num, resultado; for (resultado=0; num; resultado++) num -= 2; printf
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 detallesResumen de los tipos abstractos de datos
Resumen de los tipos abstractos de datos José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e I.A. Universidad de Sevilla 18 de agosto de 2015 Resumen Es este documento
Más detallesTema 7: Árboles ESTRUCTURAS DE DATOS 1
Tema 7: Árboles ESTRUCTURAS DE DATOS 1 Contenidos Definiciones Conceptos de Árboles Binarios Especificación algebraica Implementaciones Programación con Árboles Binarios Árboles Binarios de Búsqueda Introducción
Más detalles