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点双连通

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

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

    详见

  • 相关阅读:
    Window7下手动编译最新版的PCL库
    C和C++中的异常处理
    队列之卡片游戏
    C/C++笔记
    最真的梦——文/林清玄
    库函数与系统调用的区别
    hdu2653之BFS
    使用ffmpeg+crtmpserver搭建文件的伪直播
    ZOJ3705:Applications
    c_c++基础问题(平时读书时笔记)
  • 原文地址:https://www.cnblogs.com/Arielzz/p/15041565.html
Copyright © 2011-2022 走看看