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

    图论里的一系列概念、性质、定理。

      无向图中的平行边:字面理解,即是两个顶点相同的边,互称为平行边。

      无向图重数:无向图中平行边的条数成为重数,这里要注意,是所有平行边的和而不是最大的一组平行边。

      有向图中的平行边:与无向图平行边的定义很类似,但是这里要求起点和终点是一致的(即方向要一致)。

      多重图:含有平行边的图。

      简单图:不含平行边和自环的图。容易看到,对于n阶简单图满足Δ≤n-1。

      无向完全图:任意两个顶点之间都存在边,用Kn来表示。基于其定义,我们可知边数m = C(n,2)

      有向完全图:任意两个顶点之间存在方向相反的两条边,边数m=2C(n,2)。

      k-正则图(基于无向简单图) : 各顶点度数都是k的无向简单图,结合我们之前学习过的握手定理,边数m = ∑d(vi)/2 = nk/2.

      圈图:即存在一条路径<v1,v2,…vi,v1>,使得从v1出发可以回到v1.

      轮图:基于圈图,在圈内部放置一个点,并将这个点连接圈上的每一个点。

      子图、真子图、生成子图:它们的概念理解并不困难,需要注意的是生成子图要求点集是原图的点的全集。

      补图:设n阶图为G,则满足G∪G’ = Kn边数最少的G’,即G的补图。

      图的连通性:

      设图G中有一条路径<v1,e1,v2,e2,v3…,vn>

      首先:如果n=1,则形成一条回路

      简单通路(回路):如果该路径的边没有重复经过,则这是一条简单通路。

      初级通路(回路):如果该路径的边和点都没有重复经过,则这是一条初级通路

      复杂通路(回路):如果该路径中边出现重复,那么这是一条复杂通路。

      通过定义我们容易看到,初级通路一定是简单通路,反之则不成立。

      定理:在一个n阶图中,若从顶点u到v(u≠v)存在通路,则从u到v存在长度小于等于n-1的初级通路。

      证明:设u到v的一条路径是<v1,e1,v2,e2,…,vl>,如果这条路径点没有重复出现,那么显然这是一条初级通路,而边数也至多是n-1.否则,必然存在t<s,vs = vt(v、s大小表示访问的先后顺序),删掉路径<vs,es…vt>,反复操作,则必然可以得到一条初级通路。证毕。

      Ex1:画出4阶3条边的所有非同构的无向简单图。

      对于画非同构图的问题,我们考虑先得到所有度数列,然后再一一画出图。而对于该题,有无向简单图的限制,则Δ≤3,再结合握手定理的推论,则我们容易得到如下几种度数列。

      ①1 1 1 3

      ②1 1 2 2

     ③0 2 2 2

     随后依次画出图即可。需要注意的是,相同的度数列也可以画出通构图,我们通过下一个例题来给出例子。

    Ex2:画出1,1,,12,2,3为度数列的3个非同构无向简单图。

    这个过程有点类似高中有机化学中找同分异构体,而在具体到这个题目当中,其实很类似基于一个线性的结构(5个顶点),然后挂一个甲基,很显然,考虑对称性有2-甲基和3-甲基两种非同构情况,这就给出了一个相同度数列但是图是非同构的情形。

  • 相关阅读:
    /etc/sysctl.conf 控制内核相关配置文件
    python 并发编程 非阻塞IO模型
    python 并发编程 多路复用IO模型
    python 并发编程 异步IO模型
    python 并发编程 阻塞IO模型
    python 并发编程 基于gevent模块 协程池 实现并发的套接字通信
    python 并发编程 基于gevent模块实现并发的套接字通信
    python 并发编程 io模型 目录
    python 并发编程 socket 服务端 客户端 阻塞io行为
    python 并发编程 IO模型介绍
  • 原文地址:https://www.cnblogs.com/rhythmic/p/5571934.html
Copyright © 2011-2022 走看看