Generazione pseudo-casuale di grafi

Questa lezione ha come obiettivo la generazione pseudo-casuale di grafi pesati (diretti e indiretti).

  1. 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.
  2. 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.
Laboratorio di ASD - Massimo Franceschet