c# - 在有向图中找到最大的产品

标签 c# algorithm graph-algorithm shortest-path

我的问题类似于寻找最小路径(Dijkstra 算法),但我想找到从一个节点到任何其他节点的所有边的最大乘积,而不是最短路径。

鉴于所有边都是正权重的,并且每个节点都与相邻节点双向连接,我的理解是这种算法的实现与寻找最短路径正好相反。但我不确定我的想法是否正确,谁能建议我应该从 C# 的哪里开始? ?

举一个双向连接的例子:

节点:A,B 权重:A->B =2;B->A=1/2

所以一个节点的边的权重总是互惠的

最佳答案

所有权重都是正数,对吗?

  1. 将每个权重 W 替换为 log(1/W)。

  2. 运行 Bellman-Ford 算法,这是 Dijkstra 对负权重图的扩展。

关于c# - 在有向图中找到最大的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20869002/

相关文章:

c# - 如何用linq获取相关数据?

algorithm - 寻找子数组的最小绝对和

algorithm - 此数组中的最佳搜索条件?

javascript - ASP.NET 将复选框值获取到 C# 方法

c# - 在控制台应用程序中缓存

c# - 将任何对象数组格式化为字符串

字符串 Rabin-Karp 基本数字符号

algorithm - 在两个顶点之间创建成本最低的路径

algorithm - 具有多于 N-1 条边的连通图是否总是包含具有 N-1 条边的连通图?

algorithm - 多对一或多对组匹配/分配