找到两点之间的路径

时间:2012-06-30 11:17:03

标签: java mysql

大家好我有一个数据库,可以保持点数距离的点数, 看起来像{1 2 5,2 3 4,3 4 2} 将数据设为

        List<Conniction> tempDeal = ConnictionDAO.getInstance().findAll();

然后将其信息迭代到列表

List<String> oneid = new ArrayList<String>();
 List<String> twoid = new ArrayList<String>();
 List<String> size = new ArrayList<String>();
 for(Conniction obj: tempDeal){
     if(obj!=null) {

             oneid.add(obj.getOneid());

             twoid.add(obj.getTwoid());
             size.add(obj.getSize());

现在我需要找到第1点到第3点之间的距离,它应该是9 我应该建立哪个功能

1 个答案:

答案 0 :(得分:1)

如果您只有点和距离信息,则可以创建完整图形(即每个节点连接到其他节点的图形)并在此图形上运行Dijkstra。这样,您可以使用中间节点在两个节点之间找到更短的路径。

请注意,如果距离不是公制,这只是有用/有意义的。否则,两点之间的直接连接(即它们的距离)总是小于或等于使用中间节点的距离。