可简单图化算法(Havel算法)

算法分析(推理过程)

  • 首先,我们很容易通过握手定理(所以点的度数加起来是偶数)知道,对应的度序列是否可图化。
  • 在确定了可图化之后。但是担心会出现不可简单图化的情况。
  • 我们只需要对于这种可能进行讨论就好了。
  • 在可图化,但是不可简单图化的这种图中,就是因为会出现一些点上,一定会出现环(或者重边)的情况
  • 所以,我们只需要确定了一个固定的顺序,这样就可以解决掉这里重边的情况。(在操作系统中,关于解决死锁的时候,也用了类似的一个解决方案来破掉死锁的条件之一 —— 循环等待)。然后只允许前面的点与后面的点来构建边,在这样的边建立完成之后,就不允许反过来的操作(这样就避免重边 情况)
  • 所以,关键还是在环路的这种情况上。有环是怎么一回事呢?就是在前面的点,在合理的与(顺序在其后面的)点相连之后,任然剩下度没有能解决掉。这样的剩下来的度,岂不就是必须由环来提供。所以,只需要保证这样的点不存在就好了。
  • 注意,这里我们使用了前面已知的有序性。(这里有序性就直接用度的有序性来做就好了(从大到小))
  • 保证了上面的有序性还有一个作用,因为度大的点更有可能满足条件。。(否则会出现负的情况)。
  • 证明到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥宅_Sean

公众号“肥宅Sean”欢迎关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值