【发布时间】:2017-05-28 02:38:57
【问题描述】:
我有一个可以由 2 种算法组成的图:Cluster 和 Normal。
我需要一种方法来根据其最近的集群类型节点找出希望类型的节点是我的普通节点:
- 例如在上图中,我想知道节点 (A) 的类型是基于其最近的集群类型节点。
- 如您所见,普通
node A与节点Cluster 1的距离为1边/链接。 - 此外,节点 A**
strong text** 与节点Cluster 2之间有 2 条边/链接的距离。 - 因为到集群 1 的距离小于到集群 2 的距离。节点 (a) 是类型 1。
- 如果到集群 2 的距离比到集群 1 的距离短,那么它将是类型 2。
我正在使用 javascript + d3 制作此图表。
我在互联网上搜索,发现 Djikastra 的算法可能是我需要的,但 Djikastras 需要一个初始节点和一个目标节点。
我的问题是:
我的所有集群类型节点都是我的目标,我需要根据其最近的集群为每个普通类型节点找到它将是哪种类型。
Djikstra 是最好的算法吗?我不确定在具有数百个节点的相当复杂的图中,该算法是否会有效执行。
这或多或少是我的节点和链接的外观:
Node A = {
name: A,
type: normal,
id: node_1
}
Node Cluster 1 = {
name: Cluster 1,
type: cluster,
id: node_2
}
Edge or link = {
from= node_1,
to= node_2
}
【问题讨论】:
标签: javascript algorithm d3.js shortest-path