140 likes | 410 Views
2. Informalmente definimos un grafo como un conjunto finito de puntos (nodos, v
E N D
1. 1 LOS GRAFOS
2. 2
3. 3
4. 4
5. 5
6. 6 Definición:Un grafo consta de dos conjuntos, V y E, donde V es un conjunto finito de vértices. E es un conjunto de aristas (subconjuntos del producto cartesiano de V)
7. 7 Grado de un vértice v1 (punto, nodo)No dirigido: es el número de aristas concomitantes a el.Dirigido:Grado interno: el número de aristas para las que v1 es la punta de la flecha.Grado Externo: Es el número de aristas para las que v1 es la cola de la flecha.
8. 8 Representación interna de un grafo
Matriz de adyacencia
Lista de adyacencia con arreglo
Lista de adyacencia sin arreglo
9. 9 Recorridos de grafos.Recorrer todos los vértices del grafo Existen dos maneras
10. 10 Búsqueda en profundidad (en altura) (Depth First Search)Se escoge un nodo cualquiera v0 para empezar (inicio) y se aplica el siguiente algoritmo:1 - Comienza el procesamiento en el nodo inicio v02 - Elige un nodo que no ha sido visitado vi adyacente a v0 y lo procesa.3 - Escoge un nodo sin visitar adyacente a vi y lo visita (procesa).4 - Continua de esta forma hasta que encuentra un nodo que no tiene ningún vértice adyacente no visitado.5 - Regresa a un nodo que tiene un vértice adyacente sin visitar y prosigue el procesamiento desde este punto.
11. 11 1 - Comenzando por el primer nodo del grafo, se inserta en la pila 2 - Sacar el nodo del top de la pila y procesarlo 3 - Cambiar su status a "visitado" 4 - Meter a la pila a todos los nodos adyacentes que tengan status de "no-visitado" 5 - Regresar al paso 2 si la pila no está vacía
12. 12
13. 13 Búsqueda en Extensión(BFS, Breadth First Search) (en anchura) Primero procesa todos los nodos adyacentes al nodo del inicio, luego todos los nodos adyacentes a estos y así sucesivamente. se parece a un recorrido de árbol por niveles.
14. 14 1 - Todos los nodos se incializan con "no-vistado" 2 - Iniciando en el primer nodo del grafo, se inserta en la fila 3 - Sacar el primer nodo de la fila 4 - Modificar su estado a "visitado" y procesarlo 5 - Meter a la fila a todos los nodos adyacentes a él, que no tengan status de "visitado" y que no se encuentren en la fila 6 - Regresar al paso 3 si la fila no está vacía