disiodj

GRAFI_Esercizi(con Matrici)

Jan 10th, 2016
320
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Grafo rappresentato con matrice di adiacenza.
  2.  
  3. //scrivi una procedura LISTE(A) che ne costruisca la sua rappresentazione mediante un array di liste di adiacenza doppiamente concatenate
  4.  
  5. Creo/inizializzo un Array B di lunghezza A.lenght-1
  6. for i=0 to A.lenght-1{
  7.     for j=0 to A-lenght-1{
  8.         if(A[i][j]!=0)
  9.             InserisciInTesta(B[i], A[i][j]
  10.     }
  11. }
  12.  
  13.  
  14.  
  15.  
  16. //scrivi una procedura GRADO-USCITA(A,u) per il calcolo del grado di uscita del nodo con indic u
  17.  
  18. Iniizializzo una variable cont a 0  --------------------ricordati di inizializzare a 0 la var cont---------------
  19. for i=0 to A.lenght-1
  20.         if(A[u][i]!=0)
  21.             cont++
  22. }
  23. return cont -------------------ti eri dimenticato il return-----------------
  24.  
  25.  
  26.  
  27.  
  28.  
  29. //scrivi una procedura GRADO-INGRESSO(A,u) per il calcolo del grado di ingresso del nodo con indice u
  30. Inizializzo cont
  31. for i=0 to A.lenght-1
  32.     if(A[i][u]!=0)
  33.         cont++;
  34. }
  35. return cont
  36.  
  37.  
  38.  
  39.  
  40.  
  41. //scrivi una procedura GRADO-USCITA-MEDIO(A) per il calcolo del grado di uscita medio dei nodi del grafo
  42.  
  43.  
  44. for i=0 to A.lenght-1
  45.     for j=0 to A.lenght-1
  46.         if(A[]i[j]!=0)
  47.             cont++
  48. return cont/A.lenght;
  49.  
  50.  
  51.  
  52. scrivi una procedura GRAFO-SEMPLICE(A) che verifica se il grafo è semplice (privo di cappi)
  53. for i=0 to A.lenght-1
  54.     for i=0 to A.lenght-1
  55.         if(j=i && A[i][j]!=0)
  56.             return FALSE
  57. return TRUE
RAW Paste Data