想要代表这种情况的想法

Mar*_*ada 2 java graph data-structures

我正在设计飞行模拟程序,我正在寻找有关如何正确实施此类要求的想法.

请看下面的照片.这些点代表位置.

在此输入图像描述

这个想法是这样的,我想正确地创建一个数据结构,以便在java中最好地表示这种情况

  • 当我在第1点时,我距离第8点的最后一点有多远?

    • 第2,3和5点与第8点的距离相同
    • 从第1点开始,我可以遍历第3点到第6点,然后是7点,然后是8点,相当于4步.
  • 当我在0点

    • 我可以遍历点4然后是5然后7到达点8,这也等于4个步骤.

我只是想帮助用户帮助他们找到不同的路线.

这是可能的,哪种java数据结构最适合这个要求?还有任何设计思路如何实现这个?

对不起,如果我的问题可能含糊不清,我只是想尽可能多地获取正确处理此类要求的信息.

key*_*ser 5

你所拥有的是一个加权图,其中权重代表节点之间的距离(这是非常常见的).您可以自己轻松实现这一点(这是一种很好的学习方法!),但是有很多java源代码可供使用.

当然,这不是java数据结构.它只是一个数据结构(或概念),每个人都在使用它.

一旦实施了加权图,计算步长和距离就非常容易.

所有这些都有大量的文档,特别是在Stackoverflow上.