构建包含有向和无向边的增强图的最佳策略是什么?
我想建模一个社交网络,其中节点代表人,边代表关系。有些关系是无向的(BrotherOf),而其他关系是有针对性的(FatherOf)。
我需要像in_edges,out_edges和undirected_edges迭代器这样的东西。
修改
由于我需要处理非常大的图形,我想要一种在内存消耗和算法执行速度方面都有效的方法。
答案 0 :(得分:5)
您可以简单地将其表示为有向图。
然后可以通过在两个方向上用有向边替换它来表示无向边。
答案 1 :(得分:2)
有一个相当简单的方法:兄弟关系的图表,父亲关系的另一个图表。或者一个用于所有无向关系,一个用于有向关系,其中可以包括两个方向上的无向关系,以便标准图算法按预期工作。
答案 2 :(得分:0)
将其表示为有向图。
如果边缘具有太多属性,则只需存储指向数据的指针。