zoukankan      html  css  js  c++  java
  • 清北学堂北京大学吴耀轩神仙讲课day5摘要

    今天讲图论

    图是啥?(白纸上的符号?)

    对于一个拥有n个顶点的无向连通图,它的边数一定多于n-1条。若从中选择n-1条边,使得无向图仍然连通,则由n个顶点及这 n-1条边(弧)组成的图被称为原无向图的生成树。

    换句话说,有边有点就是图。(本蒟蒻的理解是这样。。QWQ)

    另外,还有一些与图有关的定义(很好理解,通俗一点):

    阶:图中点的个数。

    边:两个点间的连接

    权值:边的长度

    。。。想了解更多找度娘,她可能讲的比我通俗QWQ。

    邻接矩阵:

     

     存图方式:邻接矩阵,链式前向星

    1.邻接矩阵:用两个角标存储,f[i][j]表示从i到j的边的权值

    2.链式前向星:

    void addedge(long long from,long long to,long long dis)//入边链式前向星 
    {
        num_edge++;//编号
        edge[num_edge].next=head[from];//把next值改为此边编号
        edge[num_edge].to=to;//to和dis分别为对应的终点和长度
        edge[num_edge].dis=dis;
        head[from]=num_edge;//把这个边的始点的编号的head值改为前一个边的编号(指向)
    }

    最小生成树:从图中选出一些边和结点,使得每个结点都被联通,且保证边权之和最小

    克鲁斯卡尔:

    最短路径算法:

    floyd:

    代码为三重循环

    比尔曼福德:

    Bellman - ford算法是求含负权图的单源最短路径的一种算法,效率较低,代码难度较小。其原理为连续进行松弛,在每次松弛时把每条边都更新一下,若在n-1次松弛后还能更新,则说明图中有负环,因此无法得出结果,否则就完成。

     

    DAG(大哥):

  • 相关阅读:
    Fiddler常用命令
    在Fiddler中添加自己所需的显示列
    清除微信小程序的缓存
    关于接口幂等性的一些总结
    外边距塌陷如何解决?
    CSS背景属性
    CSS链接伪类:超链接的状态
    CSS三大特性
    CSS块元素、行内元素、行内块元素的转换
    CSS行内块元素(内联元素)
  • 原文地址:https://www.cnblogs.com/lbssxz/p/10802937.html
Copyright © 2011-2022 走看看