我有一个字符串,需要使用 javascript 将其解析为图 (DAG) 数据结构。数据结构中包含一些我应该存储的属性,例如节点的 ID、名称,以及如果存在到另一个节点的链接则提供给链接的标签。所以,一个例子是
Node1 (id: 1, name: 'first') --('link name')--> Node2 (id:....)
等等。创建数据结构后,除了读取它之外,我不需要对其执行任何操作(稍后我将使用它来使用 d3 呈现可视化)。节点数量不会很多,因为有几个是共享的。
我正在想象一个邻接表,但不确定如何在 javascript 中对其进行编码。例如,我知道一个 json 对象可以有一个“字段”:“值”结构,但我可以用对象来做到这一点:[相邻对象列表]吗?
最佳答案
您可以在 json 中使用列表(数组)。例如。我可以将一个简单的有向图表示为
{
"NodeA": {"name": "NodeA", "adjacentTo": ["NodeB", "NodeC"]},
"NodeB": {"name": "NodeB", "adjacentTo": ["NodeC", "NodeD"]},
"NodeC": {"name": "NodeC", "adjacentTo": ["NodeA"]},
"NodeD": {"name": "NodeD", "adjacentTo": []}
}
这将是图表:
C
^^
| \
| \
A -> B -> D
名称字段确实不是必需的,但您可以通过这种方式将您想要的任何属性与节点相关联。
关于javascript - 在 Javascript 中表示 DAG 的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12646560/