图中邻接表的一种表示

141 阅读1分钟

update on2020.1.31 晚上, 突然发现这个东西好像叫做链式前向星, 嗯, 确认过, 没学过, 赶紧学习一波去喽

今天刷洛谷, 碰到了一题的题解看了我半天没有看懂, 后来发现原来是因为我不会领接表的数组表示的方法, 经过仔细分析后终于算是懂了原理, 下面直接贴上部分代码吧, 主要是理解这个思想, 但我咋感觉用指针都比这个数组好理解

int h[MAXN];//h[i]记录点i在邻接表中指向的第一条边

struct Edge {
    int v;
    int next;//next记录这条边在邻接表中指向同端点的另一条边
} edge[MAXM];

void addEdge(int u, int v) {
    tot++;
    edge[tot].v = v;
    edge[tot].next = h[u];
    h[u] = tot;
}