图的存储
常用的是邻接矩阵和邻接表。
注意有向图和无向图在初始化时的处理,如果是无向图,则一条边要插入两次,以下是一段示例代码:
代码块 |
---|
vector<int> E[maxn]; // 邻接表,e[i]表示顶点i的全部们邻接点
int v, e; // 顶点数,边数
void createGraph() {
int u, v;
cin >> v >> e;
for(int i = 0; i < e; i++) { // e为边数
cin >> u >> v; // 一条边的两个顶点编号
E[u].push_back(v);
E[v].push_back(u);
}
} |