首页 > 其他 > 详细

图论基础——邻接链表存图

时间:2019-10-02 21:15:22      阅读:114      评论:0      收藏:0      [点我收藏+]

邻接链表存图,在这里其实是用数组进行模拟

又叫做链式存储法,本来是要用链表实现的,但大多数情况下只需要用数组模拟即可

例:

u(边的起点) v(边的终点) w(边的权值)
4 2 1
1 2 3
1 4 1
1 5 2
4 3 4
2 3 1

 

 

 

技术分享图片

话不多说,直接上代码

for(int i=1;i<=m;i++)
    {
        scanf("%d%d%d",&u1,&v1,&w1);
        e[i].u =u1;//赋给第i条边的起点        
        e[i].v =v1;//赋给第i条边的终点
        e[i].w =w1;//赋给第i条边的权值
        e[i].next =head[u1];//现在这条边的上一条边=现在这条边的起点的上一条边(u1是起点) 
   head[u1]=i;//于是,对于以后的边来说,现在这条边就是起点的上一条边 }

注:e[i]为一个结构体,负责记录每一条边的信息

struct Node{
    int u;//边的起点
        int v;//边的终点
        int w;//边的权值
    int next;//边的上一条边(用于连接)
}e[边的最大条数];    

总的来说,这是一种存图的方法,更是图论的基础

 

图论基础——邻接链表存图

原文:https://www.cnblogs.com/jhl0824/p/11618429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!