让人输入一个整数N作为图中的顶点数。
#include <iostream>
#include <stdlib.h>
using namespace std;
void gen_random_graph(int n)
{
int adj_matrix[n][n];
for(int u = 0; u < n; u++)
{
for (int v = 0; v < n; v++)
{
if(adj_matrix[u][v]==adj_matrix[v][u])
{
adj_matrix[u][v] = rand() % 10 + 1;
cout << adj_matrix[u][v] << endl;
}
}
}
}
int main()
{
int N;
cout << "enter number of vertices" << endl;
cin >> N;
gen_random_graph(N);
return 0;
}目前为止,THis是我的代码。它能产生重量吗?我要退一双是什么意思?
发布于 2016-04-20 02:23:35
图可以表示为N邻接矩阵(正如您已经设置的那样),其中matrix[i][j]中的值对应于连接顶点i到顶点j的边的权重。零对应于i和j之间没有连接。如果是matrix[i][j] == matrix[j][i],则有一个无向图。此外,随机图将具有随机值作为顶点之间的边。
在每个边都存在或不存在的情况下(即权重为0或1),可以有以下内容:

这张照片是从网上偷来的,所以我不相信它。请注意,您可以很容易地确认第一个图是无向的,因为邻接矩阵是对称的。同样,第二个图是有向的,因为矩阵是不对称的。
https://stackoverflow.com/questions/36732586
复制相似问题