Tema 10- Grafos. Objetivos:
|
|
- Gregorio Venegas Hernández
- hace 7 años
- Vistas:
Transcripción
1 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 de un Grafo en Java: las clases Arista, Vertice y Grafo 5. Recorrido de un Grafo: ampliación de la clase Grafo 6. Caminos Mínimos en un Grafo sin y con Pesos (Dijkstra): la clase Java CaminosDelGrafo Objetivos: Estudio de la Representación de una Relación Binaria entre los Datos de una Colección mediante la estructura Grafo y algunas de sus aplicaciones más significativas. Ello permitirá recapitular y ampliar conceptos y estructuras que se han estudiado a lo largo del curso, como: la ventaja de re-utilizar el Software que presenta la POO, al estudiar las posibles Representaciones de un Grafo (Modelos Diccionario y Lista Con Punto de Interés ) y la implementación de las operaciones de Recorrido y cálculo de caminos mínimos sobre él (Modelos Cola y Cola de Prioridad) las características de las Representaciones Lineal, Jerárquica y No Lineal de los Datos de una Colección para, respectivamente, su Acceso Secuencial, su Recorrido en Profundidad y Anchura y la Búsqueda Dinámica Implementación en Java de un Grafo, que supondrá el diseño de las clases Arista, Vertice, Grafo y CaminosDelGrafo (ubicadas en el paquete grafos de estructurasdedatos)
2 Bibliografía básica: Weiss, M.A. Estructuras de datos en Java. Adisson-Wesley, 2. Capítulo, para conceptos sobre Grafos y Grafos Dirigidos Capítulo 22, apartado para el algoritmo de Dijkstra con Montículos de Emparejamiento Aho A.V., Hopcroft J.E., Ullman J.E. Estructuras de datos y Algoritmos. Addison-Wesley, 988. Capítulo 6 para conceptos sobre Grafos y Grafos Dirigidos Relaciones entre los Datos de la Colección 5 ) Representación Lineal 2) Representación Jerárquica Sea un Colección cuyos Datos son: ciudades aeropuertos computadores de una red puntos del plano de una ciudad carreteras vuelos enlaces calles Queremos modelar rutas entre ciudades rutas aéreas envío de correo electrónico recorridos turísticos 2
3 Relaciones entre los Datos de la Colección 5 Relación Binaria entre los Datos de la Colección ) Grafo cuyos Vértices se Relacionan vía Aristas Una Relación R sobre un Conjunto S se define como un Conjunto de Pares (a, b): a, b S si (a, b) R se escribe a R b y denota que a está Relacionado con b indica si cada Par de Datos del Conjunto están o no Relacionados 5 Conceptos básicos sobre Grafos Grafos Dirigidos y no Dirigidos Grafos Etiquetados Relaciones de Incidencia y Adyacencia Caminos 6
4 Conceptos básicos sobre Grafos: Grafos Dirigidos (Digrafos) Un Grafo Dirigido (gd) es un Par G = (V,E) V es un conjunto finito de Vértices (o Nodos o Puntos) E es un conjunto de Aristas (o Arcos) dirigidas Arista: Par ordenado de Vértices (u,v): u v 2 7 Conceptos básicos sobre Grafos: Grafos no Dirigidos (Grafos) Un Grafo no Dirigido (gnd) es un Par G = (V,E) V es un conjunto finito de Vértices E es un conjunto de Aristas no Dirigidas Arista: Par no ordenado de Vértices (u,v) = (v,u), u v : u v 2 8
5 Conceptos básicos sobre Grafos: Grafos Etiquetados Un Grafo Etiquetado es un grafo G = (V,E) sobre el que se define una función f: E A, dónde A es un conjunto cuyas componentes se llaman Etiquetas NOTA: la función de etiquetado se puede definir también sobre V, el conjunto de Vértices Un Grafo Ponderado es un Grafo Etiquetado (sus Aristas) con números Reales (A R) Ejemplos: discútase la necesidad de etiquetar/ponderar los Grafos asociados a las aplicaciones reseñadas en el primer punto del tema 9 Conceptos básicos sobre Grafos: Relaciones de Incidencia Sea G = (V,E) un Grafo Dirigido. Si (u,v) E, decimos que Incide desde u (sale de..) e Incide en v (llega a..) 2 Sea G = (V,E) un Grafo no Dirigido. Si (u,v) E, decimos que Incide sobre u y v 2 5
6 Conceptos básicos sobre Grafos: Relaciones de Adyacencia Sea G = (V,E) un Grafo. Si (u,v) E, decimos que el Vértice v es Adyacente al Vértice u 2 En un Grafo no Dirigido la relación es simétrica 2 Conceptos básicos sobre Grafos: Grado de un Vértice El Grado de un Vértice en un Grafo no Dirigido es el número de Aristas que Inciden sobre él ( Vértices Adyacentes ) 2 El Grado de un Vértice en un Grafo Dirigido es la suma de: el número de Aristas que salen de él (Grado de Salida) el número de Aristas que entran en él (Grado de Entrada) 2 2 6
7 Conceptos básicos sobre Grafos: Grado de un Grafo El Grado de un Grafo es el de su Vértice de máximo Grado 2 Conceptos básicos sobre Grafos: Caminos Un Camino de longitud k desde u a u en un grafo G=(V,E) es una secuencia de Vértices v,v,..,v k tal que: v o = u y v k = u i :..k : (v i-,v i ) E la longitud k del Camino es el número de Aristas la longitud del Camino con Pesos es la suma de los Pesos de las Aristas que forman el Camino Si hay un Camino P desde u hasta u, decimos que u es alcanzable desde u vía P 2 7
8 Conceptos básicos sobre Grafos: Caminos Simples y Ciclos Un Camino es Simple si todos sus Vértices son distintos En un Grafo Dirigido un Camino v,v,..,v k forma un Ciclo si: v o =v k el Camino contiene al menos una Arista El Ciclo es Simple si todos sus Vértices son distintos Un Bucle es un Camino de longitud Un Grafo Dirigido es Acíclico si no contiene Ciclos (GDA) 2 5 Conceptos básicos sobre Grafos: Caminos Simples y Ciclos En un Grafo no Dirigido un Camino v,v,..,v k forma un Ciclo si: v o =v k si todos los v i son distintos Un Grafo no Dirigido es Acíclico si no contiene Ciclos 2 6 8
9 Ejemplo: sea G = (V,E) un Grafo Dirigido con Pesos V={v,v, v 2, v, v, v 5, v 6, E={ (v,v, 2), (v,v, ), (v,v, ), (v,v, ), (v,v, 2), (v,v 6, ), (v,v 5, 8), (v,v 2, 2), (v 2,v, ), (v 2,v 5, 5), (v,v 6, 6), (v 6,v 5, ) Se pide:.- V y E 2.- Vértices adyacentes a cada v i.- Grado de cada v i y del Grafo.- Caminos desde v al resto de Vértices, su longitud con y sin Pesos 5.- Vértices alcanzables desde v 6.- Caminos mínimos desde v al resto de Vértices 7.- Tiene ciclos? Representación de un Grafo: Matriz de Adyacencia Un Grafo G=(V,E) se representa con una Matriz de V x V boolean: si (u,v) E, G[u,v] = true; sino G[u,v] = false Memoria: O( V 2 ) Tiempo de acceso: O() false true false false false false false true false true true false false false false false false false true false false false false false false true false false true false true false false false false false 8 9
10 Representación de un Grafo: Matriz de Adyacencia Un Grafo G=(V,E) se representa con una Matriz de V x V boolean: si (u,v) E, G[u,v] = true, sino G[u,v] = false false true false false true false true false false false true false false false false flase false true false false false false false false true true false false false false false false true false false false 9 Representaciones de un Grafo: Listas de Adyacencia Un Grafo G=(V,E) se representa con un array de V Listas de Vértices: G[v], v V, es una Lista de los Vértices Adyacentes a v Memoria: O( V + E ) Tiempo de acceso: O(Grado de G) X 2 X 5 2 X X X 5 2 X 2
11 Ejemplo propuesto: representar los siguientes Grafos 2 Implementación de un Grafo en Java: la clase GrafoV GrafoV representa un Grafo de Vértices sin Etiquetar, i.e. de tipo int de Aristas sin Pesos, i.e. Pares de int mediante Listas de Adyacencia (array de V Listas de Vértices) X 2 X 5 2 X X X 5 2 X 22
12 Implementación de un Grafo en Java: la clase GrafoV package grafos; import modelos.*; import lineales.*; public class GrafoV { /** Representa un Grafo Básico mediante Listas de Adyacencia * i.e. como un array de V Listas Con PI de Integer */ protected ListaConPI elarray[]; public GrafoV(int numvertices){... public void insertararista(int origen, int destino){... public String tostring(){... 2 package grafos; import modelos.*; import lineales.*; public class GrafoV { protected ListaConPI elarray[]; public GrafoV(int numvertices){ La clase GrafoV elarray = new ListaConPI[numVertices]; for ( int i=; i numvertices; i++ ) elarray[i] = new LEIListaConPI(); public void insertararista(int origen, int destino){ elarray[origen].inicio(); elarray[origen].insertar(new Integer(destino)); public String tostring() { String res = ; for ( int i = ; i < elarray.length; i++ ) if ( elarray[i].esvacia() ) res += Vértice +i+ sin Adyacentes ; else res += Vértice +i+ con Adyacentes +elarray[i].tostring(); return res; 2
13 Ejemplo propuesto: escríbase un programa cuya salida sea la que se muestra a continuación y dibújese el Grafo leído. Indique el número de Vértices del Grafo: 6 Grafo inicializado: Vértice sin Adyacentes Vértice sin Adyacentes Vértice 2 sin Adyacentes Vértice sin Adyacentes Vértice sin Adyacentes Vértice 5 sin Adyacentes Introduzca Arista (Par de Vértices separados por blancos): Grafo construido: Vértice con Adyacentes Vértice con Adyacentes Vértice 2 con Adyacentes 5 Vértice sin Adyacentes Vértice con Adyacentes Vértice 5 con Adyacentes 2 5 Implementación de un Grafo Ponderado en Java: la clase GrafoV GrafoV representa un Grafo de Vértices sin Etiquetar, i.e. de tipo int de Aristas con Pesos, Tripletes de int (origen, destino, coste) mediante Listas de Adyacencia (array de V Listas de Vértices) X (,) X (,2) (,8) (,7) (,7) X (,) X (,7) X 5 (2,7) X 26
14 La clase Java Arista package grafos; class Arista { int destino; int coste; Arista(int d, int c){ destino = d; coste = c; public String tostring(){ return destino + ( + coste+ ) ; 27 La clase GrafoV package grafos; import modelos.*; import lineales.*; public class GrafoV { protected ListaConPI elarray[]; public GrafoV(int numvertices){... public void insertararista(int origen, int destino, int coste){ elarray[origen].inicio(); elarray[origen].insertar(new Arista(destino, coste)); public String tostring(){... 28
15 Implementación de un Grafo Ponderado con Vértices Etiquetados en Java: la clase Grafo Grafo representa un Grafo de Vértices con Etiquetas, i.e. Pares (etiqueta, nº vértice) de Aristas con Pesos, i.e. Tripletes de int mediante Listas de Adyacencia ( array de V Vértices) 7 v 8 v 2 v v 7 v2 v5 7 2 (v, ) (v, ) (v2,x) (v, ) (v, ) (,) X (,2) (,8) (,7) (,7) X (,) X (,7) X 5 (v5, ) (2,7) X 29 La clase Java Vertice package grafos; import modelos.*; import lineales.*; class Vertice { String nombre; int codigo; ListaConPI listaady; Vertice(String n){ this(n, -); Vertice(String n, int c){ nombre = n; codigo = c; listaady = new LEIListaConPI(); Cómoobtener codigo de un Vértice a partir de su nombre? Al insertar un Vértice en un Grafo se actualiza un Diccionario de Vértices con una nueva Entrada tal que su clave == nombre y su codigo == ordeninsercionvertice 5
16 Ejemplo: inserción de una Arista, Par de Vértices, en Grafo Diccionario de Vértice s D C Vértice : D,? buscar(d) Grafo (vacío) V = Ejemplo: inserción de una Arista, Par de Vértices, en Grafo Diccionario de Vértice s D C Vértice : D,? buscar(d) ElementoNoEncontrado Grafo (vacío) V =
17 Ejemplo: inserción de una Arista, Par de Vértices, en Grafo Diccionario de Vértice s D C Vértice : D, insertar((d, )) Grafo V = D, D Ejemplo: inserción de una Arista, Par de Vértices, en Grafo Diccionario de Vértice s D C Vértice 2: C,? buscar(c) ElementoNoEncontrado Grafo V = D, D
18 Ejemplo: inserción de una Arista, Par de Vértices, en Grafo Diccionario de Vértice s D C Vértice 2: C, insertar((c, )) C, Grafo V = 2 D C D, Ejemplo: inserción de una Arista, Par de Vértices, en Grafo Diccionario de Vértice s D B 2 Vértice : D,? buscar(d) ElementoDuplicado Grafo V = 2 D C C, D,
19 La clase Grafo package grafos; import modelos.*; import excepciones.*; import lineales.*; import nolineales.*; public class Grafo { protected Vertice elarray[]; public Grafo(int numvertices){... public void insertararista(string no, String nd, int coste){... public String tostring(){... protected Diccionario dicvertices; protected int ordeninsercionvertice; public int insertarvertice(string no){... 7 public Grafo(int numvertices){ La clase Grafo public String tostring() { public void insertararista(string no, String nd, int coste){ 9
20 La clase Grafo public int insertarvertice(string nombrevertice) { int res = -; Vertice v = new Vertice(nombreVertice); try { res = ((Vertice)dicVertices.buscar(v)).codigo; catch(elementonoencontrado e){ res = v.codigo = ordeninsercionvertice; try { dicvertices.insertar(v); catch(elementoduplicado ed){; elarray[res] = v; ordeninsercionvertice++; return res; 9 Ejemplo propuesto: definir el método tostring en Grafo de forma que se muestren siempre los Vértices mediante sus etiquetas, y no con la representación numérica interna 2
21 Ejemplo propuesto: definir los siguientes métodos de la clase Grafo Método constructor para crear un Grafo a partir de la información de Aristas/Vértices leída desde un fichero Método para consultar el número total de Aristas de un Grafo Método para consultar el Grado de un Vértice dado de un Grafo (Grado de Salida si el Grafo es Dirigido) Método para consultar el Grado de un Grafo (Grado de Salida si el Grafo es Dirigido) Método para consultar si un Grafo está Vacío Método para consultar si una Arista dada pertenece a un Grafo Ejemplos resueltos: los que aparecen en los exámenes disponibles en la MicroWeb de la asignatura 2
OBJETIVOS Í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 detallesTema 14 Grafos y su Implementación en Java. Parte I. Objetivos. Bibliografía
Tema Grafos y su Implementación en Java Tema Grafos y su Implementación en Java Parte I Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general:.
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 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 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 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 8- Implementación de Pila, Cola y. Tema 8- Implementación de Pila, Cola y Lista con Punto de Interés. Representación Eficaz de una EDA
Tema 8- Implementación de Pila, Cola y Lista con Punto de Interés Tema 8- Implementación de Pila, Cola y Lista con Punto de Interés Índice general: 1. Representación Eficaz de una EDA Lineal 2. Implementación
Más detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
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 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 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 detallesGRAFOS. Prof. Ing. M.Sc. Fulbia Torres
ESTRUCTURAS DE DATOS 2006 Prof. DEFINICIÓN Un grafo consta de un conjunto de nodos(o vértices) y un conjunto de arcos (o aristas). Cada arco de un grafo se especifica mediante un par de nodos. Denotemos
Más detallesTema 6- Estructuras de Datos: Jerarquía de. Tema 6- Estructuras de Datos: Jerarquía de una EDA
Tema 6- Estructuras de Datos: Jerarquía de una EDA Tema 6- Estructuras de Datos: Jerarquía de una EDA Índice general: 1. Definición y Uso de una EDA 2. Diseño de una EDA en Java 3. Organización de una
Más detallesUn GRAFO O GRAFO NO ORIENTADO es una terna G = {V, A,ϕ } conv
DEFINICIÓN 1: Un GRAFO O GRAFO NO ORIENTADO es una terna G = {V, A,ϕ } conv φ donde: V = {v 1, v 2,, v n }: conjunto finito de vértices o nodos. A = {a 1, a 2,, a n }: conjunto finito de aristas o lados
Más detalles1. Árbol Binario de Búsqueda: Las clases Java NodoABB y ABB. 1. Definición y representación en Java 2. Operaciones y su coste estimado
Tema 11- Implementación de Cola de Prioridad y Diccionario Mediante un ABB Tema 11- Implementación de Cola de Prioridad y Diccionario Mediante un Árbol Binario de Búsqueda Germán Moltó Escuela Técnica
Más detallesTEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica
TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y
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 detallesEDA. Tema 8 Colas de Prioridad: Heaps
EDA. Tema 8 Colas de Prioridad: Heaps Natividad Prieto Sáez. DSIC EDA, T-8. Curso 02/03. N.Prieto p.1/55 Objetivos Estudio de las definiciones asociadas a las Colas de Prioridad: Especificación: operaciones
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 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 detallesTema 1: Introducción a la Teoría de Grafos
Tema 1: Introducción a la Teoría de Grafos MATEMÁTICA A DISCRETA Nociones básicas Subgrafos. Operaciones con grafos Formas de definir un grafo Isomorfismo de grafos Tema 1: 1 Nociones básicas: Grafo: G
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 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 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 detallesGrafos. Algoritmos y Estructuras de Datos III
Grafos Algoritmos y Estructuras de Datos III Grafos Un grafo G = (V, X ) es un par de conjuntos, donde V es un conjunto de puntos o nodos o vértices y X es un subconjunto del conjunto de pares no ordenados
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 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 detallesGrafos. CCIR / Depto Matemáticas CB102
CB102 Conceptos Los grafos son una técnica de modelación de problemas atractiva y útil. Problemas de diferentes áreas pueden ser modelados mediante su uso: redes de transporte de bienes de consumo, redes
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
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 detallesTema 5 Árboles y Grafos.
Tema 5 Árboles y Grafos. Definiciones básicas de teoría de grafos. Un grafo consta de un conjunto de nodos, un conjunto de aristas y una correspondencia f del conjunto de aristas al conjunto de nodos.
Más detallesEstructuras de Datos y Algoritmos. Programa de la asignatura
Estructuras de Datos y Algoritmos Programa de la asignatura Página Web: http://www.ctr.unican.es/asignaturas/eda Curso 2009-20010 DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour 1 4 Profesores Michael
Más detallesCapítulo 3: Grafos Clase 1: Grafos: Modelos, tipos, representación e isomorfismo
Capítulo 3: Grafos Clase 1: Grafos: Modelos, tipos, representación e isomorfismo Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 4: Grafos 1 / 35 Por qué estudiamos
Más detallesTema 12- Implementación de Cola de Prioridad y Ordenación Rápida según un Montículo Binario
Tema - Implementación de Cola de Prioridad y Ordenación Rápida según un Montículo Binario Tema - Implementación de Cola de Prioridad y Ordenación Rápida según un Montículo Binario Germán Moltó Escuela
Más detallesEstructuras de Datos y Algoritmos. Curso 2004/05 Tema 6. Árboles y Árboles Binarios
Estructuras de Datos y Algoritmos. Curso 2004/05 Tema 6. Árboles y Árboles Binarios Mabel Galiano Natividad Prieto Departamento de Sistemas Informáticos y Computación Escuela Técnica Superior de Informática
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 detallesTema 7- Modelo y Aplicación de Pila, Cola y. Tema 7- Modelo y Aplicación de. Lista Con Punto de Interés
Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Índice general:. Modelo y Aplicación de Lista con Punto de Interés
Más detallesAlgoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Más detallesUn árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:
Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente
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 detallesTema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7
Programación IV. Guía 7 1 Tema: Grafos en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Objetivos Específicos Definir el concepto de Grafo. A partir de una clase agregar la
Más detallesEl 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 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 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 detallesGrafos Los siete puentes de Königsberg: Teoría de Grafos
Grafos Los siete puentes de Königsberg: Un ciudadano de Königsberg (Prusia) se propuso dar un paseo cruzando cada uno de los siete puentes que existen sobre el río Pregel una sola vez. Los dos brazos del
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 detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 12 de septiembre de 2013 Disponer sobre la mesa en lugar visible un documento
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 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 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 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 detallesExamen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
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 detallesPráctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
Más detallesALGORITMOS Y ESTRUCTURAS DE DATOS
ALGORITMOS Y ESTRUCTURAS DE DATOS Año 2017 Carrera/ Plan: Licenciatura en Informática Plan 2003-07/2012/2015 Licenciatura en Sistemas Plan 2003-07/2012/2015 Analista Programador Universitario Plan 2007/2015
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 detallesA5 Introducción a la optimización en redes
48 Materials David Pujolar Morales A5 Introducción a la optimización en redes Definición 1. Grafo finito. Sea un V un conjunto no vacío con un número finito de elementos y E una familia finita de pares
Más detallesEn 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} }
Unidad 1 Parte 1 - Teoría de Grafos Introducción En este capítulo veremos la noción matemática de grafo y propiedades de los mismos. En capítulos subsiguientes veremos las estructuras de datos utilizadas
Más detallesProgramación de sistemas
Programación de sistemas Árboles Julio Villena Román MATERIALES CREADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, M.Carmen Fernández Panadero, Raquel M.Crespo García,
Más detallesUNIVERSIDAD TECNOLÓGICA DEL CHOCÓ Diego Luís Córdoba FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA EN TELECOMUNICACIONES E INFORMÁTICA
UNIVERSIDAD TECNOLÓGICA DEL CHOCÓ Diego Luís Córdoba FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA EN TELECOMUNICACIONES E INFORMÁTICA Programa: Materia Profesor Semestre Período Ingeniería en Telecomunicaciones
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 detallesEstructuras de Datos Clase 14 Árboles binarios de búsqueda
Estructuras de Datos Clase 14 Árboles binarios de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
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 detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesTAD CONJUNTOS Y MULTICONJUNTOS
TAD CONJUNTOS Y MULTICONJUNTOS INTRODUCCIÓN Qué es un conjunto? Un conjunto en matemática es una colección de objetos. Los objetos no mantienen ninguna relación aparente entre ellos y tampoco están obligados
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 detallesINTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)
APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java
Más detallesCapítulo 7. Grafos. Continuar
Capítulo 7. Grafos Continuar Introducción Uno de los primeros resultados de la teoría de grafos fue el que obtuvo Leonhard Euler en el siglo XVIII al resolver el problema de los puentes de Königsberg.
Más detallesFrancis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3
INTRODUCCION GRAFOS La Teoria de Grafos nace del análisis sobre una inquietud presentada en la isla Kueiphof en Koenigsberg (Pomerania) ya que el río que la rodea se divide en dos brazos. Sobre los brazos
Más detallesTema 14 Grafos y su Implementación en Java. Parte II. Recorrido en Profundidad (DFS) de un Grafo. Recorrido de un Grafo: Ampliación de la clase Grafo
Tema Grafos y su Implementación en Java Tema Grafos y su Implementación en Java Parte II Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general:.
Más detallesClase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño
Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos
Más detallesEstructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010
Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del
Más detallesTEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar
TEORIA DE GRAFOS Estructuras Discretas Ing. Jenny Paredes Aguilar INTRODUCCION Teoria de grafos se usa en numerosos problemas cuantificables, en las organizaciones, intervienen una serie de elementos entre
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 detallesDEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS
DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación Un dato
Más detallesLos elementos de V son los vértices (o nodos) de G y los elementos de A son las aristas (o arcos) de G.
MATERIAL TEÓRICO º Cuatrimestre Año 03 Prof. María Elena Ruiz Prof. Carlos Roberto Pérez Medina UNIDAD III: GRAFOS Definición: Llamaremos grafo a una terna G= (V, A, ϕ), donde V y A son conjuntos finitos,
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 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 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. 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 detalles3.3. Pilas 3.3. PILAS 3
3.3. PILAS 3 3.3. Pilas Una Pila es una estructura de datos lineal que sólo permite insertar, eliminar y consultar elementos en uno de sus extremos, que denominamos cima. Es, por tanto, una estructura
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 detallesHERRAMIENTA DE DEMOSTRACIÓN Y AUTOAPRENDIZAJE PARA ESTRUCTURAS DE DATOS
HERRAMIENTA DE DEMOSTRACIÓN Y AUTOAPRENDIZAJE PARA ESTRUCTURAS DE DATOS Carlos Herrero Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Resumen Se presenta una herramienta
Más detallesDefiniciones y ejemplos.
V. Grafos Definiciones y ejemplos. Módulo 5 DEF. Sea V un conjunto finito no vacío, y sea El par (V, E) es llamada entonces grafo dirigido en V, donde V es el conjunto de vértices o nodos y E es su conjunto
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 detallesUnidad Nº V Listas Enlazadas
Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detalles1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.
Análisis de Algoritmos Ingeniería Informática, EPS-UAM Información general Organización del curso: 13-15 (mínimo-máximo) semanas docentes: 30-33 clases teóricas. 9-12 clases de problemas 26-30 clases prácticas
Más detallesUniversidad Tecnológica Nacional Facultad Regional Buenos Aires. Gestión de Datos. Teoría de Grafos
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Gestión de Datos Teoría de Grafos Ing. Enrique Reinosa Julio 2007 Índice Grafos... 3 Conceptos y Definiciones... 3 Caminos, pasos y ciclos...
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 detallesEjercicio 1 (proyecto prlistas, paquete listas)
PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.
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 detallesARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II
ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II Contenido Concepto Características y Propiedades Tipos de Arboles 1. Libres 2. Binarios 3. Expansión Mínima Algoritmo de Kruskal Algoritmo Prim
Más detallesCLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;
Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja
Más detallesAlgoritmos y Estructuras de Datos. Guillermo Román Díez
Algoritmos y Estructuras de Datos Árboles Generales y Árboles Binarios Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/22
Más detallesTema: Los Grafos y su importancia para la optimización de redes.
Tema: Los Grafos y su importancia para la optimización de redes. Qué son los Grafos? Un grafo es una dupla G= {X,U}, donde X es un conjunto finito y no vacio de elementos llamados vértices y U es el conjunto
Más detallesTema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es
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 detallesIntroducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens
Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,
Más detalles