【发布时间】:2011-09-23 00:51:36
【问题描述】:
构建同时包含有向和无向边的提升图的最佳策略是什么?
我想建模一个社交网络,其中节点代表人,边代表关系。有些关系是无向的 (BrotherOf),而另一些是有向的 (FatherOf)。
我需要类似 in_edges、out_edges 和 undirected_edges 迭代器。
编辑:
由于我需要处理非常大的图,我想要一种在内存消耗和算法执行速度方面都高效的方法。
【问题讨论】:
构建同时包含有向和无向边的提升图的最佳策略是什么?
我想建模一个社交网络,其中节点代表人,边代表关系。有些关系是无向的 (BrotherOf),而另一些是有向的 (FatherOf)。
我需要类似 in_edges、out_edges 和 undirected_edges 迭代器。
编辑:
由于我需要处理非常大的图,我想要一种在内存消耗和算法执行速度方面都高效的方法。
【问题讨论】:
将其表示为有向图。
如果边的属性太多,您可以只存储指向数据的指针。
【讨论】:
您可以简单地将其表示为有向图。
然后可以通过在两个方向上用有向边替换它来表示无向边。
【讨论】:
有一个相当简单的方法:兄弟关系的图表,父亲关系的另一个图表。或者一个用于所有无向关系,一个用于有向关系,其中可能包括两个方向的无向关系,以便标准图算法按预期工作。
【讨论】: