Clasificación de Grafos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Clasificación de Grafos"

Transcripción

1 Grafos

2 Clasificación de Grafos Los grafos se utilizan en aplicaciones muy diversas (redes de comunicaciones, redes de transporte, circuitos, planificación de tareas) cada una de las cuales utiliza una noción distinta de grafo. Los grafos de pueden clasificar atendiendo Al número de arcos que puedan existir entre dos nodos: Grafos múltiples (vuelos entre aeropuertos) Grafos simples (líneas de ferrocarril) A la orientación de los arcos: Grafos orientados (vuelos entre aeropuertos) Grafos no orientados (red de carreteras, líneas de teléfono) A la existencia de funciones definidas sobre los arcos o los nodos: Grafos no valorados Grafos valorados (red de carreteras con kms, vuelos con duración) Grafos 2

3 Nociones de Grafo Orientado La noción más general corresponde a un grafo orientado con posibilidad de múltiples arcos entre dos nodos (grafo múltiple orientado): G = (N,A,o,d) N conjunto de nodos A conjunto de arcos o,d : A -> N aplicaciones origen y destino Cuando sólo se admite la posibilidad de un arco, a lo más, entre cada dos nodos (grafo simple orientado), cada arco a puede identificarse con el par de nodos (o(a),d(a)) y los grafos con las relaciones binarias entre nodos: G = (N, A), con A N N. Grafos 3

4 Grafos orientados Los grafos orientados se pueden generar de muchas formas: a partir de un conjunto inicial de nodos aislados, estableciendo arcos entre dichos nodos; a partir de un conjunto inicial de nodos aislados, estableciendo arcos que pueden involucrar nuevos nodos; a partir de un conjunto inicial de nodos, añadiendo conjuntos de sucesores a los nodos establecidos; a partir de un conjunto vacío de arcos añadiendo arcos (y sus correspondientes nodos).... Grafos 4

5 Grafos múltiples orientados Los grafos múltiples orientados se pueden representar también como pares G = (N,{(a,o(a),d(a)) a A}) donde las aplicaciones o y d quedan definidas de forma implícita. Estas representaciones se pueden generar, de forma incremental, a partir de un conjunto inicial de nodos aislados añadiendo tripletas (a,n1,n2) en las que n1 y n2 pueden ser nodos del conjunto inicial o pueden ser nodos nuevos. Grafos 5

6 Grafos Múltiples Orientados (I) (fmod GRAFOmOR [N :: TRIV; A :: TRIV] is protecting CONJUNTO[N]. protecting CONJUNTO[A]. protecting LISTA[A]. sorts GMO[N,A] Elt?. subsort Cj[N] < GMO[N,A]. subsort Elt.N < Elt?. op _[_:_->_] : GMO[N,A] Elt.A Elt.N Elt.N -> GMO[N,A] [ctor]. var G: GMO[N, A]. vars N1 N2 N3 N4: Elt.N. vars A1 A2: Elt.A. eq G[A1:N1->N2][A2:N3->N4] = if A1 == A2 then G[A2:N3->N4] else G[A2:N3->N4][A1:N1->N2] fi. Grafos 6

7 Grafos Múltiples Orientados (II) op arcos : GMO[N,A] -> Cj[A]. op borrararc : Elt.A GMO[N,A] -> GMO[N,A]. op nodos : GMO[N,A] -> Cj[N]. op sucs : Elt.N GMO[N,A] -> Cj[N]. ops origen destino : Elt.A GMO[N,A] -> Elt?.N. op escamino? : ListaNv[A] GMO[N,A] -> Bool. ops origen destino : ListaNv[A] GMO[N,A] -> Elt?. var C: Cj[N]. var L : ListaNv[A]. eq arcos(c) = {}. eq arcos(g[a1:n1->n2]) = {A1,arcos(G)}. eq borrararc(a2,c) = C. eq borrararc(a2,g[a1:n1->n2]) = if A2 == A1 then borrararc(a2,g) else (borrararc(a2,g))[a1:n1->n2] fi. Grafos 7

8 Grafos Múltiples Orientados (III) eq nodos(c) = C. eq nodos(g[a1:n1->n2]) = {N2,{N1,nodos(borrarArc(A1,G))}}. eq sucs(n3,c) = {}. eq sucs(n3,g[a1:n1->n2]) = if N3 == N1 then {N2,sucs(N3,borrarArc(A1,G))} else sucs(n3,borrararc(a1,g)) fi. eq origen(a2,g[a1:n1->n2]) = if A2 == A1 then N1 else origen(a2, G) fi. eq destino(a2,g[a1:n1->n2]) = if A2 == A1 then N2 else destino(a2,g) fi. Grafos 8

9 Grafos Múltiples Orientados (IV) eq escamino?(a1:nil,g) = pertenece?(a1,arcos(g)). eq escamino?(a1:l,g) = if pertenece?(a1,arcos(g)) then (destino(a1) == origen(cabeza(l))) and escamino?(l,g) else false fi. eq origen(l,g) = origen(cabeza(l),g). eq destino(a1:nil,g) = destino(a1,g). eq destino(a1:l,g) = destino(l,g). endfm) Grafos 9

10 Ejercicios Especificad, para grafos múltiples orientados, las operaciones siguientes: preds : Elt.N GMO[N] -> Cj[N] existearco? : Elt.N Elt.N GMO[N] -> Bool borrarnodo : Elt.N GMO[N] -> GMO[N] que determinen, para un grafo dado, el conjunto de predecesores de un nodo, si existe un arco entre dos nodos y el grafo resultante de eliminar un cierto nodo (y los arcos relacionados), respectivamente. Volved a enunciar la especificación de grafo múltiple orientado con la restricción de que sólo se puedan añadir arcos con los extremos dentro del conjunto inicial de nodos. Grafos 10

11 Grafos simples orientados Los grafos simples orientados se pueden representar como pares G = (N,A) donde el conjunto de arcos A es un conjunto de pares de nodos. Estas representaciones se pueden generar también, de forma incremental, a partir de un conjunto inicial de nodos aislados, añadiendo pares (n1, n2), siendo n1 y n2 nodos del conjunto inicial o nodos nuevos, incrementando así el conjunto de arcos y posiblemente el conjunto de nodos. Grafos 11

12 Grafos simples orientados (I) (fmod GRAFOsOR [N :: TRIV] is protecting CONJUNTO[N]. protecting LISTA[N]. sort GSO[N]. subsort Cj[N] < GSO[N]. op _[_ -> _] : GSO[N] Elt.N Elt.N -> GSO[N] [ctor]. op borrararc : Elt.N Elt.N GSO[N] -> GSO[N]. op nodos : GSO[N] -> Cj[N]. op sucs : Elt.N GSO[N] -> Cj[N]. op esarco? : Elt.N Elt.N GSO[N] -> Bool. op escamino? : ListaNv[N] GSO[N] -> Bool. vars N1 N2 N3 N4 : Elt.N. var G : GSO[N,A]. var C : Cj[N]. var L : ListaNv[N]. Grafos 12

13 Grafos simples orientados (II) eq G[N1->N2][N3->N4] = if (N1 == N3) and (N2 == N4) then G[N1->N2] else G[N3->N4][N1->N2] fi. eq nodos(c) = C. eq nodos(g[n1->n2]) = {N1, {N2,nodos(G)}}. eq esarco?(n1,n2,c) = false. eq esarco?(n1,n2,g[n3->n4]) = if (N1 == N3) and (N2 == N4) then true else esarco?(n1,n2,g) fi. eq sucs(n3,c) = {}. eq sucs(n3,g[n1->n2]) = if N3 == N1 then {N2,sucs(N3,G)} else sucs(n3,g) fi. Grafos 13

14 Grafos simples orientados (III) eq borrararc(n3,n4,c) = C. eq borrararc(n3,n4,g[n1->n2]) = if (N3 == N1) and (N4 == N2) then borraarc(n3,n4,g) else (borraarc(n3,n4,g))[n1->n2] fi. eq escamino?(l,c) = false. eq escamino?(n1:nil,g) = false. eq escamino?(n1:l,g) = if cola(l) == nil then esarco?(n1,cabeza(l),g) else esarco?(n1,cabeza(l),g) and escamino?(l,g) fi. endfm) Grafos 14

15 Recorridos sobre Grafos (I) La mayoría de las operaciones importantes que se realizan sobre un grafo (cálculo de caminos, caminos mínimos, componentes conexas, etc.) requieren de un recorrido sobre el grafo. Los grafos se pueden recorrer en profundidad y en amplitud. El primero se utiliza para identificar propiedades estructurales y el segundo para propiedades en las que las características estructurales no son relevantes. A diferencia de los árboles, cuando se elimina un nodo en un grafo el número de componentes conexas que resulta puede ser menor que el número de sucesores del nodo. Algún sucesor, o incluso el propio nodo, puede ser alcanzable desde otro sucesor. Grafos 15

16 Recorridos sobre Grafos (II) En consecuencia, para recorrer un grafo hay que utilizar: algún procedimiento para seleccionar nodos y algún procedimiento para marcar los nodos visitados de manera que no se vuelva a ellos. Se necesita una ordenación de los nodos para que se pueda construir una lista a partir del conjunto de nodos (lista de candidatos) que marque un orden de visita. De la lista de candidatos se saca el primer nodo y, si no ha sido visitado, pasa al final del recorrido y la lista de sus sucesores se incorpora a la lista de candidatos al comienzo (recorrido en profundidad) o al final (recorrido en amplitud); en cambio, si ha sido visitado, se quita y se considera el candidato siguiente. Grafos 16

17 Recorridos sobre Grafos (III) (fmod GSORECORRIDOS [N :: TOSET] is protecting GRAFOsOR[Ord][N]. protecting CONJUNTOORD[N]. op listaprof : GSO[Ord][N] -> Lista[Ord][N]. op ilistaprof: GSO[Ord][N] Lista[Ord][N] Lista[Ord][N] -> Lista[Ord][N]. op listaamp : GSO[Ord][N] -> Lista[Ord][N]. op ilistaamp: GSO[Ord][N] Lista[Ord][N] Lista[Ord][N] -> Lista[Ord][N]. op elimlista : Lista[Ord][N] Cj[Ord][N] -> Cj[Ord][N]. var N1 : Elt.N. vars L1 L2 : Lista[Ord][N]. var G : GSO[Ord][N]. var C : Cj[Ord][N]. Grafos 17

18 Recorridos sobre Grafos (IV) eq listaprof(g) = ilistaprof(g,listado(nodos(g)),nil). eq ilistaprof(g,nil,l1) = L1. eq ilistaprof(g,n1:l1,l2) = if esta(n1,l2) then ilistaprof(g,l1,l2) else ilistaprof(g,listado(sucs(n1,g))++l1,l2++(n1:nil)) fi. eq listaamp(g) = ilistaamp(g,cabeza(listado(nodos(g))),nil). eq ilistaamp(g,nil,l1) = if longitud(l1)==card(nodos(g)) then L1 else ilistaamp(g,cabeza(listado(elimlista(l1,nodos(g)))),l1) fi. eq ilistaamp(g,n1:l1,l2) = if esta(n1,l2) then ilistaamp(g,l1,l2) else ilistaamp(g,l1++listado(sucs(n1,g)),l2++(n1:nil)) fi. eq elimlista(nil,c) = C. eq elimlista(n1:l1,c) = elimlista(l1,eliminar(n1,c)). endfm) Grafos 18

19 Ejercicios Especificar cada una de las operaciones siguientes sobre grafos simples orientados con recorridos: accesibles : Elt.N GSO[N] -> Lista[Ord][N]. haycamino? : Elt.N Elt.N GSO[N] -> Bool. equivalentes? : Elt.N Elt.N GSO[N] -> Bool. aciclico? : GSO[N] -> Bool. fconexo : GSO[N] -> Bool. que determinen, respectivamente, el conjunto de nodos que se pueden alcanzar desde un nodo dado, si hay un camino desde el primer nodo al segundo, si hay caminos para pasar de cada uno de los nodos al otro, si no existen ciclos en el grafo o si el grafo es fuertemente conexo (hay un nodo equivalente con todos los demás) Grafos 19

20 Grafos como conjuntos de arcos Los grafos simples orientados G = (N, A), cuando no se contempla la posibilidad de nodos aislados, se pueden considerar como conjuntos de arcos, es decir, como conjuntos de pares de nodos. Estas representaciones se pueden generar, de forma parecida a las funciones parciales, a partir de un conjunto vacío de arcos, agregando arcos uno a uno. Grafos 20

21 Grafos: conjuntos de arcos (I) fmod GRAFOor [N :: TRIV] is protecting CONJUNTO[N]. protecting LISTA[N]. sort GSO[N]. op gfov : -> GSO[N] [ctor]. op _ (_->_) : GSO[N] Elt.N Elt.N -> GSO[N] [ctor]. op nodos : GSO[N] -> Cj[N]. op sucs : Elt.N GSO[N] -> Cj[N]. op borrararc : Elt.N Elt.N GSO[N] -> GSO[N]. op esarco? : Elt.N Elt.N GSO[N] -> Bool. op escamino? : ListaNv[N] GSO[N] -> Bool. vars N1 N2 N3 N4 : Elt.N. var G : GSO[N]. var L : ListaNv[N]. eq G(N1->N2)(N3->N4) = if (N1==N3 and N2==N4) then G(N1->N2) else G(N3->N4)(N1->N2) fi. Grafos 21

22 Grafos: conjuntos de arcos (II) eq nodos(gfov) = {}. eq nodos(g(n1->n2)) = {N1,N2,nodos(G)}. eq sucs(n3,gfov) = {}. eq sucs(n3,g(n1->n2)) = if N3 == N1 then {N2,sucs(N3,G)} else sucs(n3,g) fi. eq borrararc((n3->n4),gfov) = gfov. eq borrararc((n3->n4),g(n1->n2)) = if N3 == N1 and N4 == N2 then borrararc((n3->n4),g) else (borrararc((n3->n4),g))(n1->n2) fi. eq esarco?(n3,n4,gfov) = false. eq esarco?(n3,n4,g(n1->n2)) = if N3 == N1 and N4 == N2 then true else esarco?(n3,n4,g) fi. eq escamino?(n1:nil,g) = false. eq escamino?(n1:l,g) = if cola(l) == nil then esarco?(n1,cabeza(l),g) else esarco?(n1,cabeza(l),g) and escamino?(l,g) fi. endfm) Grafos 22

23 Grafos no Orientados Los grafos no orientados se caracterizan porque en ellos, el orden de los extremos de los arcos no tiene ninguna relevancia. En el caso de grafos múltiples serían grafos con una función extremo definida sobre los arcos (en lugar de las funciones o y d), que asigna un conjunto de dos nodos a cada arco. En el caso de los grafos simples se pueden identificar con aquellos correspondientes a relaciones simétricas (por cada arco a->b debe haber otro b->a). En cualquier caso siempre se puede enunciar una especificación adecuada a grafos no orientados con nomenclatura propia donde cada eje a<->b es equivalente a b<->a. Grafos 23

24 Grafos no Orientados (I) (fmod GRAFOsNOr [N :: TOSET] is protecting CONJUNTOORD[N]. protecting LISTA[Ord][N]. sorts GsNo[N] GsNo?[N]. subsorts Cj[Ord][N] < GsNo[N] < GsNo?[N]. op conectar : Elt.N Elt.N GsNo[N] -> GsNo?[N] [ctor]. -- solo nodos del conjunto inicial op nodos : GsNo[N] -> Cj[Ord][N]. op adyacs : Elt.N GsNo[N] -> Cj[Ord][N]. op desconectar : Elt.N Elt.N GsNo[N] -> GsNo[N]. op borrarnodo : Elt.N GsNo[N] -> GsNo[N]. op esarista? : Elt.N Elt.N GsNo[N] -> Bool. op escamino? : ListaNv[Ord][N] GsNo[N] -> Bool. op listaprof : GsNo[N] -> Lista[Ord][N]. op ilistaprof : GsNo[N] Lista[Ord][N] Lista[Ord][N] -> Lista[Ord][N]. Grafos 24

25 Grafos no Orientados (II) vars N1 N2 N3 N4 : Elt.N. var G : GsNo[N]. var C : Cj[Ord][N]. cmb conectar(n1,n2,g) : GsNo[N] if esta?(n1,nodos(g)) and esta?(n2,nodos(g)). eq conectar(n3,n4,conectar(n1,n2,g)) = if (N3==N1 and N4==N2) or (N3==N2 and N4==N1) then conectar(n1,n2,g) else conectar(n1,n2,conectar(n3,n4,g)) fi. eq nodos(c) = C. ceq nodos(conectar(n1,n2,g)) = nodos(g) if esta?(n1,nodos(g)) and esta?(n2,nodos(g)).... endfm) Grafos 25

26 Ejercicios (I) Completar la especificación anterior Añadir a la especificación anterior las operaciones siguientes: accesibles : Elt.N GsNo[N] -> CjOr[N]. haycamino? : Elt.N Elt.N GsNo[N] -> Bool. aciclico? : GsNo[N] -> Bool. conexo? : GsNo[N] -> Bool. que determinen, respectivamente, el conjunto de nodos que se pueden alcanzar desde un nodo dado, si hay un camino entre el primer nodo y el segundo, si no existen ciclos en el grafo o si el grafo es conexo (todos los nodos está conectados) Grafos 26

27 Ejercicios (II) Sobre la especificación dada para grafos simples no orientados, especificad las operaciones siguientes: caminop : Elt.N Elt.N GsNo[N] -> Lista[Ord][N]. uniong : GsNo[N] GsNo[N] -> GsNo[N]. compconexa : Elt:N GsNo[N] -> GsNo[N]. que calculen, respectivamente, un camino desde primer nodo al segundo siguiendo un recorrido en profundidad, la unión de dos grafos y el subgrafo conexo maximal que contiene a un nodo. Grafos 27

28 Valoraciones sobre grafos Grafos 28

Tipos lineales I. Tipos Lineales 2

Tipos lineales I. Tipos Lineales 2 Tipos Lineales Tipos lineales I En los ordenadores la información se almacena normalmente de manera secuencial: secuencias de bits, secuencias de bloques, secuencias de registros,... En muchos lenguajes

Más detalles

Tema 5 Árboles y Grafos.

Tema 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 detalles

TEMA 5 El tipo grafo. Tipo grafo

TEMA 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 detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro 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 detalles

Algoritmos y Estructuras de Datos III

Algoritmos y Estructuras de Datos III Árboles Algoritmos y Estructuras de Datos III Árboles Definición: Un árbol es un grafo conexo sin circuitos simples. Árboles Teorema: Dado un grafo G = (V, X ) son equivalentes: 1. G es un árbol. 2. G

Más detalles

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato

Más detalles

Algoritmos y Estructuras de Datos III

Algoritmos y Estructuras de Datos III Árboles Algoritmos y Estructuras de Datos III Árboles Definición: Un árbol es un grafo conexo sin circuitos simples. Árboles Teorema: Dado un grafo G = (V, X ) son equivalentes: 1. G es un árbol. 2. G

Más detalles

INDICE 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. 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 detalles

Tema 11. Estructura de datos Grafo

Tema 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 detalles

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.

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. 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 detalles

Es 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 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 detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.

Más detalles

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

Estructura 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

Á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 Á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 detalles

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

Tema 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 detalles

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

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ Título: Un Arbol Natural Autor: Luis R. Morera onzález Resumen En este artículo se crea un modelo para representar los números naturales mediante un grafo, el cual consiste de de un árbol binario completo

Más detalles

Grafos: Fundamentos Representaciones, etc. Jose Aguilar

Grafos: 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 detalles

Algebra Matricial y Teoría de Grafos

Algebra Matricial y Teoría de Grafos Algebra Matricial y Teoría de Grafos Unidad 3: Nociones de teoría de grafos Luis M. Torres Escuela Politécnica del Litoral Quito, Enero 2008 Maestría en Control de Operaciones y Gestión Logística p.1 Contenido

Más detalles

TEMA 6 GRAFOS Fundamentos y terminología básica. Estructuras de datos Tema 6 Página 101

TEMA 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 detalles

Grafos. 19 de diciembre de 2013

Grafos. 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 detalles

Binary Decision Diagrams

Binary Decision Diagrams Rodríguez Blanco 2006-05-18 Introduccion Equivalencia Tablas de verdad eficientes Construcción de Equivalencia Tablas de verdad eficientes Equivalencia de dos fórmulas A 1 y A 2. Construir su tabla de

Más detalles

Definiciones: 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 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 detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. 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 detalles

A5 Introducción a la optimización en redes

A5 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 detalles

Arboles. Definiciones formales: 1) un árbol es un grafo acíclico finito T (P, E) tal que. P = E + 1 => todo arco es desconectante.

Arboles. Definiciones formales: 1) un árbol es un grafo acíclico finito T (P, E) tal que. P = E + 1 => todo arco es desconectante. Arboles Definición: Es una estructura acíclica que, en algún sentido puede ser considerado el siguiente paso en la jerarquía de complejidad estructural. Los árboles tienen son de amplia aplicación en el

Más detalles

Capítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos

Capítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos Capítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 4: Grafos 1 / 29 Navegación de grafos

Más detalles

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;

Más detalles

Á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.

Á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. ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo

Más detalles

Grafos. Algoritmos y Estructuras de Datos III

Grafos. 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 detalles

Capítulo 6. Relaciones. Continuar

Capítulo 6. Relaciones. Continuar Capítulo 6. Relaciones Continuar Introducción Una relación es una correspondencia entre dos elementos de dos conjuntos con ciertas propiedades. En computación las relaciones se utilizan en base de datos,

Más detalles

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

Estructuras 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 detalles

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

Los 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 detalles

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

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler] Matemáticas Discretas L. Enrique Sucar INAOE Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y circuitos Isomorfismo

Más detalles

Teoría de grafos y optimización en redes

Teorí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 detalles

Gramáticas de dependencias

Gramáticas de dependencias Gramáticas de dependencias GFLN InCo 2015 GFLN, InCo Gramáticas de dependencias 1/19 Sintaxis hasta el momento GFLN, InCo Gramáticas de dependencias 2/19 Sintaxis hasta el momento 1. Clases de palabras

Más detalles

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

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol

Más detalles

Programación Estructuras Arborescentes

Programación Estructuras Arborescentes Programación 2 4 - Estructuras Arborescentes 1 Definición La recursión puede ser utilizada para la definición de estructuras realmente sofisticadas. Una estructura árbol (árbol general o finitario) con

Más detalles

Sesión 4: Teoría de Grafos

Sesión 4: Teoría de Grafos Modelos Gráficos Probabilistas L. Enrique Sucar INAOE Sesión 4: Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y

Más detalles

Algoritmos: Exploración de grafos

Algoritmos: 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 detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas

Más detalles

EJERCICIO 2 (3 PUNTOS) A) Sea el árbol binario AVL de la figura siguiente: B) Dada la estructura de la figura siguiente:

EJERCICIO 2 (3 PUNTOS) A) Sea el árbol binario AVL de la figura siguiente: B) Dada la estructura de la figura siguiente: ASIGNATURA TITULACIÓN APELLIDOS ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN EJERCICIO 1 (3 PUNTOS) GRUPO CURSO CONVOCATORIA NOMBRE 23 / 24 EXTRAORDINARIA- SEPTIEMBRE CALIFICACIÓN Dado el tipo abstracto de

Más detalles

ARBOLES 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. 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 detalles

EDA. Tema 8 Colas de Prioridad: Heaps

EDA. 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 detalles

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

Los 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 detalles

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

Tema: 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 detalles

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución. BÚSQUEDA HEURÍSTICA estudio de los métodos y reglas del descubrimiento y la invención. Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución. Situaciones

Más detalles

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

Introducció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 detalles

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Estructura de Datos y de la Información Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Laboratorio de Investigación y Desarrollo en Inteligencia Artificial Departamento de Computación

Más detalles

Hamilton, Euler y Dijkstra

Hamilton, Euler y Dijkstra UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACION Matemáticas Discretas III (Cód. 6108) Práctica # 2 Hamilton, Euler y Dijkstra 1. Sea G = un multigrafo no dirigido donde

Más detalles

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos

Más detalles

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

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 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 detalles

Inteligencia Artificial I

Inteligencia Artificial I Ingeniería en Sistemas Computacionales Inteligencia Artificial I Rafael Rivera López Departamento de Sistemas y Computación 1 Ago-Dic 2008 Veracruz, Ver. Unidad IV Técnicas de Búsqueda y Satisfacción de

Más detalles

Estructura 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 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 detalles

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.

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. 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 detalles

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

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro Programación Lineal Modelo de Redes Alcance de las aplicaciones Curso: Investigación de Operaciones Ing. Javier Villatoro ALCANCE DE LAS APLICACONES DE REDES ALCANCE DE LAS APLICACIONES Muchas situaciones

Más detalles

1. GRAFOS : CONCEPTOS BASICOS

1. 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 detalles

Algoritmos 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-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 detalles

Parte 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 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 detalles

Generación de Código Intermedio

Generación de Código Intermedio Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede

Más detalles

Tema 21: Algoritmos de exploración de grafos

Tema 21: Algoritmos de exploración de grafos Tema 21: Algoritmos de exploración de grafos Informática (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 21:

Más detalles

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 08: TAD Árbol M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Árbol Especificación

Más detalles

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

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS. Investigación de Operaciones UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS Facultad de Ingeniería Industrial Investigación de Operaciones Tema: Teoría de los Grafos Elaborado por: Ing. Carlos Alberto Moreno. Docente: Ing. Pastrana

Más detalles

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile Árboles binarios Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Árbol: definición v Árbol (del latín arbor oris): Planta perenne,

Más detalles

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

AnAnálisis de redes de transporte Tr. Muchas veces se utiliza en aplicaciones que nada tienen que ver con el transporte AnAnálisis de redes de transporte Tr Muchas veces se utiliza en aplicaciones que nada tienen que ver con el transporte Resumen Antecedentes y definiciones El camino más corto Árbol de expansión mínima

Más detalles

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 11 -

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 11 - Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos - Sesión 11 - Juan Alfonso Lara Torralbo 1 Índice de contenidos Actividad. Resolución manual de clasificación bayesiana

Más detalles

Arboles Binarios de Búsqueda en C++

Arboles 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 detalles

Estructura de Datos. Listas Enlazadas

Estructura de Datos. Listas Enlazadas Estructura de Datos Listas Enlazadas Conceptos de Lista enlazada Una lista enlazada es una secuencia de nodos que se interconectan mediante sus campos de enlace. Nodo: un objeto creado desde una clase

Más detalles

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

GRAFOS. 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 detalles

OBJETIVOS ÍNDICE BIBLIOGRAFÍA

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 detalles

Diagramas de Bloques

Diagramas de Bloques 1! Diagrama de Bloques y Grafos Juan Antonio Hernández Tamames, Susana Borromeo Curso 2014-2015 Diagramas de Bloques 2! Representación en Diagramas de Bloques Álgebra de Bloques 1 Ideas Básicas 3! Los

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

El TAD Grafo. Objetivos. Contenidos

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 detalles

Apellidos:... Nombre:...

Apellidos:... Nombre:... Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder

Más detalles

El TAD Grafo. El TAD Grafo

El TAD Grafo. El TAD Grafo ! 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

Más detalles

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

Un á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 detalles

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

Indice. 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 detalles

Tema 10- Grafos. Objetivos:

Tema 10- Grafos. Objetivos: Tema - Grafos Duración: 2 semanas aprox. Índice general:. Relaciones entre los Datos de una Colección 2. Conceptos básicos sobre Grafos. Representación de un Grafo: Matriz y Listas de Adyacencia. Implementación

Más detalles

Definiciones y ejemplos.

Definiciones 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 detalles

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Á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 detalles

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los

Más detalles

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto

Más detalles

Compiladores: Sesión 6. Optimización

Compiladores: Sesión 6. Optimización Compiladores: Sesión 6. Optimización Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali 7 de febrero de 2008 Optimización Se proponen

Más detalles

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario

Más detalles

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

Un 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 detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

1. 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.

1. 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 detalles

Ejercicio 1: [20 puntos: respuesta acertada = +1, respuesta incorrecta = 1]

Ejercicio 1: [20 puntos: respuesta acertada = +1, respuesta incorrecta = 1] Ejercicio 1: [20 puntos: respuesta acertada = +1, respuesta incorrecta = 1] Complete las frases que se muestran a continuación con las alternativas especificadas. En la siguiente tabla, indique "V" o "F"

Más detalles

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

TEMA 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 detalles

Hoja de Problemas Tema 2 Búsqueda no-informada

Hoja de Problemas Tema 2 Búsqueda no-informada Ejercicio 1: 1.1. El enfoque de los Agentes Inteligentes concibe el objetivo de la Inteligencia Artificial como el intento de construir sistemas (a) (b) (c) (d) que actúen como las personas (tipo Eliza).

Más detalles

Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos

Tema 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 detalles

Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.

Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar. Definición: ÁRBOL El árbol es como un tipo de grafo cíclico, conexo y no dirigido. Las estructuras tipo árbol se usan principalmente para representar datos con una relación jerárquica entre sus elementos.

Más detalles

Árboles y esquemas algorítmicos. Tema III

Árboles y esquemas algorítmicos. Tema III Árboles y esquemas algorítmicos Tema III Bibliografía Tema III (lecciones 15 a 22) del libro Campos Laclaustra, J.: Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Colección Textos

Más detalles

Modelos de Redes: Problemas de la Ruta más m s corta. M. En C. Eduardo Bustos Farías

Modelos de Redes: Problemas de la Ruta más m s corta. M. En C. Eduardo Bustos Farías Modelos de Redes: Problemas de la Ruta más m s corta M. En C. Eduardo Bustos Farías as Problemas de la Ruta más m s corta 2 Problemas de la Ruta más m s corta Se trata de encontrar la ruta de menor distancia,

Más detalles

Diseño de Conjuntos y Diccionarios

Diseño de Conjuntos y Diccionarios Diseño de Conjuntos y Diccionarios Representación de Conjuntos y Diccionarios TAD Diccionario(clave, significado) Observadores básicos def?: clave c x dicc(clave, significado) d bool obtener: clave c dicc(clave,

Más detalles

Estructura de datos Colas

Estructura de datos Colas Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición

Más detalles

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007 Caminos y Flujos optimales Introducción a la Investigación de Operaciones 2007 Contenido Definiciones básicas. Conexidad. Clausura transitiva. Esqueletos y caminos optimales. Redes. Flujos. Algoritmo de

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Capítulo 4: Grafos Clase 4: Árboles

Capítulo 4: Grafos Clase 4: Árboles Capítulo 4: Grafos Clase 4: Árboles Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 4: Grafos 1 / 12 Árboles Los árboles son una clase particular de grafos que

Más detalles

Estructuras de datos: Árboles binarios de

Estructuras de datos: Árboles binarios de Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles

Más detalles

Algoritmos y Programación II Curso 2006

Algoritmos y Programación II Curso 2006 Arboles: Un árbol es una colección de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raíz. Los nodos mantienen entre ellos una relación que define una estructura jerárquica

Más detalles