Я пытаюсь написать простую программу для расчета между ними, используя brandes_betweenness_centrality из boostlib. Я застрял при получении вывода (CentralityMap). Я читал документацию, но я не могу понять, как собрать все это вместе.
Вот мой простой код:
#include <iostream> // std::cout
#include <utility> // std::pair
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/betweenness_centrality.hpp>
using namespace boost;
int main()
{
int nVertices = 100;
srand ( time(NULL) );
typedef std::pair<int, int> Edge;
std::vector<Edge> edges;
for(int i=0; i<nVertices; i++){
std::cout << i << " : ";
for(int j=0; j<nVertices; j++){
if(rand() % 100 < 9){ /// chances of making a connection is 9 out of 100. may not be accurate
std::cout << j << " ";
edges.push_back(std::make_pair(i,j));
}
}
std::cout << std::endl;
}
typedef adjacency_list<vecS, vecS, bidirectionalS,
property<vertex_color_t, default_color_type>
> Graph;
Graph g(edges.begin(), edges.end(), edges.size());
brandes_betweenness_centrality(g,?????? );
return 0;
}
Насколько я понимаю, мне нужно определить карту центральности, где будет записан результат. Это связано с картой свойств чтения/записи, но я не могу понять, как ее определить.
В конце концов мне нужно вывести промежуточность.