20140412110446

7
Grafos Recorridos de Grafos

Transcript of 20140412110446

  • GrafosRecorridos de Grafos

  • Recorridos de grafos

    Consiste en encontrar una secuencia de vrtices del grafos en la que aparezcan todos los vrtices alcanzables desde un vrtice dado.

    Dado que en los grafos no hay un orden de los vrtices, los recorridos necesitan conocer cul es el vrtice inicial para comenzar

    En un grafo dirigido puede darse el caso de que existan vrtices no alcanzables al realizar el recorrido

    En un grafo no dirigido tambin pueden existir nodos no alcanzables si es que el grafo no es conexo

  • Recorridos de grafos

    Normalmente se utilizan dos tipos de recorridos:

    -Primero en profundidadConsiste en explorar, cada vez, un solo camino, hasta llegar al vrtice ms alejado del vrtice inicial. El proceso contina siguiendo el mismo criterio hasta explorar todos los caminos posibles.

    -Primero en anchuraConsiste en explorar, simultneamente, todos los caminos, de manera que los vrtices son visitados por niveles, de acuerdo a la distancia al vrtice inicial. Por ejemplo. Primero se visitan todos los que estn a distancia 1, luego todos los que estn a distancia 2, y as sucesivamente.

  • Recorridos de grafos

    PP: A B E F I G C D HPA: A B C D E F G H ILos recorridos pueden cambiar en funcin del orden en que se tomen los vrtices adyacentes

  • Implementacin de los recorridos de grafos

    Es necesario tener en cuenta que en general un grafo puede tener ciclos, por tanto, para evitar caer en ciclo hay que llevar el control de si los vrtices ya han sido visitados no.

    La implementacin de los recorridos puede hacerse utilizando:

    Una Pila para el recorrido de primero en profundidad

    Una Cola para el recorrido de primero en anchura

  • Recorrido Primero en Profundidad

    -Dado un Grafo y el vrtice inicial-Utiliza una Pila

    1) Inicializar la marca de Visitado con Falso para todos los vrtices del grafo2) Poner en la Pila al Vrtice Inicial3) Mientras la Pila no sea vaca-Sacar el vrtice que est en el tope de la Pila-Si su marca de Visitado es Falso entonces -Cambiar la marca de Visitado a Verdadero. Es el momento de visitar a ese vrtice -Poner en la Pila a todos sus vrtices adyacentes cuya marca de Visitado sea Falso

  • Recorrido Primero en Anchura (Amplitud)

    -Dado un Grafo y el vrtice inicial-Utiliza una Cola

    1) Inicializar la marca de Visitado con Falso para todos los vrtices del grafo2) Poner en la Cola al Vrtice Inicial3) Mientras la Cola no sea vaca-Sacar el vrtice que est primero en la Cola-Si su marca de Visitado es Falso entonces -Cambiar la marca de Visitado a Verdadero. Es el momento de visitar a ese vrtice -Poner en la Cola a todos sus vrtices adyacentes cuya marca de Visitado sea Falso