zoukankan      html  css  js  c++  java
  • 《离散数学》-图论6.8

    短程线、距离:记Γ是vi到vi的一掉路径,Γi = min{Γ1、Γ2、Γ3…},那么Γi就是vi和vj之间的短程线,其长度即是vi与vj之间的距离。

    点割集、割点:记p(G)为G的连通度,对于点集V的子集V’,V’任意的子集V’’,满足p(G-V’’)>p(G),那么V便成为一个点割集,当某个点割集中只有一个点v时,v称为割点。

    边割集、割边(桥):类比点割集、割点有相似的概念。

    点连通度:用κ(G)表示,k(G) = min{|V’| | V’是点割集或使G-V’是有一个顶点}

    边连通度:与点连通度有相似的定义,用λ(G)表示。

    从定义出发,我们容易得到下面几条知识点:

    (1):对于平凡图(只有一个顶点),κ(G) = λ(G) = 0;

    (2):对于完全图Kn,不存在点割集,因此κ(G) = n-1.(这也是为什么点连通度的定义会多出来一个或情况)

    (3)若G中存在割点,κ(G) = 1,;同样如果存在割边,λ(G) = 1;

    而对于κ(G) 、λ(G)、δ(G),有如下的不等式成立(这里暂且折叠证明)。

                κ(G) ≤ λ(G) ≤ δ(G)

      有向图的连通性:弱连通图、单向连通图、强连通图。

      弱连通图:去掉有向图的方向性而得到的无向图,如果是连通图,那么称其为弱连通图。

    单向连通图:有向图任意两点至少存在一个点到另一个点的通路。

    强连通图:有向图中任意两点都相互可达。

    能够看到,弱连通图、单向连通图、强连通图的连通性是依次增强的,即强连通图一定是单向连通图、单向连通图一定是弱连通图,反之则不然。

    这里记录两个简单的判断有向图连通性的方法。

    判别法一:如果有向图G中存在一条遍历所有顶点的回路,则可判断其为强连通图。

    判别法二:如果有向图G中存在一条遍历所有顶点的通路,则可判断其为弱连通图。

    其正确性是不证自明的,但是我们应该注意到,这两条判断条件是作为充分不必要条件出现的。

    图的矩阵表达:

      首先概述一下几种表示图的矩阵,它其实可以分成两大类,一种是表征顶点和边关联的次数,比如关联矩阵;另一种是表征顶点与顶点之间的关系,比如邻接矩阵和可达矩阵,不同的是前者两个点之间的直接通路的数目,而后者则是记录两点之间是否存在直接通路。

    无向图的关联矩阵:设图G有n个顶点m条边,则形成n行m列矩阵M,Mij表示vi和ej关联的次数(即可取0、1、2)。

    有向无环图的关联矩阵:

    与无向图关联矩阵类似,但是这里矩阵的取值稍有不同,对于Mij的取值,有如下的三种情况:

    (1)    vi与ej不关联,Mij =  0;

    (2)    vi是ei的起点,Mij =  1;

    (3)    vi是ei的重点,Mij= -1;

    (4)     

    有向图的邻接矩阵:对于Aij,表示vi->vj(直接连通)的边数

      关于有向图的邻接矩阵,这里有一条非常重要的定理:

      设A为有向图D的邻接矩阵,D的定点及V={v1,v2,v3…vn},则 A^l  (l≥1)的元素aij是vi到vj长度为l的通路数,  是D中长度为l的通路数,其中  是D中长度为l的回路数。

      证明:考虑利用数学归纳法。

      归纳基础:当m = 1,有邻接矩阵的定义,结论显然成立。

      归纳步骤:假设当m = l – 1时我们给出的定理成立,那么现在我们考虑得到长度为l的路径,我们需要找到所有的点vk,使其满足<vi,vk> = l , <vk,vj> = 1,即可以用如下的等式表达:

        

                                                               

      能够看到,这刚好是与矩阵运算的法则呼应起来的,那么基于m=l-1时成立,m = l也成立,由此归纳完成,定理证毕。

    有向图的可达矩阵:对于Pij,满足(vi可达vj) ? (Pij = 1) : (Pij = 0).

  • 相关阅读:
    堆排序
    剑指 Offer 59
    面试题:happen-before原则和as-if-serial语义
    面试题:Redis的持久化机制是什么?各自的优缺点?
    面试题:单线程redis还这么快
    面试题:微服务理论
    wait和notify
    线程八锁
    面试题:在静态方法和非静态方法上加 Synchronized的区别
    面试题:3种线程阻塞唤醒的对比
  • 原文地址:https://www.cnblogs.com/rhythmic/p/5576756.html
Copyright © 2011-2022 走看看