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