【问题标题】:tree maps in JUNG (for a shortest path algorithm)JUNG 中的树图(用于最短路径算法)
【发布时间】:2011-07-12 04:12:57
【问题描述】:

在询问了一些关于最短路径算法的一般建议 (2D waypoint pathfinding: combinations of WPs to go from curLocation to targetLocation),然后询问了更具体的实现 (Shortest path algorithm (eg. Dijkstra's) for 500+ waypoints/nodes?),我决定使用 JUNG 库 (http://jung.sf.net/)。

我现在的目标是通过使用点列表(大小约为 1000)中的任意点组合来获得从 A 点到 B 点的最短路径,其中每个点都直接连接到 x 内的所有点距离。

为此,我需要设置一个树形图。我相信这是一个树形图实现列表:http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/graph/class-use/Hypergraph.html#edu.uci.ics.jung.algorithms.shortestpath

正确吗?现在,所有这些实现都仅限于稀疏树图,但我必须创建一个相当密集的树图。

那么,我应该在 JUNG 中使用什么树形图来实现我的目标?

【问题讨论】:

    标签: java path-finding shortest-path graph-algorithm jung


    【解决方案1】:

    我认为您的主要目标可以通过 JUNG 实现,但恕我直言,您需要过滤给定的“x”距离(我的意思是所有可能的节点到节点组合)。但是,除了下面给出的示例之外,我没有使用 JUNG 的最短路径算法的经验。

    JUNG Framework 2.x GUI 示例使用来自 BFSDistanceLabeler 的最短路径算法,该算法需要通用 Hypergraph。它应用基于 BFS 距离的计算,而不是基于边缘权重的距离计算。不过,它是一种广度优先搜索 (BFS) 算法。

    您可以参考jung-samples-2.0.1中package edu.uci.ics.jung.samples下的源码ShortestPathDemo.class。罐子

    我可以在此处找到有关其他 JUNG 最短路径算法的最佳参考 (PDF): www.grotto-networking.com/JUNG/JUNG2-Tutorial.pdf

    【讨论】:

    • 对不起,如果我遗漏了什么,但这如何回答 JUNG 树图实现适用于密集而不是稀疏树图?
    • 只要硬件和 JVM 能够处理大小,大约 1000 个节点的点列表在 JUNG 中不是问题。我确实在我的 JUNG 实现中注意到了这个约束。考虑到您的意图是二维航点数据,当您可以使用图表时,为什么要使用树?您可以在 JUNG 通用图、超图或树类中指定自己的数据类型。虽然,它对我没有尝试过的树((有向的,有根的)树)的支持有限。如果您还没有,请参阅 JUNG 常见问题解答:jung.sourceforge.net/faq.html
    • 我认为图是一棵树。但你是对的,它是一个 2D 环境。我以前看过这个样本,但它对我来说真的没有多大意义。例如,他们实际上在哪里构建和填充图表?如果您可以在此处的代码中给出一个小示例,以在 jung 中实现非 gui 最​​短路径,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多