• 链式前向星


    发现现在的博客都是相互抄啊,也看不懂博客上在讲啥。

    链式前向星是用来存储图的的一种结构。链式前向星最关键的一点在我看来是逆序思维。把拥有一个起点的全部用head数组加结构体里的next链接起来,这些边的存储顺序不一定是连续的,这是和前向星的区别。此外head[u]存储的是以u为起点的最后一条被输入进去的边,比如同起点的几条边输入数顺序为(1,3 ),(1,5),(1,7)则 head[1]保存 的是最后一条边(1,7)的存储位置 。最后顺着head数组就可以从后往前找到所有同一起点的边。下面上代码给大家解释一下。

    int cnt=0;
     
    struct Edge{
        int next;//保存了与这条边同起点的边的上一条边的位置,eg:输入顺序(1,2),(1,5),若当前这条边为(1,5),则next就指的是(1,2)这条边的编号 
        int to;//保存了边的终点 
        int w;//保存了边的权值 
    }edge[maxn]; 
    
    void add(int u,int v,int w)
    {
        edge[cnt].next=head[u];//初始head全部看成-1即可 
        edge[cnt].to=v;
        edge[cnt].w=w;
        head[u]=cnt++;//head[u]保存当前输入的以u为起点的最后一条边的序号 
        
    }
  • 相关阅读:
    浅谈随机化算法
    SPSS问题
    羽毛球技术
    三大线性排序之桶排序
    Java产生随机数
    Java堆栈详解
    三大线性排序之基数排序
    指针 和 数组
    复制构造函数 与 赋值函数 的区别
    【c++】类中的const成员
  • 原文地址:https://www.cnblogs.com/rainyskywx/p/10402381.html
Copyright © 2020-2023  润新知