繁体   English   中英

在无向加权图中找到“最公平”的交汇点

[英]Finding the "fairest" meeting point in an undirected weighted graph

给定一个无向加权图,一个开始节点和一个结束节点,有没有办法(不使用蛮力)在开始和结束节点之间找到一个交汇点,使得:

1) 从起点到交汇点的距离和 2) 从终点到交汇点的距离之间的差异

被最小化?

如果不使用蛮力,我似乎​​想不出任何方法来做到这一点。

谢谢

只需启动 Dijkstra 算法即可找到从开始节点到所有节点的距离,然后从结束节点开始。 然后找到一个节点,该节点的计算距离之间的差异最小。

您可以使用 Dijkstra 算法,同时从结束节点和开始节点开始——因此使用一个优先级队列。 只需向队列中的每个节点添加额外信息,无论您是从开始节点还是从结束节点到达它。 当你到达一个已经访问过的节点时,检查它是否是从“另一端”访问的(使用额外的信息):如果是,停止算法,并将两个距离相加; 您在第一次访问时注册的那个,以及您当前第二次访问的那个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM