我正在尝试使用 C++ 和矩阵来实现 Prim 的算法。
这是我的问题:
int node[] = {11, 11, 0, 11, 11, 11, 11, 11};
int nodeCon[8];
void generatePrims() {
int cNode = 3;
for (int i = 1; i <= 8; i++) {
if (graph[cNode][i] != 0){
if (node[i] > graph[cNode][i]) {
node[i] = graph[cNode][i];
nodeCon[i] = cNode;
}
}
}
};
cNode 是起始节点。
graph[][]
是保持连接的二维矩阵。
nodeCon[]
是将保存 MST 连接的数组(哪个节点与其他节点连接)
node[]=
保存 nodeCon 的成本值。
我的问题是我将如何继续下一跳?假设我找到了最小连接,我将设置cNode= minConnection
循环的外观?我怎么知道我检查了所有节点?
提前致谢