用邻接矩阵表示法来存储图的话,花费的存储空间很大,我们之前也知道了邻接表的形式来存储图,降低了存储所需的空间。

但是,上面这两种存储方式有一个共性,就是都是以图的节点为基准来存储边的。

下面介绍的链式前向星则是以边为基准来存储节点的。

struct edge
//边的定义
{
int from;
int to;
int next;
int length;
} e[maxm];
void addedge(int u,int v,int length)
//加边
{
edge++;
e[edge].from=u;
e[edge].to=v;
e[edge].next=head[u];
head[u]=edge;
}
void traversal(int u)
//遍历节点u连接的所有结点
{
for(int i=head[u];i!=0;i=e[i].next)
{
edge x=e[i];
//这条边的起点是u
//终点是x.to
//长度是x.length
}
}

转载请注明来源:https://www.longjin666.top/?p=737

欢迎关注我的公众号“灯珑”,让我们一起了解更多的事物~

你也可能喜欢

发表评论