链式前向星

简单讲解链式前向星

链式前向星


其实它的主要思想就是用数组建立邻接链表,链式前向星的主要就是下面这几行了

1
2
3
4
5
6
7
void add(int u,int v,int w)
{
edge[cnt].c= w;
edge[cnt].to = v;
edge[cnt].next = head[u];
head[u] = cnt++;
}


介绍一下

第一个出场的是edge.c——权重
好的,我们看到紧随其后的是edge.to——这条边的终点/*前两个还是很好理解的
然后就是最最大佬的部分,edge.next——它指向同一起点的上一条边
我们使用链式前向星时常常会看到这么一条语句for(i=head[u];i;i=e[i].next)//插个介绍,head[u]代表以u为起点的边上一次出现的边的编号
我们可以使用它进行一个bfs
举个栗子