//INSERIRE: COGNOME - NOME - NUMERO POSTAZIONE - PROFESSORE //NON MODIFICARE il codice delle classi e dei metodi forniti //NON AGGIUNGERE NUOVO CODICE al di fuori di quello richiesto //NEL METODO "main" DELLA CLASSE "Main" ATTIVARE LE RIGHE OPPORTUNE //PER COMPILARE USARE IL COMANDO: "javac risultato.java" //PER ESEGUIRE USARE IL COMANDO: "java Main" class Graph { private int[][] mat ; //matrice delle adiacenze private int[] mark; //per marcare i vertici private int nvert; //numero dei vertici //N.B.: i vertici sono identificati dagli interi 1..nvert public Graph(int nv ) { mat = new int[nv+1][nv+1]; mark = new int[nv+1]; nvert = nv; for (int i=1; i <= nvert; i++) { mark[i] = 0; for (int j=1; j <= nvert; j++) mat[i][j] = 0; } } public void insArc( int i, int j ) { mat[i][j] = 1; } /* //da attivare ADT PARI public void DFS( ) { for ( int v = 1; v <= nvert; v++ ) mark[v] = 0; for ( int v = 1; v <= nvert; v++ ) if ( ! (mark[v] == 1) ) DFSvisit(v); } private void DFSvisit(int u ) { // ADT PARI: INSERIRE QUI IL CODICE RICHIESTO } */ //fine ADT PARI //------------------------------------ // public void BFS(int s ) { //da attivare ADT DISPARI // Queue Q = new Queue(nvert); // for ( int v = 1; v <= nvert; v++ ) mark[v] = 0; // ADT DISPARI: INSERIRE QUI IL CODICE RICHIESTO // } //fine ADT DISPARI //==================================== public void visitVertex(int v) { //DA USARE per la visita del vertice v System.out.print(" " + v + " "); } public void print() { System.out.println(); System.out.print("Grafo: " ); for ( int i = 1; i <= nvert; i++ ) { System.out.println(); for ( int j = 1; j <= nvert; j++ ) { System.out.print(mat[i][j] + " "); } } } }//class class Main { public static void main( String argv[] ) throws Exception { int nvert = 5; Graph G = new Graph(nvert); G.insArc(2,4); G.insArc(1,2); G.insArc(1,3); G.insArc(3,5); G.insArc(3,4); G.insArc(5,4); // G.DFS(); // ADT PARI // G.BFS(1); // ADT DISPARI } }//class