ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II
|
|
- Amparo Ayala Ortíz
- hace 5 años
- Vistas:
Transcripción
1 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 8/3 lunes 12/4 2c martes 2/3 martes 6/4 2d jueves 4/3 jueves 15/4 3b jueves 4/3 jueves 15/5 3c martes 2/3 martes 6/4 En esta práctica se implementarán algoritmos que actuarán sobre un grafo representado por su listas de adyacencias o por su matriz de adyacencias. Se implementará una estructura llamada GRAFO y unas operaciones que operan sobre esta estructura. La estructura debe permitir el almacenamiento de un grafo usando ambas las opciones: listas de adyacencia o matriz de adyacencia, la función de creación del grafo debe aceptar como parámetro un indicador de la forma de almacenamiento que se desea, y las funciones que operan sobre un grafo existente deben operar independientemente de la forma de almacenamiento usada, es decir, cada función que se implemente en esta práctica deberá ser capaz de usar ambas opciones. Una posibilidad en este sentido es crear en la estructura GRAFO un indicador de la forma de almacenamiento usada y punteros a las dos formas, por ejemplo, un puntero a un array de estructuras de tipo VERTICE que contenga, independientemente de la representación, la información asociada a cada vértice, un puntero a un array de estructuras de tipo ADY LIST, que contenga, para cada vértice, la lista de adyacencia, y un puntero a una estructura de tipo int ** con la matriz de adyacencia. Las funciones deben ser capaces de operar con grafos con vértices de tipo arbitrario, es decir, las funciones considerarán los vértices como punteros de tipo void *. En el momento de la inserción, cada vértice se introducirá con un número y un puntero a la información del vértice. Una vez definidas estas estructuras, se escribirá una serie de funciones, como explicado a continuación, y, para cada ejercicio, un programa que efectúe las operaciones descriptas. esta practica, todos los archivos que contengan grafos seguirán el mismo formato: En una linea con el numero de vértices del grafo (N); 1
2 2 a continuación, N lineas, cada una conteniendo la descrición y la lista de adyacencia de un vértice. En esta practica la descrición de un vertice consiste en un nombre y un número. Por tanto el contenido de cada línea es el siguiente: a) el número de orden del vértice; b) los datos del vértice (un nombre y un número); c) una serie de pars de numeros que constituyen la lista de adyacencia del vértice; el primer número de cada par es el vértice de llegada de un arco que sale del vértice presente, el segundo número es el peso del arco (que se pone siempre a 1 si el grafo no es ponderado). Ejemplo: Un grafo no ponderado en que se almacenan en los vértices los nombres y las edades de cuatro persona, como el siguiente Juan, 23 Paco, 31 se representa con el fichero: Pepe, 35 María, Juan Paco Pepe Maria 27 Se deberá entregar en la memoria el pseudo-codigo de todos los algoritmos empleados. * * * Ejercicio 1: Implementar las siguientes primitivas: GRAPH GRAPHInit: Crea una estructura de grafo en una representación especificada (listas de adyacencias o matriz de adyacencia), reservando espacio de memoria para un número dado de vértices. Nótese que, durante la ejecución de un programa, se debe permitir al grafo de crecer hasta contener más de n vértices. deberán alocar espacio de memoria suficiente. Cuando esto suceda, las funciones de grafo int GRAPHInsertVertex: inserta un vértice en el grafo, asignandole un número de identificación. La función devuelve el número de identificación del nuevo vértice.
3 3 int GRAPHInsertEdge: inserta un arco en un grafo entre dos vértices especificados. Si uno de los vértices no existe, la función no crea el arco y devuelve ERROR, si no crea el arco y devuelve OK. void GRAPHDestroy(GRAPH g): elimina el grafo g y libera la memoria alocada. * * * Ejercicio 2: El fichero metro.txt contiene un grafo en el cual cada vértice contiene el nombre de una estación de la red re metro de Madrid y el numero de personas que suben al metro en cada estación. Escribir un programa que utilice un algoritmo de complejidad O( V + E ) para encontrar todos los caminos de distancia mínima que unan dos vértices dados del grafo. El programa se pondrá en un fichero llamado camino y recibirá en la línea de comando los siguientes datos de entrada: i) el nombre de un fichero (p.ej. metro.txt) con los datos del grafo; ii) un entero que indica si se desea usar la representación por listas de adyacencias o la matriz de adyacencia (0 si listas, 1 si matriz); iii) los nombres de los vértices de salida y llegada. Para cada camino más corto entre los vértices dados, el programa deberá escribir por pantalla: i) el nombre de todas las estaciones de metro en el camino; ii) el numero total de personas que han subido al metro. Ejemplo: Si el programa recibe el grafo siguiente: Legazpi, 15 Pacifico, 50 Sol, 45 Moncloa, 10 y los nombres "Pacifico" y "Moncloa" deberá imprimir Pacifico Sol Moncloa 105
4 4 (105 = ). Ejercicio 3: Escribir un programa "conexo" que encuentre las componentes fuertemente conexas de un grafo dado. El programa tomará como argumento de entrada el nombre del fichero con el grafo cuyas componentes de quieren calcular, p. ej. "cfc.txt", e imprimirá en la pantalla el número de componentes conexas y, para cada una de ellas, el nombre de los vértices que la componen y el valor medio de las edades asociadas a estos vértices. Ejercicio 4: Escribir un programa "topologica" que tome como entrada en la línea de comando el nombre de un fichero con un grafo (p.ej. "orden.txt") y determine si el grafo contiene ciclos. Si el grafo no contiene ciclos (o sea, si el grafo es un DAG), muestre su ordenación topológica. caso de encontrar un ciclo el programa debe mostrar todos los arcos y su clasificación (ARBOL, ATRAS, ADELANTE, CRUCE) en la pantalla con el siguiente formato: En printf ("arco entre %16s y %16s es %16s\n", nombre_vertice1, nombre_vertice2, clasificacion); Ejercicio 5: En este ejercicio se evaluarán los costes de ejecutar algunos algoritmos que se han implementado a lo largo de esta práctica. Para esto se utilizará el programa gnopodigraph.exe, capaz de generar un grafo dirigido no ponderado aleatorio de N vértices. Este programa requiere tres parámetros para su ejecución: el número de vértices del grafo (N), la probabilidad (p) de que dos nodos cualesquiera del grafo estén conectados y el nombre del fichero de salida. de esta práctica. El fichero de salida tiene el mismo formato que los usado a lo largo Hállese el tiempo de CPU de ejecutar los algoritmos de los ejercicios 2--6 aplicados a grafos de tama~no N = 500; N = 1000; N = 5000; para los siguientes valores de probabilidad: p = (1, 0.5, 0.1, 0.01). Se pide de comparar y analizar los resultados empíricos con los teóricos. El programa gnopodigraph se usará para generar 12 ficheros con grafos (uno para cada combinación de tama~no y probabilidad). Para la prueba se utilizarán otra vez los programas escritos a lo largo de esta práctica, modificados para calcular el tiempo de ejecución y para escribirlo en la pantalla en lugar de las informaciones originales. El computo del tiempo de ejecución no deberá tomar en cuenta el tiempo necesario para leer el fichero de entrada y para
5 5 escribir los datos en la pantalla. estructura como: Si un programa escrito para esta práctica tiene una main() { read_input_data(); execute_algorithm(); write_output_data(); su estructura deberá cambiarse a main() { read_input_data(); t1 = tiempo_inicio(); execute_algorithm(); t2 = tiempo_final(); write_execution_time(t2-t1); Es necesario considerar también que medir el tiempo de ejecución con las funciones estándares del C no es fiable si el tiempo de ejecución es demasiado corto (unos segundos). Si el tiempo medido es de unos segundos, será necesario obtener una estimación más fiable repitiendo el algoritmo varias veces. Por ejemplo: main() { read_input_data(); t1 = tiempo_inicio(); for (i=0; i<100; i++) { execute_algorithm(); t2 = tiempo_final(); write_execution_time( (t2-t1)/100.0 ); Ejercicio 6: En este ejercicio el grafo que se leerá del fichero es ponderado, con pesos que pueden ser positivos o negativos. Cada vértice contiene, como antes, un nombre y un número, aún si en este ejercicio el numero no tiene ningún significado (el número se ha puesto sólo para que sea posible usar las funciones de lectura de ficheros creadas para los ejercicios precedentes). Dado un grafo ponderado (p.ej. el grafo contenido en el fichero "ponderado.txt" o en
6 6 "negativo.txt"), usar el algoritmo de Bellman-Ford para verificar si el grafo contiene ciclos de coste negativo. Si el grafo los contiene, se escriban en la pantalla todos los vértices que componen todos los ciclos de coste negativo. Si el grafo no los contiene, se escriban en la pantalla los vértices que forman el camino mínimo entre el primer y el último vértice del grafo (donde "primero" y "último" se refiere al orden en que los vértices aparecen en el fichero). Ejercicio 7: El fichero metro mod.txt contiene otro plan de metro en que cada arista tiene un peso igual al número de personas que han subido al metro en este tramo. Utilice el algoritmo de Dijkstra para escribir un program aque determine el camino entre dos estaciones por el cual ha subido al metro el menor número de personas. El programa se llamará dijkstra y recibirá en la líneas de comando el nombre del fichero, el nombre de la estación de salida, y el nombre de la estación de llegada. Por ejemplo: dijkstra metro_mod.txt canal lista El programa deberá determinar el camino mínimo en el grafo ponderado entre las dos estaciones dadas, e imprimir en pantalla las estaciones por que hay que pasar y el número de personas que han subido al metro en el recorrido. Madrid, febrero 2010
ESTRUCTURA DE DATOS Y DE LA. Calendario de entregas (de la práctica completa)
ESTRUCTURA DE DATOS Y DE LA PRÁCTICA 2 GRAFOS, PRIMERA INFORMACIÓN PARTE 2 Calendario de entregas (de la práctica completa) grupo comienzo entrega 1a miércoles 4/3 miércoles 25/3 1b jueves 5/3 jueves 26/3
Más detallesTIPOS ABSTRACTOS DE DATOS EN HASKELL
TIPOS ABSTRACTOS DE DATOS EN HASKELL ÍNDICE GENERAL 1. Introducción a Haskell 2. Tipos abstractos de datos en Haskell 3. TAD Grafo 4. TAD Montículos 5. Bibliografía INTRODUCCIÓN A HASKELL 1. Introducción
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 detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx Estructura de datos no lineales donde cada componente o nodo puede tener uno o más predecesores (a diferencia de los árboles) y sucesores Un grafo esta formado
Más detallesAnálisis de algoritmos
Demostración laboratorio: Martes 14 de Julio de 2015 Entrega vía Web: Domingo 19 de Julio de 2015 Demostración laboratorio y Entrega vía Web (Extraordinario): Martes 21 de Julio de 2015 M. en C. Edgardo
Más detallesEstructuras de Datos y Algoritmos
Estructuras de Datos y Algoritmos Práctico 3: Grafos (Finalización: 06/09) Ing. en Computación - Ing. en Informática - Prof. en Computación Año 2018 Ejercicio 1: Dado el siguiente p-digrafo: 5 b 6 d 11
Más detallesGrafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.
Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos
Más detallesOBJETIVOS ÍNDICE BIBLIOGRAFÍA
OBJETIVOS Tema 9: GRAFOS Primera Parte Estructuras de Datos y Algoritmos Curso 2002/03 Definiciones formales de grafo y conceptos relacionados Estructuras de datos para representar grafos Algoritmos para
Más detallesAPELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA
Hoja 1/10 Duración: una hora y media Resultados de aprendizaje que se evalúan en este examen: R2: Saber emplear las estructuras de control de flujo de programación para implementar algoritmos sencillos.
Más detallesGrafos. Amalia Duch Brown Octubre de 2007
Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido
Más detallesTema 6.2: Camino de Menor Valor. CMV: Objetivo. CMV: ejemplo. Ejemplo. Camino de menor valor
Tema.: Camino de Menor Valor Modelización Matemática Máster en Ingeniería de Caminos, Canales y Puertos Camino de menor valor Algoritmos Algoritmo de Dijkstra Algoritmo de Bellman-Ford Ignacio Montes Departamento
Más detallesPROGRAMACION ALGORITMOS Y ESTRUCTURAS DE DATOS PRACTICA N 4
PROGRAMACION ALGORITMOS Y ESTRUCTURAS DE DATOS PRACTICA N 4 Ámbito de las variables. Utilización de punteros 1. Dados los siguientes programas. Indique las salidas por pantalla que generan. 1.a void Calculo(
Más detalles1. GRAFOS : CONCEPTOS BASICOS
1. GRAFOS : CONCEPTOS BASICOS Sea V un conjunto finito no vacio y sea E V x V. El par (V, E) es un grafo no dirigido, donde V es un conjunto de vértices o nodos y E es un conjunto de aristas. Denotaremos
Más detallesBenemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación
Asignatura: Programación I Fecha: Marzo 2012 Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación Funciones 1. Escriba un programa en C que intercambie
Más detallesANÁLISIS Y DISEÑO DE ALGORITMOS
ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 26/27 BOLETÍN DE PROBLEMAS: ALGORITMOS VORACES Ejercicio 1 Sean n personas, representadas por los Enteros : 1..n, puestas en círculo, y m, un Entero no negativo cualquiera,
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 detallesTeoría y Complejidad Algorítmica
Teoría y Complejidad Algorítmica Practica 3 Eduardo Viciana Gámez Contiene documentación y código fuente de la práctica 2 Descripción de la Práctica En esta práctica se van a comparar dos algoritmos que
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 detallesPropiedades. Ejercicios Tema 14. Representación de Grafo. Grado de Grafo (Matriz de Adyacencia)
Propiedades Ejercicios Tema Ejercicios Adaptados de Apuntes y Exámenes de EDA Germán Moltó gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad
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 detallesAlgoritmos Elementales de Grafos. Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem. 2002
Algoritmos Elementales de Grafos Agustín J. González ELO-0: Estructura de Datos Y Algoritmos er.sem. 00 Introducción Estudiaremos métodos para representar y explorar o recorrer grafos. Explorar un grafo
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 detallesTeoría de grafos y optimización en redes
Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,
Más detallesGRAFOS. Tomado de: Joyanes Aguilar Luis, Estructuras de datos en Java. CASOS
GRAFOS Tomado de: Joyanes Aguilar Luis, Estructuras de datos en Java. CASOS 1.4 El recorrido del cartero Imaginemos un grafo que representa el mapa de las calles de un barrio. Una calle va de una esquina
Más detallesEste material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios
CLASE GRAFOS Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios libros por lo que está prohibida su impresión
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 detallesLos grafos son estructuras de datos Representan relaciones entre objetos. Son aplicables en. Relaciones arbitrarias, es decir No jerárquicas.
ESTRUCTURA DE DATOS Los grafos son estructuras de datos Representan relaciones entre objetos Relaciones arbitrarias, es decir No jerárquicas Son aplicables en Química Modem Geografía Ing. Eléctrica e Industrial,
Más detallesFig. 3.8 Eliminar una conexión existente.
Programa de implantación de red de autobuses en región urbana Pág. 21 Eliminar o consultar una conexión existente: En la barra de botones se pulsará el botón CONEXIONES del formulario del programa, (Véase
Más detallesGrafos: Fundamentos Representaciones, etc. Jose Aguilar
Grafos: Fundamentos Representaciones, etc. Jose Aguilar Introducción Las estructura de datos no lineales se caracterizan por tener una relación de adyacencia genérica entre sus elementos, es decir, un
Más detallesGrafos. 19 de diciembre de 2013
Grafos 19 de diciembre de 2013 Grafo Un grafo es un conjunto, no vacío, de objetos llamados vértices (o nodos) y una selección de pares de vértices, llamados aristas (edges en inglés) que pueden ser orientados
Más detallesPráctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros
Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros
Más detallesTeoría de redes y optimización en redes
Teoría de redes y optimización en redes Pedro Sánchez Martín Contenidos Definiciones básicas Árbol generador mínimo de expansión Camino mínimo Algoritmo Dkstra Algoritmo Bellman-Ford Fluo máximo Fluo de
Más detallesAlgoritmos voraces (greedy)
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos voraces 21 de marzo de 2018 1 / 45 1 Algoritmos voraces (greedy) Aplicaciones de
Más detallesExamen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1
Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio
Más detallesTema: Algoritmos para la ruta más corta en un Grafo.
Programación IV. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino
Más detallesCentro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas
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 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 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 detallesEs un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre
Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre elementos de un conjunto. Típicamente, un grafo se representa
Más detalles1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:
PROGRAMACIÓN DINÁMICA RELACIÓN DE EJERCICIOS Y PROBLEMAS 1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila /1 para los siguientes casos: a. Mochila de capacidad W=15:
Más detallesGrafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.
Grafos y Redes. Nodos: vértices, 2, 3 2. Arcos: aristas, conexión entre nodos. 2, 54, etc. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista. 4. Grado
Más detallesANÁLISIS Y DISEÑO DE ALGORITMOS
ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 2005/2006 BOLETÍN DE PROBLEMAS: ALGORITMOS VORACES Ejercicio 1 Sean n personas, representadas por los Enteros : 1..n, puestas en círculo, y m, un Entero no negativo
Más detallesTema: Recorrido de Grafos. Ruta más corta
PED104. Guía N 12 Página 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación con Estructuras de Datos Tema: Recorrido de Grafos. Ruta más corta Competencia Desarrolla sistemas de información
Más detallesAlgoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos
Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de
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 detallesTema: Algoritmos para la ruta más corta en un Grafo.
Programación IV. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino
Más detallesNIVEL 17: ESTRUCTURAS NO LINEALES
1 NIVEL 17: ESTRUCTURAS NO LINEALES Grafos, definiciones y tipos de problemas 2 Agenda Qué son? Formalismo abstracto de los grafos dirigido Conceptos Ejemplo: Red de distribución de agua Caminos y Ciclos
Más detallesEstructuras de Datos Orientadas a Objetos. Pseudocódigo y aplicaciones en C#.NET. Capítulo 9.- Grafos
Capítulo 9.- Grafos Cuestionario 9.1 Se pueden representar los nodos de un grafo como un conjunto de elementos 9.2 Se pueden representar los arcos de un grafo como un conjunto de tuplas 9.3 Los grafos
Más detallesCiclos y grafos acíclicos
Ciclos y grafos acíclicos Domingo Gómez Pérez Domingo Gómez Pérez Ciclos y grafos acíclicos 1 / 23 Definición de ciclos Figura: Figura con ciclos Definición de camino Un camino en un grafo es una lista
Más detallesMatemáticas Básicas para Computación
Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 10 Nombre: Grafos Objetivo: Al término de la sesión el participante conocerá los elementos que integran los grafos,
Más detallesDII. 1. (5 Puntos) Dada la clase Punto con la siguiente interfaz ya implementada
DII Asignatura: LS1158 Metodología y Técnicas de la Programación II Cuatrimestre: 2º Examen: Final Convocatoria: Ordinaria Grupo: 1T2-1T3 Curso: 2004/05 Fecha: 31/V/05 1. (5 Puntos) Dada la clase Punto
Más detallesMetodología y Tecnología de la Programación II Escuela Politécnica Superior, UAM,
Metodología y Tecnología de la Programación II Escuela Politécnica Superior, UAM, 2009 2010 Conjunto de Prácticas no. 3 Fecha de entrega: Grupo del Lunes: 11 de Enero. Grupos del Martes: 15 de Diciembre.
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 detallesRecorridos de grafos
Recorridos de grafos Introducción 2 Recorrido en profundidad 3 Recorrido en anchura 9 Ordenación topológica 12 J. Campos - C.P.S. Esquemas algorítmicos - Grafos Pág. 1 Introducción Justificación de la
Más detallesINDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.
INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.7 GRAFOS CONEXOS7 ÁRBOLES..7 BOSQUES DE ÁRBOLES...8 RECORRIDO DE UN GRAFO..8
Más detallesTema 10- Grafos. Objetivos:
Tema - Grafos Duración: 2 semanas aprox. Índice general:. Relaciones entre los Datos de una Colección 2. Conceptos básicos sobre Grafos. Representación de un Grafo: Matriz y Listas de Adyacencia. Implementación
Más detallesEstructuras de Datos y Algoritmos. Grafos
Estructuras de Datos y Algoritmos Grafos Definiciones Grafo modelo para representar relaciones entre elementos de un conjunto. Grafo: (V,E), V es un conjunto de vértices o nodos, con una relación entre
Más detallesGrado en Ingeniería de Tecnologías y Servicios de Telecomunicación Programación II. PRÁCTICA 1: Utilización del concepto de Tipo Abstracto de Dato
PRÁCTICA 1: Utilización del concepto de Tipo Abstracto de Dato OBJETIVOS El objetivo de esta práctica es utilizar los conceptos aprendidos en las clases de teoría sobre los Tipos Abstractos de Datos (TAD)
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 detallesGrafos: algunas definiciones
Grafos: algunas definiciones Un grafo dirigido G es un par (V, E), donde V es un conjunto finito de nodos (o vértices) y E es una relación binaria sobre V. Un grafo no dirigido G es un par (V, E), donde
Más detallesTeoría de Grafos. Herramientas de programación para procesamiento de señales
Teoría de Grafos Herramientas de programación para procesamiento de señales Indice Nociones básicas: Definiciones Ejemplos Propiedades Nociones avanzadas: Grafos planares Árboles Representación en computadora
Más detalles3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS.
3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS 3.1.- CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS. 3.2.- BOSQUES Y COMPONENTES CONEXOS. NEXON LENIN CEFERINO POMPOSO Los árboles son particularmente
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 detallesGráficas. Las relaciones que resultan de estas conexiones nos llevan a preguntas como:
GRÁFICAS Gráficas Muchas aplicaciones computacionales involucran no solo un conjunto de elementos sino también conexiones entre pares de elementos. Las relaciones que resultan de estas conexiones nos llevan
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 detallesManual del Usuario para el programa de reconocimiento de caracteres.
Manual del Usuario para el programa de reconocimiento de caracteres. Instalación. El software no tiene programa de instalación, solo es necesario copiar el ejecutable al directorio donde usted desee. Y
Más detallesDefiniciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002
Definiciones: conjuntos, grafos, y árboles Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002 1 Conjuntos (sets) y Grafos (graphs) Un Conjunto es una colección de objetos distintos. No
Más detallesEstructuras de datos Listas y árboles
Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como
Más detallesPráctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase
Práctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase 1. Ejecute el siguiente programa y diga que hace la función calcula: #include
Más detallesUn grafo G = (V, E) se dice finito si V es un conjunto finito.
1 Grafos: Primeras definiciones Definición 1.1 Un grafo G se define como un par (V, E), donde V es un conjunto cuyos elementos son denominados vértices o nodos y E es un subconjunto de pares no ordenados
Más detallesRedes de Computadoras. Obligatorio
Redes de Computadoras Obligatorio 3-2018 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente el Reglamento del
Más detallesParte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Grafos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas a partir
Más detallesAlgoritmos de búsqueda en grafos II
II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 12 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Búsqueda en grafos II 12 de febrero de 2018 1 / 26 1 Algoritmos de búsqueda en grafos Dr.
Más detallesDescripción del problema:
PROBLEMA DEL AGENTE VIAJERO USANDO BÚSQUEDA TABU PROYECTO FINAL PROGRAMACIÓN CIENTIFICA ANGELES BAEZ OLVERA 4 JUNIO 2009 Descripción del problema: El problema del agente viajero o TSP como se le conoce
Más detallesA l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Más detallesEstructura de Datos. Estructuras de Datos no lineales : Árboles
Estructura de Datos Estructuras de Datos no lineales : Árboles Definiciones de Árbol En términos matemáticos, un árbol es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares
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 detallesApuntes de Teórico de Programación 3. Apuntes de Teórico PROGRAMACIÓN 3. Greedy. Versión 1.1
Apuntes de Teórico PROGRAMACIÓN 3 Greedy Versión 1.1 1 Índice Índice... Introducción... 3 Ejemplo 1 (problema de las monedas)... 3 Ejemplo (problema de la mochila)... 4 Aplicaciones del método Greedy a
Más detallesEstructura Selectiva Múltiple
Estructura Selectiva Múltiple Con frecuencia en la práctica se presentan más de dos elecciones posibles de una cierta condición. La estructura selectiva múltiple se utiliza para este tipo de problemas,
Más detallesEntregable 4.- RESUELTO. Semana del 5 de octubre al 11 de octubre
Entregable 4.- RESUELTO Semana del 5 de octubre al 11 de octubre 1. Resuelve los siguientes sistemas de ecuaciones 1. 2x = 5 en Z 7 3x = 1 en Z 5 x = 3 en Z 8 2. 2x = 1 en Z 6 x = 4 en Z 11 3x = 2 en Z
Más detallesTaller de grafs: rutes, mapes i xarxes socials
Taller de grafs: rutes, mapes i xarxes socials Cristina Chiralt y Fernando Hernando Universidad Jaume I e Instituto Universitario de Matemáticas y sus Aplicaciones de Castellón Grado de Matemática Computacional
Más detallesCapítulo 5 Introducción a la teoría de grafos
Capítulo 5 Introducción a la teoría de grafos 5.1. Terminología básica y tipos de grafos Una primera aproximación a la teoría de grafos la tenemos cuando observamos un mapa de carreteras: ciudades (vértices)
Más detallesGrafos (principiantes) - Parte I
Grafos (principiantes) - Parte I Juan Cruz Piñero Facultad de Informática Universidad Nacional del Comahue Training Camp 2017 Juan Cruz Piñero (FAI - UNCo) Grafos (Principiantes) Parte I TC 2017 1 / 39
Más detallesApéndice A: Manual de Usuario
Apéndice A: Manual de Usuario 59 Apéndice A: Manual de Usuario En este apartado se muestra el manual del Simulador de Algoritmos. El manal comprende desde la instalación del simulador hasta el funcionamiento
Más detallesHamilton, Euler y Dijkstra
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACION Matemáticas Discretas III (Cód. 6108) Práctica # 2 Hamilton, Euler y Dijkstra 1. Sea G = un multigrafo no dirigido donde
Más detallesMetodología y Tecnología de la Programación. I.T. Informática de Gestión
ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA PROGRAMAS, MÉTODOS Y CRITERIOS DE EVALUACIÓN A APLICAR DURANTE EL PROCESO DE EXTINCIÓN DEL PLAN 1999 Metodología y Tecnología de la Programación I.T. Informática
Más detalles2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol.
1. Escribe una especificación informal para los distintos métodos de ordenación que conozcas. La especificación debe ser genérica, es decir trabajar con elementos de cualquier tipo. En qué se diferencia
Más detallesÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES
ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas
Más detallesNIVEL 17: ESTRUCTURAS NO LINEALES
1 NIVEL 17: ESTRUCTURAS NO LINEALES Recorridos y Algorítmica de Grafos 2 Agenda Recorridos de grafos Recorridos Planos Recorridos en profundidad Recorridos por niveles Recorridos Heurísticos Algorítmica
Más detallesGuía práctica de estudio 7
Guía práctica de estudio 7 Algoritmos de Grafos. Parte 2. Elaborado por: Revisión: Ing. Laura Sandoval Montaño Facultad de Ingeniería U.N.A.M. Guía Práctica 7 Estructura de datos y Algoritmos II Algoritmos
Más detallesPráctica 2: Estructuras/Uniones/Campos de bits
Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática Aplicada Práctica 2: Estructuras/Uniones/Campos de bits Contenido: Esta
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detallesSoluciones a los ejercicios planteados en el curso
Soluciones a los ejercicios planteados en el curso Unidad 3 - Algoritmos recursivos Lección 2 Mecanismo de recursividad Escribe un algoritmo recursivo que calcule el elemento de cardinal más elevado de
Más detallesA l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Más detallesEl TAD Grafo. El TAD Grafo
Objetivos! Estudiar la especificación del TAD Grafo! Presentar diferentes alternativas de implementación! Conocer los algoritmos más importantes de manipulación de grafos Contenidos.1 Conceptos. Especificación
Más detallesLa clase Grafo. 4 Algoritmos de recorrido de grafos. La clase Vertice. Tema 9: GRAFOS Segunda Parte Estructuras de Datos y Algoritmos Curso 2002/03
La clase Grafo public class Grafo { Tema 9: GRAFOS Segunda Parte Estructuras de Datos y Algoritmos Curso 00/03 private static final int TAMANYO_INICIAL=0; private Vertice tabla []; private int numvertices;
Más detallesMultiplicación de matrices simétricas
Multiplicación de matrices simétricas La traspuesta de una matriz A n n es definida como una matriz A T n n tal que A T [i, j] =A[j, i] paracadai, j 2{1,...,n} Además, una matriz A es simétrica si A =
Más detalles