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

Documentos relacionados
Grafos. 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.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Tema 5 Árboles y Grafos.

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.

1. GRAFOS : CONCEPTOS BASICOS

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS. Investigación de Operaciones

Introducción a los árboles. Lección 11

Estructura de Datos. Estructuras de Datos no lineales : Árboles

Grafos Los siete puentes de Königsberg: Teoría de Grafos

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Teoría de grafos y optimización en redes

Álgebra y Matemática Discreta

Indice. 1. Tipos de grafos. 2. Conceptos Básicos 3. Representación de grafos 4. Subgrafos. Grafos complementarios

Tema 1: Introducción a la Teoría de Grafos

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Formulación del problema de la ruta más corta en programación lineal

Análisis de Algoritmos Teoría de grafos

Arboles Binarios de Búsqueda en C++

Grafos: Fundamentos Representaciones, etc. Jose Aguilar

Tema: Algoritmos para la ruta más corta en un Grafo.

A5 Introducción a la optimización en redes

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

Tema 1: Matrices. October 13, 2016

Los elementos de V son los vértices (o nodos) de G y los elementos de A son las aristas (o arcos) de G.

Capítulo 3: Grafos Clase 1: Grafos: Modelos, tipos, representación e isomorfismo

TEMA 5 El tipo grafo. Tipo grafo

Los grafos son estructuras de datos Representan relaciones entre objetos. Son aplicables en. Relaciones arbitrarias, es decir No jerárquicas.

Grafos. Amalia Duch Brown Octubre de 2007

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

Tema 5: Grafos. CIS - UABJB - Estructura de Datos II Ing. Freddy Melgar Algarañaz 1

Definiciones y ejemplos.

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

2007 Carmen Moreno Valencia

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

El TAD Grafo. El TAD Grafo

Teoría de Grafos Introducción Grafos isomorfos

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Universidad Tecnológica Nacional Facultad Regional Buenos Aires. Gestión de Datos. Teoría de Grafos

Ejercicios de Grafos Hoja 1 2 curso I.T.I.S. Universidad de Salamanca 2009/10

Grafos. 19 de diciembre de 2013

Estructuras de Datos y Algoritmos

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

Capítulo 7. Grafos. Continuar

Teoría de Grafos. Herramientas de programación para procesamiento de señales

Tema: Los Grafos y su importancia para la optimización de redes.

Taller de grafs: rutes, mapes i xarxes socials

Francis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3

Tema: Algoritmos para la ruta más corta en un Grafo.

UNIDAD 9. DATOS COMPLEJOS PILAS

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:

Estructura de Datos Página 1 de 13 ESTRUCTURA DE DATOS

GRAFOS. 1. La matriz de adyacencia del grafo G es

Estructuras Dinámicas de datos.

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz

TEMA IV TEORÍA DE GRAFOS

OBJETIVOS ÍNDICE BIBLIOGRAFÍA

Un GRAFO O GRAFO NO ORIENTADO es una terna G = {V, A,ϕ } conv

Capítulo 4: Grafos Clase 4: Árboles

El TAD Grafo. Objetivos. Contenidos

AnAnálisis de redes de transporte Tr. Muchas veces se utiliza en aplicaciones que nada tienen que ver con el transporte

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002

es una matriz de 3 filas y 2 columnas, donde por ejemplo el elemento es 4.

Tema 7: Optimización sobre Redes Muchos de los problemas de Investigación Operativa pueden modelizarse y resolverse sobre un grafo: conjunto de

Matemáticas 2ºBachillerato Aplicadas a las Ciencias Sociales

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

Grafos. Algoritmos y Estructuras de Datos III

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Caminos y Flujos optimales. 2da y 3er clase 2007

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ

Tema 10- Grafos. Objetivos:

Representaciones Matriciales de Grafos Isomorfismos de Grafos Grafos Planos. Matemática Discreta. Agustín G. Bonifacio UNSL. Teoría de Grafos III

Modelos de Redes: Árbol. M. En C. Eduardo Bustos Farías

Apuntes elaborados por: Aaron Asencio, Eduardo Quevedo, Raquel López Revisado por: Javier Miranda el???

Grafos. CCIR / Depto Matemáticas CB102

2.- TIPOS DE MATRICES

Estructuras de Datos Orientadas a Objetos. Pseudocódigo y aplicaciones en C#.NET. Capítulo 9.- Grafos

Hamilton, Euler y Dijkstra

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Algebra Matricial y Teoría de Grafos

Fundamentos de Investigación de Operaciones Modelos de Grafos

GRAFOS. Tomado de: Joyanes Aguilar Luis, Estructuras de datos en Java. CASOS

Unidad 1 Introducción a la teoría de gráficas

Clase 8 Matrices Álgebra Lineal

Seminario de problemas. Curso Hoja 1

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

El TAD Grafo. El TAD Grafo

TEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar

Acerca del Algoritmo de Dijkstra

Grafos (principiantes) - Parte I

Sesión 4: Teoría de Grafos

UNIVERSIDAD TECNOLOGICA DE PEREIRA PROGRAMA DE TECNOLOGIA ELECTRICA

Algoritmos sobre Grafos

Matemáticas Básicas para Computación

Transcripción:

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 y distribución.

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 Los grafos es una estructura de datos no lineal y que tiene gran número de aplicaciones. El estudio del análisis de grafos ha interesado a los matemáticos durante siglos y representa una parte importante de la teoría combinatoria en matemáticas. Para la teoría de grafos existen algoritmos que permiten su solución por computadora.

Los árboles binarios representan estructuras jerárquicas con limitaciones de dos subárboles por cada nodo. Si se eliminan las restricciones de que cada nodo puede apuntar a otros nodos --como máximo- y que cada nodo puede estar apuntado por otro nodo --como máximo- nos encontramos con un grafo.

Definición un grafo es un conjunto de puntos(nodos) - una estructura de datos- y un conjunto de líneas, cada una de las cuales une un punto a otro. Los puntos se llaman nodos o verticales del grafo y las líneas se llaman aristas o arcos (edges).

Se representan el conjunto de vértices de un grafo dado G por V G y el conjunto de arcos por A G. Por ejemplo, en el grafo G. V G = {a,b,c,d} y A G = {1,2,3,4,5,6,7,8}

El número de elementos de V G se llama orden del grafo. Un grafo nulo es un grafo de orden cero. Una arista se representa por los vértices que conecta. La arista 3 conecta los vértices b y c, y se representa por V(b,c). Algunos vértices pueden conectar un nodo consigo mismo; por ejemplo, el vértice 8 tiene el formato V(a,a). Estas aristas se denominan bucles o lazos.

Un grafo G se denomina sencillo si se cumplen las siguientes condiciones: 1. No tiene lazos, es decir, no existe un arco en A G de la forma (V,V), donde está en V G. 2. No existe más que un arco para unir dos nodos, es decir, no existe más qué un arco (V 1, V 2 para cualquier par de vértices V 1, V 2.

Grafo sencillo

Un grafo que no es sencillo se-denomina grafo múltiple. Un camino es una secuencia de uno o más arcos que conectan dos nodos. Representaremos por C (V i, V j ) un camino que conecta los vértices V 1 y V 2. La longitud de un camino es el número de arcos que lo comprenden. En el grafo anterior existen los siguientes caminos entre los nodos b y d.

C(b,d) = (b,c) (c,d) longitud = 2 C(b,d) = (b,c) (c,b) (b,c) (c,d) longitud = 4 C(b,d) = (b,d) longitud = 1 C(b,d) = (b,d) (c,b) (b,d) longitud = 3 Dos vértices se dice que son adyacentes si hay un arco que los une. Sí, V i y V j son adyacentes si existe un camino que los une. Esta definición es muy general y normalmente se particulariza; si existe un camino desde A a B, decimos que A es adyacente a B y B es adyacente desde A

existen dos tipos de grafos. dirigidos los vértices apuntan unos a otros; los arcos están dirigidos o tienen dirección; no-dirigidos los vértices están relacionados, pero no se apuntan unos a otros; la dirección no es importante

Grafos Dirigidos y no dirigidos

grafo conectado existe siempre un camino que une dos vértices cualesquiera;. grafo desconectado existen vértices que no están unidos por un camino.

Grafos conectados y no conectados

Un grafo completo es aquel en que cada vértice está conectado con todos y cada uno de los restantes nodos. Si existen n vértices, habrá n(n -1) aristas en un grafo completo y dirigido, y n(n-1)/2 aristas en un grafo no dirigido completo

Grafos completos

Un grafo ponderado o con peso es aquel en el que cada arista tiene un valor. Los grafos con peso suelen ser muy importantes, ya que pueden representar situaciones de gran interés; por ejemplo, los vértices pueden ser ciudades y las aristas distancias o precios del pasaje de ferrocarril o avión entre ambas ciudades. Eso nos puede permitir calcular cuál es el recorrido más económico entre dos ciudades, sumando los importes de los boletos de las ciudades existentes en el camino y así poder tomar una decisión acertada respecto al viaje e incluso estudiar el posible cambio de medio de transporte: avión o automóvil, si éstos resultan más económicos.

La solución de encontrar el camino más corto, el de menor precio o más económico entre dos vértices de un grafo, es un algoritmo importante en la teoría de grafos. (El algoritmo de Dijkstra es un algoritmo tipo para la solución de dichos problemas.) Representación de grafos Existen dos técnicas estándar para representar un grafo G: la matriz de adyacencia (mediante arreglos) y la lista de adyacencia (mediante apuntadores/listas enlazadas)

Matriz de adyacencia La matriz de adyacencia M es un arreglo de dos dimensiones que representa las conexiones entre pares de verticales. Sea un grafo G con un conjunto de nodos V G y un conjunto de aristas A G. Supongamos que el grafo es de orden N, donde N > = 1. La matriz de adyacencia M se representa por un arreglo n x n, donde: M (i, j) = 1 si existe una arista( V i, V j ) en A G, V i es adyacente a V j 0 en caso contrario

Las columnas y las filas de la matriz representan los vértices del grafo. Sí existe arista desde i a j (esto es, el vértice i es adyacente a j), el costo o peso de la arista de i a j se introduce; si no existe la arista, se introduce un 0; lógicamente, los elementos de la diagonal principal son todos ceros, ya que el costo de la arista i a i es 0.

Si G es un grafo no dirigido, la matriz es simétrica M (i, j) = M (j, i). La matriz de adyacencia del grafo

Si el grafo fuese dirigido, su matriz resultante sería:

Si se tiene que deducir la matriz de adyacencia del grafo siguiente: matriz de adyacencia resultante de este grafo, cuyos vértices representan ciudades y los pesos de las aristas, los precios de pasajes de avión en dólares es

SF LA LV KC NY SF 1000 LA 1000 390 2000 LV 390 3000 2500 KC 2200 3000 NY 1500 3500

Lista de adyacencia El segundo método utilizado para representar grafos es útil cuando un grafo tiene muchos vértices y pocas aristas; es la lista de adyacencia. Para representación se usa una lista enlazada por cada vértice v del grafo que tenga vértices adyacentes desde él. El grafo completo incluye dos partes: un directorio un conjunto de listas enlazadas

Hay una entrada en el directorio por cada nodo del grafo. La entrada en el directorio del nodo i apunta a una lista enlazada que representa los nodos que son conectados al nodo i. Cada registro de la lista enlazada tiene dos campos: un identificador de modo. un enlace al siguiente elemento de la lista La lista enlazada representa arcos.

la lista de adyacencia del grafo

Un grafo no dirigido de orden N con A arcos requiere N entradas en el directorio y 2 * A entradas de listas enlazadas, excepto si existen ciclos que reducen el número de listas enlazadas en 1 Un grafo dirigido de orden N con A arcos requiere N entradas en el directorio y A entradas de listas enlazadas.

Por ejemplo en el ejercicio anterior la lista de adyacencia del grato seria:

La elección de la representación depende del algoritmo particular que se quiere implementar y si el grafo es "disperso" o "denso". Un grafo disperso es en el que el número de vértices N es mucho mayor que el número de arcos. En un grafo denso el número de arcos se acerca al máximo.

Ejercicio Sea un grafo con aristas ponderadas. Los vértices representan ciudades y las aristas las rutas utilizadas por los camiones de una empresa de transporte de mercancías. Cada arista está rotulada con la distancia entre las parejas de ciudades enlazadas directamente

En este caso utilizaremos una matriz triangular

NOTA: Obsérvese como consecuencia de este ejemplo que las aristas ponderadas tienen una gran aplicación. En transporte comúnmente representan distancias, precios de boleto, tiempos. En hidráulica, capacidades. Por ejemplo, el caudal de un oleoducto entre diferentes ciudades litros/segundo.