存图方法——链式前向星

常见的存图的方法有 邻接矩阵

但是如果数据过大的话二维数组开不下,这就需要换一种存图的方法,这里介绍链式前向星

链式前向星的结构由两部分组成

第一部分 是一个结构体

typedef struct
{
    int the_end;//边的结尾(默认为0,若边从0开始则需要初始化为-1)
    int w;//边的权值
    int next;//下一条边在edge数组中的下标
}EDGE;
EDGE edge[500005];

edge[i]表示输入的第i条边

第二部分是一个head数组,head[i]表示以i为起点的第一条边在edge数组中的位置,即edge数组的下标

当以i为起点的边增加一条时,假设这条边在edge数组中的位置为edge[j],那么edge[j].next=head[i],然后head[i]=j;

即将以i为起点的第二条边放在第一条边前面,然后让head[i]等于第二条边的位置,也就是说head[i]表示以i为起点的最后输入的那条边在edge中的位置。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值