简化业务示例,我有以下情况:
对于给定的“温度计”,某些对象应以大多数“线性”方式分布在图形中。
说,航海家访问一些城市。多次访问了几个城市。
所以,我们有纵坐标轴的城市列表(可能是重复的),而横坐标的时间是一个。
现在,对于给定的路径,比如说(A => X => A => B => C),我们应该以“最线性的方式”显示一条线”
通过例如。在上图中,绿色线是最佳的一个 (1> 2> 3> 4> 5)
但可能有多种可能的输出
(1> 2> 1> 4> 5)
(1> 2> 3> 4> 5)
(1> 2> 6> 4> 5)
(3> 1>> 4> 5)
(3> 2> 3> 4> 5)
(3> 2> 6> 4> 5)
(6> 1>> 4> 5)
(6> 2> 3> 4> 5)
(6> 2> 6> 4> 5)
在这种情况下是否有一些算法有帮助?
答案 0 :(得分:1)
构建一个图表,其中节点是城市+值和时间的配对(例如A(3)/ 1)。边缘存在于路径中相邻的两个节点之间(例如A(3)/ 1到X(2)/ 2)。
边缘的权重将是最后一对节点与下一对节点之间的向量(相反角度)的差异(这将使边缘权重动态取决于它来自何处)。然后使用Dijkstra找到(a)目标的最小距离。
示例图表(以度为单位的边,只是估算值):
Total cost
0 0 105 15
A31 -> X22 -> A13 -> B44 -> C55 120
90 0 0
-> A33 -> B44 -> C55 90
115 110 105
-> A63 -> B44 -> C55 330