Files
railwaysystem/RuoYi-Vue/ruoyi-ui/node_modules2/@antv/graphlib/es/generate/compelement.js
T
2026-09-10 15:40:10 +08:00

35 lines
890 B
JavaScript

import { isSimpleGraph } from '../essence';
import Graph from '../Graph';
/**
* @description Get the graph's complement
* @description.zh-CN 获取图的补图
*/
export var getGraphComplement = function getGraphComplement(originGraph) {
if (!isSimpleGraph(originGraph)) {
return null;
}
var nodeCount = originGraph.nodeCount();
var complementGraph = new Graph({
compound: originGraph.isCompound(),
directed: originGraph.isDirected(),
multigraph: originGraph.isMultigraph()
});
var nodes = originGraph.nodes();
for (var i = 0; i < nodeCount; i++) {
var nodei = nodes[i];
complementGraph.setNode(nodei, originGraph.node(nodei));
for (var j = i + 1; j < nodeCount; j++) {
var nodej = nodes[j];
if (!originGraph.hasEdge(nodei, nodej)) {
complementGraph.setEdge(nodei, nodej);
}
}
}
return complementGraph;
};