【问题标题】:How to make a route from an array如何从数组中创建路由
【发布时间】:2020-11-20 01:11:27
【问题描述】:

我想根据以下数据在 Python 中创建一条路线 ([[0, 1],[0, 2],[0, 8],[1, 7],[2, 9],[3, 6],[4, 3],[5, 0], [ 6, 0], [ 7, 0][ 8, 4],[ 9, 5],[10, 10]])

我想要的结果是像 [0,1][1,7],[7,0] (0-1-7-0) 和 [0,2],[2 ,9][9,5][5,0] (0-2-9-5-0) 和 [0,8][8,4][4,3][3,6][6,0] (0-8-4-3-6-0)。我已经尝试将第一个数组变成一个元组,我认为这会起作用,但似乎无法找到如何对数组进行排序。

是否有某种循环可以帮助我对其进行排序,然后对其进行元组处理?

【问题讨论】:

    标签: arrays sorting routes tuples


    【解决方案1】:

    您所拥有的“数据”描述了一个图表。我建议将此关键字添加到您的问题中。

    图的顶点是整数010。图的是您的 2 元素列表 [0, 1][0, 2][0, 8] 等。

    现在您正在寻找通过图表的路径。你对你正在寻找的路径有什么要求?它应该是图中的最长路径吗?它应该是两个特定节点之间的最短路径吗?

    如果您只是在寻找最大路径,即无法进一步扩展的路径,那么贪心算法就足够了:

    initialize the path with one arbitrary edge
    loop:
      look for an edge in data that can extend the path
      pop the edge from data and add it to the path
      break the loop when no appropriate edge can be found in data
    

    【讨论】:

    • 数据确实来自图表。该图来自一个小型 TSP,我制作的结果在图中给出了这些漂亮的循环。但是输出不是一条路线,而只是在我的路线中给出了线路。然后将这些绘制并形成一个完整的循环,但路线本身尚未显示,我想显示它。所以这就是为什么我想采用上述方式。
    猜你喜欢
    • 1970-01-01
    • 2021-03-02
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2023-03-14
    • 2012-01-11
    • 2019-02-07
    相关资源
    最近更新 更多