我是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++)
{
}
}