disiodj

GRAFI_Esercizi(con liste di adiacenza)

Jan 10th, 2016
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. qui ho la rappresentazione tramite un array A a cui sono attaccate liste di adiacenza.
  2.  
  3.  
  4. //scrivi una procedura MATRICE(A) che ne costruisca la sua rappresentazione mediante un array di liste di adiacenza doppiamente concatenate
  5.  
  6. B è una nuova Matrice di lunghezza A.lenght
  7. for i=0 to A.lenght-1(){
  8.     x = A[i]
  9.     while(x!=NULL){
  10.         if(x.info!=0)
  11.             A[i][x.info] = 1;
  12.             x = x.next;
  13.     }
  14. }
  15.  
  16.  
  17.  
  18.  
  19.  
  20. //scrivi una procedura GRADO-USCITA(A,u) per il calcolo del grado di uscita del nodo con indice u
  21.  
  22. return Conta-Nodi(A[u])
  23.  
  24.  
  25. //scrivi una procedura GRADO-INGRESSO(A,u) per il calcolo del grado di ingresso del nodo con indice u
  26.  
  27. for i=0 to A.lenght
  28.     if(CercaElmento(A[i], u)) //Sono ammessi anche i cappi nella ricerca
  29.         contatore++;
  30. return contatore
  31.  
  32.  
  33. //scrivi una procedura GRADO-USCITA-MEDIO(A) per il calcolo del grado di uscita medio dei nodi del grafo
  34.  
  35.  
  36. for i=0 to A.lenght()
  37.     contatore = contatore + Conta-Nodi(A[i])
  38. return contatore/A.lenght-1()
  39.  
  40.  
  41.  
  42.  
  43. //scrivi una procedura GRAFO-SEMPLICE(A) che verifica se il grafo è semplice (privo di cappi)
  44.  
  45. for i=0 to A.lenght-1
  46.     x = A[i]
  47.     while(x!=NULL){
  48.         if(x.info==i)
  49.             return FALSE
  50.         x = x.next;
  51.     }
  52. }
Add Comment
Please, Sign In to add comment