Class: GraphSystem
图系统 (贴合数学上的图论)
一、提供静态方法,可以把Node/Link对象集合转成 图对象;
二、根据图对象可以更方便的分析对象关系,例如:
- 某个节点的出入度、邻接节点列表
- 图的遍历
- 从一个节点到另外一个节点的路径信息等
提供、提供常用算法,例如:
- 最小生成树
- 判断一个图是否是“树”( 是否有回路 等)
- 是否零图
- 图的阶(Order)、是否零图、是否平凡图等
js
// 代码示例:
// node&link对象集合
let objects = layer.children;
// 转成图对象(0-多个)
let graphArr = stage.graphSystem.objectsToGraphs(objects);
let graph = graphArr[0];
console.log(graph.isTree());
// 顶点集合
let vertexes = graph.vertexes;
console.log('第一个顶点的出度为:', graph.vertexes[0].getOutDegree());
// 边集合
let edges = graph.edges;
// ...
Table of contents
Constructors
Methods
Constructors
constructor
new GraphSystem()
Methods
getLinks
getLinks(graph
): any
[]
Parameters
Name | Type |
---|---|
graph | Graph |
Returns
any
[]
getNodes
getNodes(graph
): any
[]
Parameters
Name | Type |
---|---|
graph | Graph |
Returns
any
[]
objectsToGraphs
objectsToGraphs(displayObjects
): Graph
[]
将Node或者Link集合转成图列表
Parameters
Name | Type |
---|---|
displayObjects | (Node | Link )[] |
Returns
Graph
[]
toGraphs
toGraphs(vertexes
, edges
): Graph
[]
Parameters
Name | Type |
---|---|
vertexes | Vertext [] |
edges | Edge [] |
Returns
Graph
[]
toTree
toTree(graph
): VirtualTree
生成1棵虚拟树( 提出去放到system)
Parameters
Name | Type |
---|---|
graph | Graph |
Returns
VirtualTree
Array
travelVertext
travelVertext(v
, subVertexes?
, subEdges?
, markSet?
): void
Parameters
Name | Type | Default value |
---|---|---|
v | Vertext | undefined |
subVertexes | Vertext [] | [] |
subEdges | Edge [] | [] |
markSet | Set <any > | undefined |
Returns
void
createMinimalSpanningTree
Static
createMinimalSpanningTree(graph
): Graph
根据图生成最小生成树
Parameters
Name | Type |
---|---|
graph | Graph |