前向星原理

前向星是一条绳,长相如下:

父节点x->0(head[x])

父节点x->子节点1(head[x])->0

父节点x->子节点2(head[x])->子节点1->0

父节点x->子节点3(head[x])->子节点2->子节点1->0

定义结构体如下:

struct Edge{
    int next,v,w;
}edge[maxn];
int tot;

tot是对子节点的编号

head[x]依次变为最新加入的子节点的序号

v是这边连的点的名字

w是这条边的边长

加边的模板如下:

void add(int x,int y,int w)
{
    edge[++tot].w=w;
    edge[tot].v=y;
    edge[tot].next=head[x];
    head[x]=tot;
}

猜你喜欢

转载自www.cnblogs.com/SUMMER20020929/p/10559025.html