Java中是否存在有向无环图(DAG)数据类型,我应该使用它吗?

我正在用Java建模电源子系统。一个简单的SQLite数据库包含一组行可替换单元(LRU)以及它们之间的连接。我正在编写Power Model

API,以使用DDD模式和存储库简化数据存储的查询。

我正在寻找合适的Java集合来对查询结果进行建模。LRU连接流中有一些特殊情况需要建模:

  1. 最初,有一个具有多个端口(<= 16)的配电单元(PDU),用于向下游LRU供电。
  2. 功率流中的典型连接包括单个电源LRU(电源在此发出)和单个漏极LRU(电源在此被消耗)。
  3. 但是,在下游可能有一个单源LRU连接到多个宿LRU。
  4. 动力流中没有循环。

上面#3的包含使我考虑将API作为树返回查询结果。但是我在java.util中发现的唯一一棵树是一个TreeMap键值对成对的红黑树,这似乎不合适(或者我想不出用它来对电源流进行建模的合适抽象。)我也一直在考虑LinkedHashSet,但我也不认为这是适当的。我不清楚这种结构中的节点如何指向下游节点。

我现在不关心时间或空间的效率。我的API仅需通过向外部客户端(例如,基于Java的Power

Monitoring&Control应用程序的表示层)提供电源连接信息来工作。对开放源数据类型/库的使用也没有任何限制。

用一般的计算机科学术语来说,我真正想要的是有向无环图(DAG)。

有针对Java的实现吗?我是否正确认为DAG适合我的情况?

回答:

对于这个特殊的问题。我决定使用Guava的LinkedListMultimap。

以上是 Java中是否存在有向无环图(DAG)数据类型,我应该使用它吗? 的全部内容, 来源链接: utcz.com/qa/435111.html

回到顶部