Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. def conj(G):
  2.     M=G.adjacency_matrix() # matrice d'adjacence
  3.     n=G.num_verts() #nombre de sommet
  4.     m=G.num_edges() #nombre d'arêtes
  5.     conjG=Graph(m)# initialise au graphe avec m sommets (indexés entre 0 et m-1) et aucunes arêtes
  6.     L=[] #liste des arêtes (représentés par les sommets qu'ils relient) déjà parcourus
  7.     c=0 # indice du prochain arêtes de G trouvé
  8.     for i in range(n):
  9.         for j in range(i,n):
  10.             if M[i,j]==1:
  11.                 a=[i,j]
  12.                 for k in range(len(L)):
  13.                     #ici on regarde si les deux arêtes ont un sommet commun
  14.                     l=list(set(a) & set(L[k]))
  15.                     if l!=[]:
  16.                         # si oui on ajoute
  17.                         conjG.add_edge([k,c])
  18.                 L.append(a)
  19.                 c+=1
  20.     conjG.relabel({i:'('+str(L[i][0])+','+str(L[i][1])+')' for i in range(m)})
  21.     return conjG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement