Java中是否存在有向无环图(DAG)数据类型,我应该使用它吗?
我正在用Java建模电源子系统。一个简单的SQLite数据库包含一组行可替换单元(LRU)以及它们之间的连接。我正在编写Power Model
API,以使用DDD模式和存储库简化数据存储的查询。
我正在寻找合适的Java集合来对查询结果进行建模。LRU连接流中有一些特殊情况需要建模:
- 最初,有一个具有多个端口(<= 16)的配电单元(PDU),用于向下游LRU供电。
- 功率流中的典型连接包括单个电源LRU(电源在此发出)和单个漏极LRU(电源在此被消耗)。
- 但是,在下游可能有一个单源LRU连接到多个宿LRU。
- 动力流中没有循环。
上面#3的包含使我考虑将API作为树返回查询结果。但是我在java.util中发现的唯一一棵树是一个TreeMap键值对成对的红黑树,这似乎不合适(或者我想不出用它来对电源流进行建模的合适抽象。)我也一直在考虑LinkedHashSet,但我也不认为这是适当的。我不清楚这种结构中的节点如何指向下游节点。
我现在不关心时间或空间的效率。我的API仅需通过向外部客户端(例如,基于Java的Power
Monitoring&Control应用程序的表示层)提供电源连接信息来工作。对开放源数据类型/库的使用也没有任何限制。
用一般的计算机科学术语来说,我真正想要的是有向无环图(DAG)。
有针对Java的实现吗?我是否正确认为DAG适合我的情况?
回答:
对于这个特殊的问题。我决定使用Guava的LinkedListMultimap。
以上是 Java中是否存在有向无环图(DAG)数据类型,我应该使用它吗? 的全部内容, 来源链接: utcz.com/qa/435111.html