三种存图方式
作者:互联网
一、邻接矩阵
int i, j;
int a[maxn][maxn];
//a[i][j]代表i-->j
if (i-- > j有边) a[i][j] = 1;
else a[i][j] = 0;
二、vector
- 没有权值的情况
vector<int> v[maxn];
if (i--> j有边) v[i].push_back(j);
//遍历,查找u能否达到h
for (int k = 0; k < v[u].size(); k++) {
int tmp = v[u][k];
if (tmp == h) return u--> h有边
}
- 有权值的情况
struct Node {
int to, dis;
};
if (i--> j有边) {
Node n={j,dis};
v->push_back(n);
}
//遍历,查找u能否达到h
for (int k = 0; k < v[u].size(); k++) {
Node tmp = v[u][k];
if (tmp == h) return u--> h有边
}
三、邻接链表(略)
skyyemperor 发布了8 篇原创文章 · 获赞 0 · 访问量 112 私信 关注标签:tmp,有边,方式,int,back,Node,三种,存图,maxn 来源: https://blog.csdn.net/skyyemperor/article/details/104405054