zoukankan      html  css  js  c++  java
  • 图论笔记第四章 欧拉图与哈密尔顿图(beta.)考点

     

    图论笔记第四章 欧拉图与哈密尔顿图(beta.

     

    主要内容

    注:ppt-2-word 有公式 乱套。

    摘要:考点, 找欧拉环游,还有辨认 欧拉图,还有H

         定理2 W是包含图G的每条边至少一次的闭途径,则W具有最小权值当且仅当下列两个条件被满足:

          (1) G的每条边在W中最多重复一次;

          (2) 对于G的每个圈上的边来说,在W中重复的边的总权值不超过该圈非重复边总权值。

     

     

    一、欧拉图与中国邮路问题

    二、哈密尔顿图

    三、度极大非哈密尔顿图与TSP问题

    教学时数

    安排8学时讲授本章内容

    四、超哈密尔顿图问题

    本次课主要内容

    ()、欧拉图及其性质

    ()Fleury算法

    ()、中国邮路问题

    欧拉图与中国邮路问题

         1、欧拉图的概念

         (2)、欧拉图概念

         定义1 对于连通图G,如果G中存在经过每条边的闭迹,则称G为欧拉图,简称GE图。欧拉闭迹又称为欧拉环游,或欧拉回路。

    clip_image001clip_image002clip_image003

     

     

         2、欧拉图的性质

         定理1 下列陈述对于非平凡连通图G是等价的:

        (1) G是欧拉图;

        (2) G的顶点度数为偶数;

        (3) G的边集合能划分为圈。

        证明: (1)(2)

         (1),设 C是欧拉图G的任一欧拉环游,vG中任意顶点,v在环游中每出现一次,意味在G中有两条不同边与v关联,所以,在G中与v关联的边数为偶数,即v的度数为偶数,由v的任意性,即证明(2)

         (2)(3)

        由于G是连通非平凡的且每个顶点度数为偶数,所以G中至少存在圈C1,G中去掉C1中的边,得到G的生成

    子图G1,G1没有边,则(3)成立。否则,G1的每个非平凡分支是度数为偶数的连通图,于是又可以抽取一个圈。反复这样抽取,E(G)最终划分为若干圈。

         (3)(1)

        C1G的边划分中的一个圈。若G仅由此圈组成,则G显然是欧拉图。

        否则,由于G连通,所以,必然存在圈C2,它和C1有公共顶点。于是,C1C2是一条含有C1C2的边的欧拉闭迹,如此拼接下去,得到包含G的所有边的一条欧拉闭迹。即证G是欧拉图。

         推论1 连通图G是欧拉图当且仅当G的顶点度数为偶。

         推论2 连通非欧拉图G存在欧拉迹当且仅当G中只有两个顶点度数为奇数。

         1 下面图中谁是欧拉图?谁是非欧拉图但存在欧拉迹?谁是非欧拉图且不存在欧拉迹?

    clip_image004clip_image005clip_image006

     

     

         解:G1是欧拉图;G2是非欧拉图,但存在欧拉迹;G3中不存在欧拉迹。

     

     ()Fleury算法

         该算法解决了在欧拉图中求出一条具体欧拉环游的方法。方法是尽可能避割边行走。

         1 算法

         (1) 任意选择一个顶点v0,w0=v0;

         (2) 假设迹wi=v0e1v1eivi已经选定,那么按下述方法从E-e1,e2,,ei}中选取边ei+1:

         1) ei+1vi相关联;

         2)、除非没有别的边可选择,否则 ei+1不能是

         Gi=G-e1,e2,,ei}的割边。

         (3) (2)不能执行时,算法停止。

     

         3 在下面欧拉图G中求一条欧拉回路。

         解:

    clip_image007

     

         4 某博物馆的一层布置如下图,其中边代表走廊,结点e是入口,结点g是礼品店,通过g我们可以离开博物馆。请找出从博物馆e进入,经过每个走廊恰好一次,最后从g处离开的路线。

    clip_image008

         解:图中只有两个奇度顶点eg,因此存在起点为e,终点为g的欧拉迹。

         为了在G中求出一条起点为e,终点为g的欧拉迹,在eg间添加一条平行边m

         Fleury算法求出欧拉环游为:

         emgcfabchbdhgdjiejge

         所以:解为:egjeijdghdbhcbafcg

         证明:令Wn=v0e1v1envn为由Fleury算法得到的一条G中迹。

         定理1 G是欧拉图,则G中任意用Fleury算法作出的迹都是G的欧拉环游。

     

         3、算法复杂性分析

         G=(n, m)是欧拉图

         Fleury算法知:算法需要m次循环;

          算法中主要运算是判断:                                  ,该判断的时间复杂性是n2数量级的。

     

         所以Fleury算法时间复杂性是:O(n2m),是好算法。

     

     ()、中国邮路问题

         1962年,中国数学家管梅谷提出并解决了“中国邮路问题”

         1、问题

         邮递员派信的街道是边赋权连通图。从邮局出发,每条街道至少行走一次,再回邮局。如何行走,使其行走的环游路程最短?

        如果邮路图本身是欧拉图,那么由Fleury算法,可得到他的行走路线。

        如果邮路图本身是非欧拉图,如何重复行走街道才能使行走总路程最短?

         2、管梅谷的结论

         定理2 W是包含图G的每条边至少一次的闭途径,则W具有最小权值当且仅当下列两个条件被满足:

          (1) G的每条边在W中最多重复一次;

          (2) 对于G的每个圈上的边来说,在W中重复的边的总权值不超过该圈非重复边总权值。

         证明:“必要性”

         首先,设G是连通非欧拉图,uvG的两个奇度顶点,把连接uv的路上的边改为2重边,则路中的点的度数奇偶性没有改变,仍然为偶数,但uv的度数由奇数变成了偶数。如果对G中每对奇度点都如此处理,则最终得到的图为欧拉图。设该图为G1.

         其次,对G1作修改:

         如果在G1中,边e重复数大于2,则在G1中删掉2条重复的e边后,所得之图仍然是包含G的欧拉图。

         G1中,对每组平行边都做上面的处理,最后得到一个重复边数最多为1的包含G的欧拉图G2

         这说明,若W是包含G的所有边的欧拉环游,则G中每条边至多在W里出现两次。这就证明了(1).

         又设CG2中任意一个圈,在该圈中,如果重复边的总权值超过该圈中非重复边总权值,那么可以把该圈中平行边改为非平行边,而把非平行边改为平行边,如此修改,得到的图仍然是包含G的欧拉图,但对应的欧拉环游长度减小了。

     

     


         所以:

         :

     

    2的证明过程实际上给出了求中国邮路问题的方法.下面看一个例题。

    clip_image016

         所以:     这就是说,只要对G2的每个圈都作上面的修改,最后得到的     解:由定理2:图仍

    然为包含

    G的欧拉

     clip_image018

        5  求包含下图G的一个最优欧拉环游。

    v1

     

    clip_image021


    clip_image023

        

    clip_image024

    所以:图,而最后的图正好满足(2).

         6 如果一个非负权的边赋权图G中只有两个奇度顶点uv,设计一个求其最优欧拉环游的算法。

     

         解: 1 算法

        

        (1) uv间求出一条最短路P; (最短路算法)

     

        (2) 在最短路P上,给每条边添加一条平行边得G的欧拉母图G*;

    “充分     由断言2很容易得到:性”

        (3) G的欧拉母图G* 中用Fleury算法求出一条欧拉环游。

     

          2 算法证明

         只需证明:任

    何两条包含G    定理:用上面方法求出的欧拉环游是最优欧拉环游。

         又因为:所有边的闭途径W1W2,如果满足定理2的两个条件,则

    它们有相同的总权值。    证明:设uvG的两个奇度顶点,G*G的任意一个欧拉母图。

     

        考虑G*[E*-E], 显然它只有两个奇数顶点uv, 当然它们必须在G*[E*-E]的同一个分支中,因此,存在(u, v)P*.

         Y1Y2分别表示W

    1W2中重复出现的边集合。      所以,

         我们先证明:对于任意一个圈C*,如果满

     

    足:

          即证明定理。     有:

     

          例如:求出下图的一条最优欧拉环游。

     

    1G[Y]

    clip_image025

     

    clip_image026

    每个顶点度数必然为偶数。

          最优欧拉环游:x u y w v z w y x u w v x z y x

         令:Y= (Y1-Y2) (Y2-Y1)

     作业

  • 相关阅读:
    金融系列4《PUTKEY指令》
    数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径(分享)
    ASP.NET对HTML元素进行权限控制(三)
    ASP.NET对HTML元素进行权限控制(二)
    ASP.NET对HTML元素进行权限控制(一)
    作弊控制——心态
    SQL多表连接
    ASP.NET Repeater嵌套Repeater实现菜单加载
    ASP.NET从数据库中取出数据,有数据的复选框为选中
    ASP.NET——拒绝访问。 (异常来自HRESULT:0x80070005 (E_ACCESSDENIED))
  • 原文地址:https://www.cnblogs.com/titer1/p/2014223.html
Copyright © 2011-2022 走看看