zoukankan      html  css  js  c++  java
  • 弦图与区间图

    弦图与区间图


    参考资料:陈丹琦《弦图与区间图》


    1. 预备知识

      图定义为(G=(V,E)),其中(V)为点集,(E)为边集。

      子图定义为对于原图(G=(V,E))的子图(G'=(V',E'),V'in V,E'in E)

      对于原图(G=(V,E)),诱导子图(G'=(V',E'),V'subseteq V,E'={(u,v)|u,vin V,(u,v)in E})

      团定义为原图的一个子图为完全图称为团。极大团定义为一个团不为另一个团的子集。最大团为点数最多的团。(omega(G))表示团数。

      最小染色为用最小的颜色给点染色使相邻的点的颜色不同。(chi(G))表示色数。

      最大独立集为最大的一个点的子集使任何两个点不相邻。(alpha(G))为最大独立集的点数。

      最小团覆盖为用最少的团覆盖所有的点,(kappa(G))为用的最少的团数。

      (omega(G)le chi(G)),团数(le)色数;(alpha(G)lekappa(G)),最大独立集数(le)最小团覆盖数。

    2. 弦图

      弦定义为一个环中连接不相邻的点的边。

      一个图被称为弦图当图中所有长度大于3的环至少有一个弦。

      弦图的每一个诱导子图都是弦图。

    3. 弦图的判定

      单纯点:设(N(v))表示与点(v)相邻的点集。一个点被称为单纯点当({v}+N(v))的诱导子图为一个团。

      任何一个弦图都至少有一个单纯点,不是完全图的弦图至少有两个不相邻的单纯点。

      完美消除序列:一个点的序列(v_1,v_2,dots,v_n)满足(v_i)({v_i,v_{i+1},dots,v_n})的诱导子图中为一个单纯点。一个图为弦图当且仅当存在一个完美消除序列,证明可详见论文。

    4. 求完美消除序列

      求完美消除序列在论文中有很多方法,在这里介绍最简单的一种。

      MCS算法:最大势算法。从n到1给节点编号,设(label[i])为表示第(i)个点与多少个已标号点相邻,每次选择(label[i])最大的未编号点进行编号。时间复杂度为(O(n+m))

      判断一个序列是否是完美消除序列:设({})

  • 相关阅读:
    网络编程前戏
    上传文件数据到数据库
    SpringMVC点滴(1)
    python全栈学习--day2
    python全栈学习--day1
    python练习册 每天一个小程序 第0013题
    python练习册 每天一个小程序 第0012题
    python练习册 每天一个小程序 第0011题
    [XMAN筛选赛](web)ctf用户登录
    python练习册 每天一个小程序 第0010题
  • 原文地址:https://www.cnblogs.com/shanxieng/p/9899141.html
Copyright © 2011-2022 走看看