1

我正在寻找一个示例,如何将图形及其节点和边表示为骨干.js 模型。我希望有人能指出一个如何优雅地做到这一点的例子。

谢谢

马丁

4

1 回答 1

1

(假设您想将元数据与节点一起存储 - 例如名称等)

一种简单的方法可能是将图形表示为节点模型的集合。

这些模型中的每一个都有一个属性,该属性包含一个由它们连接到的节点的 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]
   }
]

您可以实现方法来计算节点之间的距离或在集合类中派生集群。

现在正如我所提到的,这是一个简单的实现,根据您想要在图表上执行的操作,它可能效率低下。

如果您想做一些阅读并找到将图形信息存储在类似哈希(模型)或类似列表(集合)结构中的最有效方法,请搜索“邻接矩阵”或“邻接列表”并从那里开始!

于 2013-09-24T20:54:40.087 回答