Está en la página 1de 2

Manejo de grafos

El recorrido que se hace con este tipo de algoritmos es a cíclico por lo que se dice que el recorrido
es de árbol, sin embargo la entrada sigue siendo un grafo.

Un árbol es un grafo conexo a cíclico, y para cada par de vértices distintos sólo existirá un único
camino. Un árbol está conformado por vértices (nodos) y arcos (aristas), al igual que un grafo. Si
existe un camino de longitud 1 entre dos nodos en un árbol uno de ellos será el padre y el otro
será el hijo. Los vértices pueden ser de tres tipos:

Raíz: Es el único nodo que no tiene padre.

Nodo Interno: Es aquel que posee al menos un hijo.

Nodo Externo: Es aquel que no tiene hijos, también se le denomina hoja.

1. Lo primero crear toda la estructura base que nos permitirá manejar el grafo. Utilizaremos
listas de adyacencia para representar el grafo, en este caso trabajaremos con un grafo no
dirigido y no ponderado.
2. inicia desde un nodo raíz, elegido arbitrariamente (En el caso de que el grafo sea un árbol,
la raíz ya está determinada). También se debe indicar el elemento que ha de ser buscado.

3. Es fundamental marcar cada uno de los nodos que han sido visitados, de lo contrario
podremos repetir los nodos una y otra vez, con lo cual no podremos salir nunca de nuestro
algoritmo. Esta característica es lo que garantiza precisamente que el recorrido sea a
cíclico. Para ello usaremos un vector de booleanos, que inicializamos en falso, y la
declararemos como una variable global.
4. Algoritmo de Búsqueda en Anchura (BFS)

La búsqueda en anchura supone que el recorrido se haga por niveles. Para entender más fácilmente
de que se trata, hemos indicado en la siguiente imágen un grafo ejemplo en donde cada color
representa un nivel, tomando como raíz o nodo inicial el que tiene el número 1. El recorrido se hará
en orden numérico de forma consecutiva hasta llegar al nodo número 7.

La estrategia que usaremos para garantizar este recorrido es utilizar una cola que nos permita
almacenar temporalmente todos los nodos de un nivel, para ser procesados antes de pasar al
siguiente nivel hasta que la cola esté vacía.

También podría gustarte