






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
dsaddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Tipo: Diapositivas
1 / 12
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







M.C. Yalú Galicia Hdez. (FCC/BUAP)
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Circuitos electrónicos
Tarjetas impresas
Circuitos integrados
Redes de transporte
Autopistas
Vuelos
Redes de ordenadores
LANs
Internet
Web
Planeación (rutas críticas)
Planificación de las
tareas que completan
un proyecto
Redes sociales
M.C. Yalú Galicia Hdez. (FCC/BUAP)
En una red de carreteras las poblaciones representan
los vértices del grafo y las carreteras de unión de dos
poblaciones, los arcos, de modo que a cada arco se
asocia información tal como la distancia entre dos
ciudades, el consumo de gasolina por automóvil, etc.
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Atlixco
Tehuacán
Puebla
Teziutlan
Chignahuapan
Zacatlán
Zacapoaxtla
GRAFOS (parte 1)
Definiciones
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Definiciones
Es decir, dos vértices son adyacentes si hay un
arco que los une.
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Fundamentos: grafos dirigidos
Grafo no dirigido
V(G1) = {a,b,c,d}
A(G1) = {(a,b),(a,d),(b,c),(b,d)}
Adyacentes a a: b, d
Adyacentes a b: a, c, d
Grafo dirigido
V(G2) = {1,3,5,7,9}
A(G2) = {(1,3),(3,1),(9,1),
(3,5),(5,7)}
Adyacentes a 1: 3
Adyacentes a 3: 1, 5
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Fundamentos
En un grafo no dirigido
Grado de un nodo u = nº de aristas que contienen a u
En un grafo dirigido
Grado de entrada de u = nº de arcos que llegan a u
Grado de salida de u = nº de arcos que salen de u
M.C. Yalú Galicia Hdez. (FCC/BUAP)
GRAFOS (parte 1)
Fundamentos: ciclos y
bucles
C1 es un ciclo simple
C2 es un ciclo no simple
M.C. Yalú Galicia Hdez. (FCC/BUAP)
1
2
Actividad Individual
Obtener todos los
caminos de vértice 1 al 4
y del 4 a cualquier otro
vértice
Determinar cual de ellos
es simple
Hay cliclos? Cual?
¿Se trata de un grafo
conexo?
M.C. Yalú Galicia Hdez. (FCC/BUAP)
TAD GRAFO
{
<
M.C. Yalú Galicia Hdez. (FCC/BUAP)
TAD GRAFO: Operaciones
Creación del grafo crearGrafo (grafo)
Inserción de vértices insertarVertice(grafo, vertice)
Eliminación de vértices borrarVertice(grafo,
referenciaVertice)
Inclusión de aristas insertarArista(grafo, vertice1,
vertice2)
Borrar aristas borrarArista(grafo,arista)
Recorrido del grafo recorrer(grafo,tipoRecorrido)
M.C. Yalú Galicia Hdez. (FCC/BUAP)
GRAFOS (parte 1)
TAD GRAFO: Operaciones
asignarInfo(referenciaVertice, valorInformacion)
Modificación de vertices
info(referenciaVertice) Informacion
grado(referenciaVertice) Entero
gradoEntrante(referenciaVertice) Entero
gradoSaliente(referenciaVertice) Entero
adyacentes(referenciaVertice) {referenciaVertice}
incidentes{referenciaVertice) {referenciaVertice}
esAdyacente(refenciaVertice1, referenciaVertice2) Boolean
Acceso a los vertices
asignarEtiqueta(referenciaArista, valorEtiqueta)
Modificación de aristas
vertices(referenciaArista) (refVertice, refVertice)
destino(referenciaArista) refVertice
origen(referenciaArista) refVertice
etiqueta((referenciaArista) etiqueta
Acceso a las aristas
Representación de GRAFOS
Matriz de adyacencias
Sea G = (V,A) un grafo de n nodos, suponemos que
los nodos V = {u1,...,un} están ordenados y podemos
representarlos por sus ordinales {1,2,...,n}.
La representación de los arcos se hace con una
matriz A de nxn elementos aij definida:
1 si hay arco (ui,uj)
aij
0 si no hay arco (ui,uj)
En resumen, la matriz de adyacencia a es un arreglo
de dos dimensiones que representa las conexiones
entre pares de vértices.
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Representación: matriz de
adyacencia
M.C. Yalú Galicia Hdez. (FCC/BUAP)
1
2
6
2
1
Actividad Individual
Obtén la matriz de adyacencia para el siguiente
grafo.
M.C. Yalú Galicia Hdez. (FCC/BUAP)
GRAFOS (parte 1)
Representación: listas de
adyacencia
M.C. Yalú Galicia Hdez. (FCC/BUAP)
2
5
7
2
3
1
Actividad Individual
Obtener la lista de adyacencia para el
siguiente grafo.
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Actividad individual
Obtener la lista de adyacencia para el siguiente
grafo con aristas ponderadas.
M.C. Yalú Galicia Hdez. (FCC/BUAP)
¿Que hemos aprendido?
M.C. Yalú Galicia Hdez. (FCC/BUAP)
GRAFOS (parte 1)
Algoritmos de
búsqueda o
recorridos en grafos
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Recorridos en Grafos
¿Hay alguna manera de ir de un elemento a otro
siguiendo las conexiones?
¿Cuántos otros elementos pueden ser alcanzados
desde un elemento dado?
¿Cual es la mejor manera de ir desde un
elemento a otro?
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Algoritmos de búsqueda o
recorridos en grafos
Recorrido o búsqueda primero en profundidad
Recorrido o búsqueda primero en achura – BFS
(Breadth-First Search)
M.C. Yalú Galicia Hdez. (FCC/BUAP)
(^31) Recorridos: operaciones
auxiliares
Si los vértices están identificados por algún tipo
ordinal, emplear un conjunto que contenga los
identificadores de los vértices visitados
Con matrices de adyacencia: recorrer la fila
correspondiente al vértice, buscando columnas igual
a 1
Con listas de adyacencia: recorrer la lista
TDA Pila en Profundidad
TDA Cola en Anchura
M.C. Yalú Galicia Hdez. (FCC/BUAP)
GRAFOS (parte 1)
Recorrido primero en
profundidad
M.C. Yalú Galicia Hdez. (FCC/BUAP)
a b c d e f g h i j
a b c d e f g h i j
Actividad colaborativa
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Tip: Pensar recursivamente
Recorridos
Visitar vértice inicial vi
Visitar todos los vértices adyacentes a vi
Al terminar, comenzar a visitar los adyacentes a
los adyacentes a vi
... proceder así hasta que no queden vértices por
visitar
M.C. Yalú Galicia Hdez. (FCC/BUAP)
(^39) Recorridos: Anchura
Inicio
marcar vi como visitado
meter vi en cola Q
mientras cola Q no vacía hacer
sacar v de cola Q
para cada vk adyacente a v hacer
si vk no visitado entonces
marcar vk visitado
meter vk en cola Q
fin_si
fin_para
fin_mientras
Fin
M.C. Yalú Galicia Hdez. (FCC/BUAP)
GRAFOS (parte 1)
Recorrido primero en
anchura
1
2
3
4
5
6
7
8
9
10
11
12
Recorrido primero en
anchura
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Actividad colaborativa
En binas obtener la matriz de adyacencia y el
recorrido del grafo en anchura
Actividad colaborativa
M.C. Yalú Galicia Hdez. (FCC/BUAP)
Grafo
+Grafo()
+Grafo(n: int)
+agregarVertice(v: String)
+agregarArista(vo: String, vd:
String)
+verMatriz()
+BFS(vi: String) //anchura
+DFS(vi: String) //profundidad
Vertice
+Vertice(nombre: string)
+Vertice(nombre: string,
index)
+getIndex(nombre: string): int
+setVisitado(s: boolean)
+isVisitado(): boolean