弦图

弦图

图的基本概念

图G = (V, E)

  • 子图

    G=(V,E),VV,EE G ′ = ( V ′ , E ′ ) , V ′ ⊆ V , E ′ ⊆ E 为图G的子图。

  • 诱导子图

    G=(V,E),VV,E={(u,v)|u,vV,(u,v)E} G ′ = ( V ′ , E ′ ) , V ′ ⊆ V , E ′ = { ( u , v ) | u , v ∈ V ′ , ( u , v ) ∈ E } 称为图G的诱导子图。

  • 图G中的一个子图 G=(V,E) G ‘ = ( V ′ , E ′ ) , G’为关于V’的完全图。

  • 极大团

    一个团是极大团当它不是其它团的子集。

  • 最大团 ω(G) ω ( G ) 团数

    点数最多的团

  • 最小染色 χ(G) χ ( G ) 色数

    用最少的颜色给点染色使相邻点颜色不同。

  • 最大独立集 α(G) α ( G ) 集合个数

    最大的一个点的子集使任何两个点不相邻

  • 最小团覆盖 κ(G) κ ( G ) 最少团数

    用最少个数的团覆盖所有的点。

    ω(G)χ(G) ω ( G ) ≤ χ ( G )

    α(G)κ(G) α ( G ) ≤ κ ( G )

  • 连接环中不相邻的两个点的边。

  • 弦图

    一个无向图当图中任意长度大于3的环都至少有一个弦的图。

  • 弦图的每一个诱导子图一定是弦图

  • 单纯点

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

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

  • 完美消除序列

    一个点的序列(每个点出现且恰好出现一次) v1,v2,,vn v 1 , v 2 , ⋯ , v n 满足 vi v i {vi,vi+1,,vn} { v i , v i + 1 , ⋯ , v n } 的诱导子图中为一个单纯点。

    定理:一个无向图是弦图当且仅当它有一个完美消除序列。

最大势算法(MCS)

从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)

label[i]表示第i个点与多少个已标号的点相邻,每次选择labeli]最大的未标号的点进行标号。

判断一个序列是否为完美消除序列

  • 算法过程

    {vi+1,,vn} { v i + 1 , ⋯ , v n } 中所有与 vi v i 相邻的点依次为 {vj1,,vjk} { v j 1 , ⋯ , v j k }

    只需判断 vj1 v j 1 是否与 vj2,,vjk v j 2 , ⋯ , v j k 相邻即可。

    时间复杂度:O(m + n)。

    弦图判断问题可以在O(m + n)的时间内解决。

弦图最小染色

  • 算法过程

    用MSC算法求出弦图的完美消除序列。

    完美消除序列可以从后往前依次给每个点染色,给每个点染上可以染的最小颜色。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值