图分析算法的实现细节

时间:2009-11-20 02:50:34

标签: algorithm computer-science graph-theory

假设我有一个“重”节点的图形,即每个节点都是一个已经携带大量数据的对象。我想进行图形转换,要求我为每个节点计算一个特殊属性。只需临时记住此属性即可应用转换。如何有效地存储此属性?

为每个节点添加一个special_property字段似乎是浪费,因为我只需要在短时间内记住它。另一种可能性是创建一个“阴影”图形,它是一个与原始图形具有完全相同连接的图形,只存储了special_property,尽管这看起来很笨拙。

解决这个问题的普遍可接受的方法是什么?

3 个答案:

答案 0 :(得分:1)

每个节点都应该有一个小整数标识符。将其用作索引以将属性存储在临时数组中。除了O(1)访问时间外,数组还具有处理器缓存的强大数据局部性。

答案 1 :(得分:1)

“重”对象不应该是图中的实际节点。图中的每个节点都应该有一个指向它所代表的“重”对象的指针,以及在图形上操作时需要的其他任何属性。

答案 2 :(得分:0)