Ho scritto in c l'algoritmo di Floyd Warshall, che conta tutti i cammini minimi tra tutti i nodi e so che modificandolo leggermente è possibile contare i betweenness score dei nodi fra v1 e v2 (cioè il numero di cammini minimi fra v1 e v2 che attraversano i nodi dei cammini minimi stessi). Ora il problema e come modificarlo.....vi riporto il mio codice:
codice:// dim = numero di nodi // m[dim][dim] = matrice di adiacenza (grafo) void conta_betweenness_score(int dim, int m[][dim]) { int i,j,k; for(k=0;k<dim;k++) { for(i=0;i<dim;i++) { for(j=0;j<dim;j++) { if((m[i][k] * m[k][j] != 0) && (i != j)) { if((m[i][k] + m[k][j] < m[i][j]) || (m[i][j] == 0)) { m[i][j] = m[i][k] + m[k][j]; } } } } } }

Rispondi quotando