先说结论: 对于有环图,top排序不一定可以生成坏边最小的序列

 

证明:

1. 假设G至少需要去掉k条边才能变成无环图,则任意序列P的坏边数目bad[P] >= k; 

    证明: 如果存在P使得bad[P] < k, 则只要去掉P中的坏边则剩下的必然为无环图,这个和假设矛盾

    推论:存在序列P使得bad[P]=k,去掉k条边,然后top排序即可

2. 对有环图进行拓扑排序得到的序列P, bad[P]和反向边数目相等

   证明:有反向边定义可证

3. 需要证明反向边数和k的关系,通过反例可证明反向边树可能大于k

    DFS之后的树为A-->B->C, 然后存在C->B, C->A两条反向边,但是实际上只要去掉B->C一条边就可以变成无环图

 

ps:其实直接通过反例证伪即可,上面的主要是记录我思考的过程

posted on 2012-07-27 12:01  ellusak  阅读(1063)  评论(1编辑  收藏  举报