我正在使用scala-graph对Scala进行一些图形计算,而我似乎无法理解如何做一件简单的事情:如何更新某个重量? 我们说我有:
import scalax.collection.Graph
val g = Graph(1~>2 % 1, 2~>3 % 1, 1~>3 % 3)
现在我想创建g2
,它与g
相同,但与1~>2 % 2
相同。我该怎么做?
答案 0 :(得分:1)
似乎没有任何本地方法来更新边缘的权重。你可以做的是删除边缘并添加一个具有不同重量的新边缘:
scala> g - 1~>3 % 3 + 1~>3 % 1337
res = Graph(1, 2, 3, 1~>2 %1, 1~>3 %1337, 2~>3 %1)
编辑:请注意,要删除的边缘的权重1~>3 % <weight>
可以包含任何值,因为边缘不会通过其权重来识别。
有关详细信息,请参阅this主题。