defdegre(graphe,sommet):## Sans tirer partie du TAD
# i = sommets(graphe).index(sommet)
# c = 0
# for j in range(len(sommets(graphe))):
# c += graphe[1][i][j]
# return c
#
## En tirant partie du TAD
returnlen(voisins(graphe,sommet))defest_isole(graphe,sommet):returndegre(graphe,sommet)==0defdegre_moyen(graphe):c=0forsinsommets(graphe):c+=degre(graphe,s)returnc/len(sommets(graphe))defsont_voisins(graphe,s1,s2):i=sommets(graphe).index(s1)j=sommets(graphe).index(s2)returngraphe[1][i][j]==1
Solutions avec les listes de successeurs
defdegre(graphe,sommet):returnlen(voisins(graphe,sommet))defest_isole(graphe,sommet):returndegre(graphe,sommet)==0defdegre_moyen(graphe):S=sommets(graphe)# c = 0
# for s in S:
# c += degre(graphe, s)
# return c / len(S)
## ou :
# return functools.reduce(operator.add, [ degre(graphe,s) for s in S ]) / len(S)
## ou encore :
returnsum([degre(graphe,s)forsinS])/len(S)defsont_voisins(graphe,s1,s2):returns2invoisins(graphe,s1)