我正在寻找一个示例,如何将图形及其节点和边表示为骨干.js 模型。我希望有人能指出一个如何优雅地做到这一点的例子。
谢谢
马丁
(假设您想将元数据与节点一起存储 - 例如名称等)
一种简单的方法可能是将图形表示为节点模型的集合。
这些模型中的每一个都有一个属性,该属性包含一个由它们连接到的节点的 id 表示的边数组 - 因此collection.toJSON()
将返回如下内容:
[
{
id: 1,
name: 'first node',
edges: [2, 4]
},
{
id: 2,
name: 'second node',
edges: [1, 3, 4]
},
{
id: 3,
name: 'third node',
edges: [2]
},
{
id: 1,
name: 'first node',
edges: [1, 2]
}
]
您可以实现方法来计算节点之间的距离或在集合类中派生集群。
现在正如我所提到的,这是一个简单的实现,根据您想要在图表上执行的操作,它可能效率低下。
如果您想做一些阅读并找到将图形信息存储在类似哈希(模型)或类似列表(集合)结构中的最有效方法,请搜索“邻接矩阵”或“邻接列表”并从那里开始!