Files
railwaysystem/RuoYi-Vue/ruoyi-ui/node_modules1/@antv/graphlib/lib/generate/compelement.js
T

36 lines
1.3 KiB
JavaScript
Raw Normal View History

2026-09-10 15:40:10 +08:00
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGraphComplement = void 0;
var essence_1 = require("../essence");
var Graph_1 = __importDefault(require("../Graph"));
/**
* @description Get the graph's complement
* @description.zh-CN 获取图的补图
*/
var getGraphComplement = function (originGraph) {
if (!(0, essence_1.isSimpleGraph)(originGraph)) {
return null;
}
var nodeCount = originGraph.nodeCount();
var complementGraph = new Graph_1.default({
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;
};
exports.getGraphComplement = getGraphComplement;