java - 图传递性 Java

标签 java data-structures graph

我使用自定义图表来表示一组数据,如图所示:

enter image description here

我已经创建了几种允许我填充结构的方法。此类表示的主要目标是快速了解特定路径是否存在。我的路径搜索方法存在以下问题:

例如,如果我考虑路径“A-> D-> X”、“B-> D -> #”、“A-> E -> #”、“A-> D -> #” ,那么我想获取路径的存在性。 但是,如果我考虑路径“B -> D -> X”,我想知道该路径不存在。

对于在不考虑初始数据集的情况下开发此类方法,您有什么建议吗?

最佳答案

如果唯一可用的路径是表中的路径,则可以使用集合数据结构的任何实现,例如 Java 中的 HashSetTreeSet。只需将所有路径添加到集合中,然后使用 Set.contains 方法检查路径是否有效。

只要有效路径很短或数量很少,这种方法就可以很好地工作。如果存在大量路径并且路径很长,则使用其他数据结构将获得更好的性能。

例如trie是项目序列的集合,可让您检查序列是否在与序列长度成比例的时间内出现。它传统上用于字符串,但您可以轻松地将它用于图形路径。在这种用法中,trie 中的节点将存储图形的节点,以便 trie 中的路径对应于图形中的有效路径。

关于java - 图传递性 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61126291/

相关文章:

Java游戏看起来运行很慢?

java - 初始化 Spring 上下文时 org.springframework.asm.ClassReader 出现 IllegalArgumentException

java - 如何将链表附加到另一个链表的后面?

python - 使用 Python 在 Neo4j 中为其属性创建多个节点

javascript - 如何使用 Javascript 显示图表

javascript - Highcharts 极坐标 : series appear over others when toggle to visible

java - 在Ubuntu终端中编译复杂的Java程序

java - 如何提高Java递归的速度

algorithm - 三栈队列如何实现?

c - C中的空间数据结构