zoukankan      html  css  js  c++  java
  • 图论知识点

    欧拉路径|回路

    经过每条边恰好一次的路径

    无向图的欧拉路径:两个点(或 0 个点)度数为奇数,其余点(或所有点)度数为偶数

    有向图的欧拉路径:一个点的出度等于入度 + 1, 一个点的入度等于出度 + 1

    无向图欧拉回路:所有点的度数为偶数

    有向图欧拉回路:所有点的入度等于出度且联通

    Hierholzer算法

    void dfs(int u){//s1~sn中存储的是欧拉路径上的点序列
        for (int v = 1; v <= n; v++){
            if (mp[u][v] > 0){
                mp[u][v]--,mp[v][u]--;
                dfs(v);
            }
        }
        s[temp--] = u;
    }
    

    强联通分量

    有向图中互相可达的极大子图

    (tarjan) 判就好了

    边点双联通

    在一张连通的无向图中,对于两个点u和v,如果无论删去哪条边(只能删去一条)都不能使它们不连通,我们就说u和v边双连通

    在一张连通的无向图中,对于两个点u和v,如果无论删去哪个点(只能删去一个,且不能删 和 自己)都不能使它们不连通,我们就说u和v点双连通

    边双连通分量定义:在分量内的任意两个点总可以找到两条边不相同的路径互相到达。总而言之就是一个圈,正着走反着走都可以相互到达,至少只有一个点。

    点双连通分量定义:任意两个点可以找到一条点不同的路径互相到达。也是一个圈,正反走都可以,至少为一个点。

    详见

  • 相关阅读:
    leetcode680
    leetcode558
    leetcode840
    leetcode703
    leetcode836
    leetcode704
    leetcode849
    leetcode707
    2019-10-26-Inno-Setup-安装包脚本-Run-的-Flags-标记
    2019-8-30-C#-从零开始写-SharpDx-应用-笔刷
  • 原文地址:https://www.cnblogs.com/Arielzz/p/15041565.html
Copyright © 2011-2022 走看看