从java中的一组顶点中选择每对边

时间:2016-04-21 04:48:35

标签: java graph traveling-salesman

我是Java新手。我刚刚编写了一个代码来解决旅行商问题。我已应用最近的邻域搜索来找到解决方案。假设,我输入的城市如下:

 (60,200),(80,180),(140,180),(20,160),(180,200)

输入采用(x,y)坐标格式。我得到了以下格式的解决方案:

 (60,200),(140,180),(80,180),(180,200),(20,160)

现在我想拍摄每对边缘并计算它们之间的欧氏距离。我知道如何计算欧氏距离,但我将如何选择每对边缘。我知道我必须使用嵌套循环,但对下一步该做什么感到困惑。

假设我已将解决方案存储在以下arraylist中:

 private ArrayList tour = new ArrayList<City>();

现在我将如何从这个arraylist中选择每对边缘?我尝试过以下方式,但卡住了。

int i,j;
for(i=0;i<tour.size();i++)
{
    for(j=i+1;j<tour.size();j++)
    {

    }
}

0 个答案:

没有答案