图的存储

常用的是邻接矩阵和邻接表。

注意有向图和无向图在初始化时的处理,如果是无向图,则一条边要插入两次,以下是一段示例代码:

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);
    }
}
  • 无标签