拓扑排序

Kahn算法:1)从有向图中选一个没有入度的顶点

       2)从图中删除所有和它有关的边

       3)重复上述步骤,直至所有顶点输出,或者只剩下环

      (可以判断一个图是否有环)

暴力解法:

    queue<int>q;
    while(!q.empty()) q.pop(); 
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(!vis[j])
            {
                for(int k=1;k<=n;k++)
                    if(v[j][k]) vis[k]--;
                q.push(j);
                vis[j]--;
                break;
            }
        }
    }
    while(!q.empty()) { cout<<q.top()<<" "; q.pop(); }
所遇皆星河
原文地址:https://www.cnblogs.com/Shallow-dream/p/11674899.html