假设我有一个 int 节点图,并且我想赋予双精度类型的边权重。起初,我认为我可以更改我的图表以使用可标记的边缘:
var graph = new UndirectedGraph<int, Edge<int>>();
变成
var taggedGraph = new UndirectedGraph<int, TaggedEdge<int, double>>();
但是在进一步阅读了Shortest Path algorithm的文档后,它似乎使用了一个委托,如下所示:
Func<Edge<int>, double> cityDistances = ...
但是,它隐藏了委托的实现,所以我不确定这在实践中会是什么样子?有没有办法将权重与边缘捆绑在一起?