El TAD Grafo. El TAD Grafo
|
|
- Emilia Botella Olivera
- hace 7 años
- Vistas:
Transcripción
1 ! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices en tiempo de ejecución! Por tanto, para un caso más general, podemos utilizar, en lugar de una tabla, una lista enlazada para almacenar la información de los vértices tipo grafo = clase público { métodos comunes a grafos } privado G: lista <adyacencia>; fclase tipo adyacencia = clase público { métodos tipo set/get } privado v: vértice adyacentes: lista <vértice> fclase Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 20 Huelva Sevilla G Cádiz Córdoba Huelva Sevilla Sevilla Huelva Cádiz Córdoba Cádiz Huelva Córdoba Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 21
2 .. Listas múltiples de adyacencia! Se utilizan para grafos dirigidos, si lo que queremos saber es, de forma eficiente, los antecesores de un determinado nodo! Se utiliza otra tabla de listas cuya lista i-ésima contiene los vértices antecesores al vértice i. Dicha lista se conoce con el nombre de lista de antecesores! Una lista múltiple de adyacencia es una estructura de datos que une ambas tablas en una única estructura! Hay un nodo por cada arista del grafo! Cada nodo guarda la información de dos vértices (origen y destino de la arista) y dos punteros " el primero apunta al nodo que almacena la siguiente arista que tiene el mismo vértice destino " el segundo apunta al nodo que almacena la siguiente arista que tiene el mismo vértice origen Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 22 constante n =... { cardinal de V } PtrNodoGM= puntero a NodoGM tipo grafodirigido = clase público { métodos comunes a grafos } privado adyacentes, antecesores: tabla [1..n] de PtrNodoGM fclase tipo nodogm = clase público { métodos de tipo set/get } privado origen, destino: vértice sigant, sigady: PtrNodoGM fclase Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 2
3 1 origen destino 2 mismo origen mismo destino listas de listas de adyacencia antecesores inversa listas de adyacencia Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 2 Eficiencia de las operaciones nv: número de vértices na: número de aristas ge: grado máximo de entrada gs: grado máximo de salida Operación Matriz Lista Simple Lista Múltiple creagrafovacío insertaarista eliminaarista estaarista adyacentes antecesores Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 25
4 : recorridos. Recorrido de un grafo! La operación de recorrer un grafo consiste en visitar todos aquellos vértices, a partir de un vértice determinado, y que son accesibles desde él en un determinado orden! Existen básicamente dos estrategias de recorrido: " en anchura " en profundidad ambos necesitan una estructura auxiliar para almacenar los vértices visitados ya que deben evitarse las visitas reiteradas Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 26 : recorridos..1 Recorrido en anchura! Consiste en visitar el vértice de partida V, y a continuación visitar, en anchura, los adyacentes que aún no hayan sido visitados! Este método utiliza una cola como estructura auxiliar para mantener los vértices que se vayan a procesar posteriormente! Los pasos son: 1. Guardar en la cola el vértice de partida y marcarlo como procesado 2. Repetir los pasos y hasta que la cola esté vacía. Retirar el nodo frente de la cola (F) y visitar F. Guardar en la cola todos los vértices adyacentes al vértice de F que no estén procesados y marcarlos como procesados Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 27
5 : recorridos Ejemplo B Vértices recorridos desde D Estado de la cola A D Frente Final H T R C Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 28 : recorridos..2 Recorrido en profundidad! Consiste en visitar el vértice de partida V, y a continuación visitar, en profundidad, los adyacentes que aún no hayan sido visitados! Generalización del recorrido en preorden de los árboles! Este método utiliza una pila como estructura auxiliar para mantener los vértices que se vayan a procesar posteriormente! Los pasos son: 1. Guardar en la pila el vértice de partida y marcarlo como procesado 2. Repetir los pasos y hasta que la pila esté vacía. Desapilar el nodo que está en la cima (C) y visitar C. Guardar en la pila todos los vértices adyacentes al vértice de C que no estén procesados y marcarlos como procesados Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 29
6 : recorridos Ejemplo B Vértices recorridos desde D Estado de la pila A D Fondo Cima H T R C Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 0.5 Caminos mínimos sobre grafos! Uno de los problemas que se plantea con frecuencia en los grafos es determinar el camino más corto entre un par de vértices. Este problema se plantea, generalmente, para grafos dirigidos y valorados (con factor de peso en las aristas)! Suponemos que cada arista tiene asociada un coste c ij no negativo, es decir, (v i, v j ) # c ij 0! El coste de un camino C = v 1, v 2,..., v k es la suma de los costes de las aristas de C coste( C) = k 1 i= 1 coste( vi, vi + 1! El objetivo es encontrar el camino desde v 1 a v k con coste mínimo ) Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 1
7 .5.1 Algoritmo de Dijkstra! Este algoritmo resuelve el problema de encontrar el camino de coste mínimo desde un vértice al resto de los vértices del grafo! Es un algoritmo voraz, es decir, va seleccionando, en cada paso, la mejor solución entre las disponibles. En cada iteración se escoge aquel de los vértices por visitar más próximo a v. El algoritmo acaba cuando no quedan vértices por visitar! Para que el algoritmo funcione correctamente, el grafo G=(V,A) tiene que ser dirigido, valorado y con factores de peso positivos! Para indicar que no existe camino desde el vértice v 1 hasta el vértice v 2 usaremos la indeterminación! Para mantener, en cada paso, la distancia mínima desde el origen podemos usar una tabla llamada D (distancia), que mantiene la distancia desde el origen a cada vértice del grafo! En cada iteración, una vez seleccionado de entre los vértices por visitar, el vértice w más próximo a v se actualiza la tabla D para aquellos vértices u que son adyacentes de w y que cumplen que D [w] + peso(g, w, u) < D [u] Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 2 función Dijkstra (G:grafo; v: vértice; var A: tabla [1..n] de natural): tabla [1..n] de natural; var T: conjunto <vértices>; D: tabla [1..n] de natural; u,w: vértice; costemin: natural; fvar T:= ; para todo w en G hacer El vector D almacena las distancias mínimas D[w]:= ; A[w]:= 0; T:= T {w}; D[v]:= 0; repetir n-1 veces costemin:= ; para todo u en T hacer si D[u] costemin entonces w:= u; costemin:= D[u]; fsi; T:= T - {w}; para todo u en T hacer si D[w] + peso(g,w,u) < D[u] entonces D[u]:= D[w] + peso(g,w,u); A[u]:= w; fsi; frepetir, devuelve D; ffunción El vector A almacena el antecesor inmediato en el camino mínimo T es el conjunto de vértices que quedan por visitar se inicializa D a un valor máximo. En A ponemos el valor 0 para indicar que aún no hay antecesores en el camino mínimo se elige de T el vértice con menor distancia a v, y se almacena en w se marca w como vértice tratado se recalculan las nuevas distancias mínimas de los adyacentes de w y se almacena en P el antecesor inmediato, es decir, el vértice con el que se forma el camino más corto Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva
8 v1 5 v v v1 5 v v v5 v v5 v Iteración Tratados T D[2] D[] D[] D[5] Inicial 1 2 P[1] = P[2] = P[] = P[] = P[5] = Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva.5.2 Algoritmo de Floyd! En algunas aplicaciones puede resultar interesante determinar el camino mínimo entre todos los pares de vértices de un grafo dirigido valorado. El problema podría resolverse aplicando reiteradamente el algoritmo de Dijkstra, lo que resultaría demasiado costoso. La otra posibilidad es utilizar un método más directo conocido como el algoritmo de Floyd! Sea G un grafo dirigido y valorado. Suponemos que los vértices están numerados de 1 a n. En este caso, utilizamos una matriz con los pesos de las aristas, de tal forma que cada elemento representa el peso c ij asociado a cada arista (v i,v j ). Utilizaremos c ij = para representar que no existe arista entre los vértices v i y v j! La idea principal consiste en encontrar la matriz D de n x n elementos, de tal forma que cada elemento D ij sea el coste mínimo de los caminos entre v i y v j Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 5
9 ! El algoritmo comienza con una iniciación natural de D (D 0 ) y se genera iterativamente la secuencia de matrices D 1, D 2,..., D n, cuyos elementos tienen el siguiente significado: " D 0 [i,j] = c ij, peso asociado a la arista desde el vértice i al vértice j " D 1 [i,j] = min (D 0 [i,j], D 0 [i,1] + D 0 [1,j]). Es decir, el menor de los costes entre el anterior camino desde i hasta j y la suma de los costes de caminos desde i hasta 1 y 1 hasta j " D 2 [i,j] = min (D 1 [i,j], D 1 [i,2] + D 1 [2,j]). Es decir, el menor de los costes entre el anterior camino desde i hasta j y la suma de los costes de caminos desde i hasta 2 y 2 hasta j " D n [i,j] = min (D n-1 [i,j], D n-1 [i,n] + D n-1 [n,j]). Es decir, el menor de los costes entre el anterior camino desde i hasta j y la suma de los costes de caminos desde i hasta n y n hasta j Como en el algoritmo de Dijkstra, para cada vértice sería conveniente almacenar el índice del último vértice que ha conseguido que el camino sea mínimo desde v i hasta v j. Para ello, se utiliza una matriz de vértices según el siguiente criterio: A(v i,v j ) = 0 si no hay caminos de v i a v j A(v i,v j ) = v k si v j es accesible desde v i y v k es el sucesor inmediato de v i en el camino mínimo de v i a v j calculado por el algoritmo Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 6 constante n =... { cardinal de V } tipo MatrizDistancias = tabla [n,n] de entero; MatrizCamino = tabla [n,n] de 1..n; Implementación del algoritmo de Floyd función Floyd (G: grafo; var A: MatrizCamino): MatrizDistancias; var i,j,k: entero; fvar inicio inicializarcostes (G, D); { almacena en D 0 los pesos asociados a las aristas de G. El para i:= 1 hasta n hacer camino mínimo de un vértice a sí mismo se considera 0 } para j:= 1 hasta n hacer A[i,j]:= 0; para k:=1 hasta n hacer { el índice k indica el subíndice de la matriz D que se está generando} para i:= 1 hasta n hacer { el índice i indica la fila } para j:=1 hasta n hacer { el índice j indica la columna } si (D[i,k] + D[k,j] < D[i,j]) entonces D[i,j]:= D[i,k] + D[k,j]; A[i,j]:= k; fsi; devuelve D; facción; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 7
El TAD Grafo. Objetivos. Contenidos
Objetivos q Estudiar la especificación del TAD Grafo q Presentar diferentes alternativas de implementación q Conocer los algoritmos más importantes de manipulación de grafos Contenidos 4.1 Conceptos 4.2
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 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 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 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 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 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 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 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 detallesGrafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30
Grafos AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Grafos / 0 Objetivos Al finalizar este tema tendréis que: Conocer la terminología básica de la teoría de grafos. Pasar
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 detallesRepresentación y manipulación de grafos: caminos, expansión, cortes y flujos
Un grafo G es un par de conjuntos G =(V,E) Representación y manipulación de grafos: caminos, expansión, cortes y flujos V = un conjunto de n vértices u, v, w V E = un conjunto de m aristas V = n, E = m
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 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 detallesTema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3
Tema 2: Grafos y Árboles Algoritmos y Estructuras de Datos 3 1 ÍNDICE 2.1 Definiciones básicas: grafos y árboles 2.2 Representaciones de árboles y grafos 2.3 Algoritmos de recorrido de árboles binarios
Más detallesUnidad 2: Problemas de camino mínimo
Representación Recorrido de grafos Camino mínimo Unidad 2: Problemas de camino mínimo Representación Matriz de adyacencia Matriz de incidencia Listas de vecinos Recorrido de grafos Estructuras de datos
Más detallesAlgoritmos Elementales de Grafos DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Análisis álii y Diseño de Algoritmos Algoritmos Elementales de Grafos DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Introducción Buscar en un grafo significa sistemáticamente seguir las aristas
Más detallesTema: Recorrido de Grafos
PED104. Guía N 11 Página 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación con Estructuras de Datos Tema: Recorrido de Grafos Competencia Desarrolla sistemas de información informáticos
Más detallesCamino mínimo en grafos
Camino mínimo en grafos Melanie Sclar Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Nacional OIA 206 Melanie Sclar (UBA) Camino mínimo en grafos Nacional OIA 206 / Contenidos Camino
Más detallesApuntes elaborados por: Aaron Asencio, Eduardo Quevedo, Raquel López Revisado por: Javier Miranda el???
Apuntes elaborados por: Aaron Asencio, duardo Quevedo, Raquel López Revisado por: Javier Miranda el??? Tema 9: rafos Los grafos no son más que la versión general de un árbol, es decir, cualquier nodo de
Más detallesTema 4y 5. Algoritmos voraces. Algoritmos sobre grafos
Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos Objetivos: Estudio de la técnica de diseño de algoritmos voraces Estudio de algunos problemas clásicos: Indice: Mochila con fraccionamiento Algoritmos
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 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 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 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 detallesTEMA 5 El tipo grafo. Tipo grafo
TEMA 5 El tipo grafo PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo grafo 1. Concepto de grafo y terminología 2. Especificación algebraica. Representación de grafos.1. Recorrido en profundidad o DFS.2. Recorrido
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 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 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 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 detallesIndice. 1. Tipos de grafos. 2. Conceptos Básicos 3. Representación de grafos 4. Subgrafos. Grafos complementarios
Teoría de Grafos 1 1. Tipos de grafos Indice 2. Conceptos Básicos 3. Representación de grafos 4. Subgrafos. Grafos complementarios 5. Caminos y conectividad 6. Grafos Bipartitos 2 Tipos de Grafos Un grafo
Más detallesEl TAD Árbol. El TAD Árbol
Objetivos! Presentar el árbol como estructura de datos jerárquica! Estudiar diferentes variantes de árboles, tanto en su especificación como en su implementación Contenidos 3.1 Concepto, definiciones y
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 detallesEstructura de Datos Página 1 de 13 ESTRUCTURA DE DATOS
Estructura de Datos Página 1 de 13 ESTRUCTURA DE DATOS Contenido TEMA 4. Grafos 4.1. Grafos 4.1.1. Definición 4.1.2.Conceptos 4.2. Modelado de problemas típicos 4.3. Representación de un grafo a través
Más detallesÁlgebra y Matemática Discreta
Álgebra y Matemática Discreta Sesión de Teoría 5 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 30 Sep 2013-6 Oct 2013 Primeras Definiciones Grafo Un grafo está definido por dos conjuntos, un
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 detallesARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle
ARBOLES GENERADORES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Árboles generadores Algoritmo búsqueda por profundidad
Más detallesMATEMÁTICAS PARA LA COMPUTACIÓN
MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO RELACIONES RELACIONES COMO LISTAS ENLAZADAS AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO RELACIONES COMO LISTAS ENLAZADAS Algunas
Más detallesEstructuras de datos Grafos
Estructuras de datos Grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Grafos p. 1 Matriz de adyacencia Un grafo G = (V,E) de n vértices etiquetados 1,2,3,...,n. Grafos p. 2 Matriz
Más detallesConceptos básicos en la Teoría de Grafos
Conceptos básicos en la Teoría de Grafos Cristina Jordán Lluch Instituto de Matemáticas Multidisciplinar Grupo de Modelización Físico-Matemática Conceptos básicos Subgrafos Caminos, cadenas y ciclos Represetación
Más detallesAnálisis de Algoritmos
Análisis de Algoritmos Profesor: M.C. Cuauhtemoc Gomez Suarez Tarea 06: Para calificación de examen. Sección: 503 Manuel Alejandro Salazar Mejía. Matrícula: 0300704C 11 de enero de 2011 1 Tarea: a) Programar
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 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 detalles2007 Carmen Moreno Valencia
Tema VIII. Grafos Grafos 1 2007 Carmen Moreno Valencia 1. Grafos, digrafos y multigrafos 2. Grafos eulerianos 3. Matrices de adyacencia e incidencia 4. Exploración de grafos pesados 1. Grafos, digrafos
Más detallesEstructuras Dinámicas de datos.
Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos
Más 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 detallesCiclos Hamiltonianos Algoritmo de la Ruta Más Corta. Matemática Discreta. Agustín G. Bonifacio UNSL. Teoría de Grafos II
UNSL Teoría de Grafos II y Ejemplos Un ciclo en un grafo que contiene cada vértice justo una vez, excepto por el vértice inicial y el final que aparece dos veces, recibe el nombre de ciclo de Hamilton.
Más detallesAlgoritmos para caminos más cortos (2) comp-420
lgoritmos para caminos más cortos (2) comp-420 lgoritmo * escrito totalmente en 1968 por Peter art, Nils Nilsson y ertram Raphael. n 1964 Nils Nilsson inventó un método que utiliza una heurística para
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 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 detallesAlgoritmos: Exploración de grafos
Algoritmos: Exploración de grafos Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es Contenido Juegos de estrategia
Más detallesTema 4. Estructura de datos no lineales Arboles y Grafos. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.
Tema 4 Estructura de datos no lineales rboles y Grafos 4.1.1. Introducción Las estructuras de datos vistas en apartados anteriores son de tipo lineales, dado que a cada elemento le seguía siempre otro
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 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 detallesAlgoritmos mas complejos. Algoritmos y Estructuras de Datos II (Programación I) Mgter. Vallejos, Oscar A.
Algoritmos mas complejos Divide y Vencerás Técnica empleada en cosas dispares. También en el diseño de algoritmos. (ordenación: Quicksort; Mergesort). Consiste básicamente en dividir un problema original
Más detallesTema 5: Grafos. CIS - UABJB - Estructura de Datos II Ing. Freddy Melgar Algarañaz 1
Tema 5: Grafos 1 Indice 1. Tipos de grafos 2. Conceptos Básicos 3. Representación de grafos 4. Caminos y conectividad 5. Grafos Bipartitos 6. Recorridos, eulerianos 2 Tipos de Grafos Un grafo G es un par
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 detalles5.4 Caminos mínimos: Algoritmo de Dijkstra
81 5.4 Caminos mínimos: Algoritmo de Dijkstra Al observar nuestro mapa de carreteras se pueden considerar las distancias en km que hay entre las ciudades, a cada arista se le asigna el valor correspondiente
Más detallesDiseño de algoritmos
Diseño de algoritmos Algoritmos de Vuelta Atrás Jesús Bermúdez de Andrés Universidad del País Vasco/Euskal Herriko Unibertsitatea (UPV/EHU) Curso 2008-09 1 Algoritmos de vuelta atrás El coloreado de mapas
Más detallesAnálisis de Algoritmos Teoría de grafos
Análisis de Algoritmos Teoría de grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Teoría de grafos p. 1 Grafos Un grafo G es un par de conjuntos G = (V,E) Teoría de grafos p. 2
Más detallesParte de Algoritmos de la asignatura de Programación Master de Bioinformática. Búsqueda exhaustiva
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Búsqueda exhaustiva Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas
Más detallesCAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES
CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES Los árboles (en general) se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes
Más detallesUNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS TEMA: PILAS, COLAS, LISTAS, ARBOLES Y GRAFOS MATERIAL DIDÁCTICO ACTIVIDADES
Más detallesIntroducción a los árboles. Lección 11
Introducción a los árboles Lección 11 Árbol: Conjunto de elementos de un mismo tipo, denominados nodos, que pueden representarse en un grafo no orientado, conexo y acíclico, en el que existe un vértice
Más detallesEJERCICIOS PARA EL PRIMER PARCIAL (de exámenes pasados)
Universidad Católica Andrés Bello Facultad de Ingeniería Escuela de Informática ALGORITMOS y PROGRAMACIÓN II EJERCICIOS PARA EL PRIMER PARCIAL (de exámenes pasados) 1. Ordenar el siguiente arreglo de enteros
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 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 detalles1. Caminos Mínimos en un Grafo sin Pesos 2. Caminos Mínmos en un Grafo ponderado. 1. Algoritmo de Dijkstra
Tema - Soluciones Greedy para Problemas de Optimización sobre un Grafo Tema - Soluciones Greedy para Problemas de Optimización sobre un Grafo Germán Moltó Escuela Técnica Superior de Ingeniería Informática
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 detallesBúsqueda en espacio de estados
Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología
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 detallesAlgoritmos y Estructuras de Datos II, Grado Ingeniería Informática Examen 10 de septiembre de 2011
Algoritmos y Estructuras de Datos II, Grado Ingeniería Informática Examen 10 de septiembre de 2011 (OJO, se cuentan las soluciones con todo detalle para que se entienda bien, pero en el examen no hace
Más detalles7.1 Modelo matemático y especificación
Transparencias del libro Rodríguez Artalejo, M., González-Calero, P.A., Gómez Martín, M.A.: Estructuras de datos, un enfoque moderno. Editorial Complutense 2011. TEMA 7 GRAFOS Modelo matemático y especificación
Más detallesIntroducción. Königsberg, s.xviii A
Teoría de Grafos Introducción Königsberg, s.xviii A B C D Euler resuelve este problema mediante la teoría de grafos: sólo puede haber un ciclo euleriano cuando todos los nodos tienen un número par de aristas
Más detalles1. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación Problema de las 8 reinas Problema de la mochila 0/1.
Backtracking. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación. 3.. Problema de las 8 reinas. 3.2. Problema de la mochila 0/. Método general El backtracking (método de retroceso
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 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 detallesAlgoritmos de búsqueda en grafos I
I Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 7 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Búsqueda en grafos I 7 de febrero de 2018 1 / 36 1 Representación computacional de grafos
Más detalles5.6 Árbol generador de un grafo
88 5.6 Árbol generador de un grafo Definición 5.59. Sea G un grafo simple. Un árbol generador de G es un subgrafo de G que es un árbol y contiene todos los vértices de G. Ejemplo 5.60. Un grafo y algunos
Más detallesAlgoritmos para determinar Caminos Mínimos en Grafos
Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)
Más detallesTEMA 6 GRAFOS Fundamentos y terminología básica. Estructuras de datos Tema 6 Página 101
Estructuras de datos Tema 6 Página 101 GRAFOS TEMA 6 6.1. FUNDAMENTOS Y TERMINOLOGÍA BÁSICA...101 6.2. REPRESENTACIÓN DE GRAFOS...103 Representación mediante matrices: Matrices de adyacencia...103 Representación
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 detallesOrdenamiento topolo gico para la titulacio n de la FIME
Ordenamiento topolo gico para la titulacio n de la FIME INTRODUCCIÓN Hay que considerar una serie de situaciones para obtener un título en la FIME, estas consideraciones son una serie de pasos en los que
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 detallesTema 11. Estructura de datos Grafo
Tema 11. Estructura de datos Grafo http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales}@icc.uji.es Estructuras de datos y de la información
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 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 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 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 detallesCAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS
CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS Capítulo 3 Estructuras de datos estáticas 1/37 1. INTRODUCCIÓN Las estructuras de datos se utilizan, generalmente, para procesar una colección de valores que están
Más detallesTeoría de Grafos Introducción Grafos isomorfos
Capítulo 1 Teoría de Grafos 1.1. Introducción Definición. Denominaremos pseudomultigrafo a una terna (V,E, γ), donde V y E son conjuntos y γ : E {{u,v}: u,v V }. El conjunto V se denomina conjunto de vértices
Más detallesPropiedades (1/2) Soluciones Ejercicios Tema 14. Representación de Grafo (I) Propiedades (2/2) Grado del grafo: 6 V = 7 E = 12
Soluciones 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 detallesDimensionamiento y Planificación de Redes
Dimensionamiento y Planificación de Redes Tema 2. Algoritmos Sobre Grafos Calvo Departamento de Ingeniería de Comunicaciones Este tema se publica bajo Licencia: Crea:ve Commons BY- NC- SA 4.0 Búsqueda
Más detallesTodos los Pares de Rutas más Cortas (All-Pairs Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Todos los Pares de Rutas más Cortas (All-Pairs Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar todos los Pares de Rutas más Cortas 2 Encontrar las rutas
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 detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx Sus aristas son pares de vértices no ordenados, es decir si hay un camino del vértice i al vértice j, será exactamente el mismo camino del vértice j al vértice
Más detallesRuta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) 1 DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar la Ruta más Corta 2 Se requiere llegar de
Más detallesBúsqueda en espacio de estados
Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Abstracción Problema Representación como espacio de estados Implementación del
Más detallesGrafos. Leopoldo Taravilse. Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires. Training Camp 2012
Grafos Leopoldo Taravilse Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Training Camp 2012 Leopoldo Taravilse (UBA) Grafos TC 2012 1 / 78 Contenidos 1 Definiciones básicas Algoritmos
Más detalles