图最实用的存储方式——链式前向星(易懂)

13 篇文章 3 订阅

制作这种算法讲解的文章真的不容易 就点个免费的赞吧

说到图的存储方式,共有三种:邻接矩阵、邻接表还有今天的主角链式前向星

邻接矩阵和邻接表大家可以上网查一下,本蒟蒻还是建议大家使用链式前向星

介绍:

知周所众,邻接表是利用点来存储的

而链式前向星正相反,它是利用边来存储的

思想:

每条边都有一个编号

每条边都有三个基本信息:

1.这条边的起点,如果是无向图,哪个点其实都可以,但有向图就不一样了,因题而论

2.这题边的重点,同上

3.这条边的权值  有没有也是因题而论

存储方式:

既可以用三个数组来分别表示上面所说的

而本蒟蒻一般使用一个结构体直接搞定

定义部分代码:

struct Edge{
    int a,b,w;
}edges[N];

处理:

比如说输入一个m,下面m行,每行三个数u,v,x分别代表每条边的起点终点和权值

输入部分:

    scanf("%lld",&m);
	int m2=0;//随时记录有几条边 
	for (int i=1;i<=m;i++){
		int u,v,x;
		scanf("%lld%lld%lld",&u,&v,&w);
		e[++m].a=u;
		e[m].b=v;
		e[m].w=w;
	}

大佬们这时候就要问了:这   么   简   单    ?

是的就是这么简单

链式前向星的基本方法就介绍到此,后面我会发布一篇图论算法的讲解

制作这种算法讲解的文章真的不容易 就点个免费的赞吧

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值