首页 > 代码库 > 邻接表

邻接表

      邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的储存结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。

       与邻接矩阵相比,邻接表适合存点多边少的图,在时间和空间上会有一些优化。

       技术分享

          此处借用一下金哥的图,嗯。

邻接表的建立:

void addedge(int u,int v,int w)//u为起点,v为终点,w为边权
{
    cnt++;
    e[cnt].v=v;
    e[cnt].w=w;
    e[cnt].next=head[u];
    head[u]=cnt;
}

调边:

for(int i=head[u];i!=0;i=e[i].next)
{
    int k=e[i].v;
}

  最后,完结撒花。

邻接表