Generazione pseudo-casuale di grafi
Questa lezione ha come obiettivo la generazione pseudo-casuale di grafi pesati (diretti e indiretti).
- Creare una classe DGraphGenerator per la generazione pseudo-casuale di grafi diretti pesati. La classe contiene il metodo generator(int n, int m) che genera un grafo diretto pseudo-casuale con n nodi e m archi con pesi arbitrari. Fare attenzione che le liste di adiacenza contengano nodi distinti.
- Creare una classe GraphGenerator per la generazione pseudo-casuale di grafi indiretti pesati. La classe contiene il metodo generator(int n, int m) che genera un grafo indiretto pseudo-casuale con n nodi e m archi con pesi arbitrari. Occorre fare attenzione ai seguenti vincoli:
- ogni arco (i,j) generato non può essere un cappio, dunque il nodo i deve essere diverso dal nodo j;
- se j appartiene alla lista di adiacenza di i, allora i deve appartenere alla lista di adiacenza di j;
- il costi associati agli archi (i,j) e (j,i) devono essere uguali.