140 likes | 415 Vues
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 Definicin:Un grafo consta de dos conjuntos, V y E, donde V es un conjunto finito de vrtices. E es un conjunto de aristas (subconjuntos del producto cartesiano de V)
7. 7 Grado de un vrtice v1 (punto, nodo)No dirigido: es el nmero de aristas concomitantes a el.Dirigido:Grado interno: el nmero de aristas para las que v1 es la punta de la flecha.Grado Externo: Es el nmero de aristas para las que v1 es la cola de la flecha.
8. 8 Representacin 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 vrtices del grafo Existen dos maneras
10. 10 Bsqueda 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 ningn vrtice adyacente no visitado.5 - Regresa a un nodo que tiene un vrtice 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 vaca
12. 12
13. 13 Bsqueda en Extensin(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 vaca