Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Suponga que tiene las clases GrafoLista y GrafoMatriz con las siguientes estructuras:
Implemente una función en la clase GrafoMatriz que dado un grafo representado con la estructura de Matriz de
Adyacencia, devuelva un nuevo grafo con exactamente la misma información que el grafo original pero representado
con la estructura de Lista de Adyacencia.
Implemente todos los métodos utilizados, y especifique las pre y post condiciones de todas las operaciones.
1 2 3 4 5
1 4 7
2 3 1 Transformar
3
4 6
5
Grafo Matriz Grafo Lista
SOLUCIÓN:
//Copio vértices
for (int i=1; i<=grafoM.cantNodos; i++){
If grafoM.nodosUsados[i]
grafoL.agregarVertice(i);
}
//Copio aristas
for (int i=1; i<=grafoM.cantNodos; i++)
for (int j=1; j<=grafoM.cantNodos; j++)
if (grafoM.matrizAdyacencia[i][j].existe){
grafoL.agregarArista(i, j, grafoM.matrizAdyacencia[i][j].peso);
}
}
}
}