1

我在 Graphchi 中编写了一个最短路径代码,我想将它的输出打印到一个文件中。我试图使用示例中显示的模板,但如果我使用与其他示例相同的方式写入文件,则会出错。我被困在这里了。作为我只想打印的输出(顶点ID,它与源的最小距离)。我怎样才能做到这一点。

4

1 回答 1

2

这是如何将所有顶点的值输出到控制台的示例。修改它以将输出写入文件很容易。请注意,如果您可以处理二进制文件,则 GraphChi 已经在文件中具有顶点值:.B.vout,其中 sizeof(VertexDataType)。

1)您需要定义一个回调函数,它将顶点id和值作为参数

class OutputVertexCallback : public VCallback<VertexDataType> {
public:

virtual void callback(vid_t vertex_id, VertexDataType &value) {
  std::cout << vertex_id << "=" << value << std::endl;
}
 };

2)然后您需要按如下方式调用foreach_vertices()以获取输出:

OutputVertexCallback callback;
foreach_vertices<VertexDataType>(filename, 0, engine.num_vertices(), callback);
于 2012-08-24T20:54:50.253 回答