Está en la página 1de 2

INFORME PRÁCTICA 1-IA: Búsquedas no

informadas
INTRODUCCIÓN:
“Sea dado un grafo G = (V, E), donde V es el conjunto de vértices y E es el conjunto de
aristas (|V| = n, |E| = m) . Cada arista (i, j) ∈ E tiene asociada una distancia o coste d(i, j).
Se desea encontrar un camino que conecte el vértice origen v0 con el vértice destino vd.”

ORGANIZACIÓN DE LA PRÁCTICA:

CLASE DATOS: 1

CLASE GRAFO: 1

CLASE HOJA: 2

CLASE TREE; 2

MAIN: 2

CLASE DATOS:
La clase Datos es una clase que utilizo como “struct” para poder almacenar dentro de la
clase grafo (matriz) en una misma posición de la matriz tanto el principio como el final de
una arista y su coste.

CLASE GRAFO:
La clase grafo es la encargada de
leer el fichero.

La clase Grafo es una matriz donde


cada posición de esta corresponde a
un nodo, es decir la posición 0 de la
matriz corresponde al nodo 1, al ser
n-1 nodos el tamaño de esta. Esto
facilita el almacenamiento del grafo
debido a que dentro de la posición 0
de la matriz (nodo 1) se guardan
todas las aristas que incluyen a este
nodo y su coste. Si el nodo 1 puede ir
al nodo X, se va a almacenar un
puntero de esa información junto con
su coste en la posición 0.

Samuel Toledo Hdez - alu0101337821@ull.edu.es - 1


CLASE HOJA:
La clase Hoja es otro tipo de “struct” que simula el nodo de un árbol, donde ella misma
almacena un puntero a su padre, y un vector de punteros a sus hijos, puesto que el número
de hijos de un nodo es indefinido.

CLASE TREE:
La clase Tree que se ubica dentro del fichero “Hoja” es un árbol (Estructura de datos), la
cual almacena puntero de tipo HOJA, y va extrayendo los nodos del grafo de la clase Grafo,
generando así un árbol por amplitud. Una vez encuentra el nodo final realiza las
operaciones necesarias para hallar el camino, la distancia, los nodos generados y los nodos
inspeccionados.

Cabe destacar que la búsqueda en amplitud se efectúa mediante una cola, que almacena
punteros a los nodos que hay que visitar según las normas de un búsqueda en amplitud. Al
ser la función de recorrido en amplitud una función recursiva, siempre se invoca a la función
con el primer elemento que se encuentre en dicha cola.

MAIN:

El fichero Main() simplemente incluye un ligero menú para que todo el programa sea más
interactivo.

Samuel Toledo Hdez - alu0101337821@ull.edu.es - 2

También podría gustarte