Class: Graph
图对象,这里的图默认是:有向、连通图
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
Properties
Methods
- check
- clone
- getMaxDegreeVertext
- getMinDegree
- getOrder
- getPathList
- isAlone
- isBridge
- isSubGraph
- isTree
- isZero
- travelNext
- traverse
Constructors
constructor
new Graph(vertexes
, edges
)
生成0-n棵虚拟树( 提出去放到system)
Parameters
Name | Type |
---|---|
vertexes | Vertext [] |
edges | Edge [] |
Properties
edges
edges: Edge
[]
边
hasDirection
hasDirection: boolean
= true
有向图还是无向图
vertexes
vertexes: Vertext
[]
顶点
Methods
check
check(): void
Returns
void
clone
clone(): Graph
Returns
getMaxDegreeVertext
getMaxDegreeVertext(): Vertext
获取最大度顶点
Returns
getMinDegree
getMinDegree(): number
获取最小度
Returns
number
getOrder
getOrder(): number
阶(Order):图G中点集V的大小称作图G的阶。
Returns
number
getPathList
getPathList(u
, v
, history?
): Path
[]
Parameters
Name | Type |
---|---|
u | Vertext |
v | Vertext |
history | Set <unknown > |
Returns
Path
[]
isAlone
isAlone(): boolean
是否平凡图(仅有一个节点,无边)
Returns
boolean
isBridge
isBridge(): void
目前版本暂未实现 桥(Bridge):若去掉一条边,便会使得整个图不连通,该边称为桥。
Returns
void
isSubGraph
isSubGraph(g
): void
目前版本暂未实现
判断给定图是否当前图的子图。
子图(Sub-Graph):当图G'=(V',E')其中V‘包含于V,E’包含于E,则G'称作图G=(V,E)的子图。每个图都是本身的子图。
Parameters
Name | Type |
---|---|
g | Graph |
Returns
void
isTree
isTree(): boolean
是不是一棵树 图是树需要满足三个条件:
- 图中结点均连通,即结点属于同一个集合;
- 没有回路
- 是无向的
Returns
boolean
isZero
isZero(): boolean
是否零图(有节点,无边)
Returns
boolean
travelNext
travelNext(rootVetext
): any
[]
严格按照方向->从指定节点遍历所有顶点
- 广度优先
- 到头或者再次遇到自己结束
Parameters
Name | Type |
---|---|
rootVetext | Vertext |
Returns
any
[]
traverse
traverse(begin?
, type?
, rs?
, history?
): any
[]
遍历整个图所有节点和边, 深度优先
Parameters
Name | Type | Default value |
---|---|---|
begin? | Vertext | undefined |
type | "depth" | "breadth" | 'depth' |
rs | any [] | [] |
history | Set <unknown > | undefined |
Returns
any
[]