- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs
Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
"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;
|