拓扑排序学习http://blog.csdn.net/hcbbt/article/details/9305675
来源:互联网 发布:电子数据交换应用流程 编辑:程序博客网 时间:2024/05/18 02:50
DFS实现
#include <iostream>
#include <cstdio>#include <cstring>
#include <queue>
using namespace std;
const int MAXN=100;
int G[MAXN][MAXN],vis[MAXN],topo[MAXN];
int t,m,n;
bool dfs(int u)
{
vis[u]=-1;
for(int v=1;v<=n;v++)
if(G[u][v])
{
if(vis[v]<0)
return false;
else if(!vis[v]&&!dfs(v))
return false;
}
vis[u]=1;
topo[t--]=u;
return true;
}
bool toposort()
{
t=n;
memset(vis,0,sizeof(vis));
for(int u=1;u<=n;u++)
if(!vis[u]&&!dfs(u))
return false;
return true;
}
int main()
{
freopen("in.txt","r",stdin);
while(cin>>n>>m&&n&&m)
{
int u,v;
memset(G,0,sizeof(G));
for(int i=1;i<=m;i++)
{
cin>>u>>v;
G[u][v]=1;
}
if(toposort())
{
for(int i=1;i<=n;i++)
printf("%d ",topo[i]);
printf("\n");
}
else
printf("no answer\n");
}
return 0;
}
0 0
- 拓扑排序学习http://blog.csdn.net/hcbbt/article/details/9305675
- 快速排序 http://blog.csdn.net/feixiaoxing/article/details/6845132
- 8大排序算法学习 http://blog.csdn.net/ray_seu/article/details/11810293
- 合并排序(http://blog.csdn.net/feixiaoxing/article/details/6846008)
- 从杂乱到有序并不简单--排序算法 http://blog.csdn.net/yixueming/article/details/22901349
- 堆排序 原文地址:http://blog.csdn.net/morewindows/article/details/6709644
- 转 http://blog.csdn.net/hguisu/article/details/7776068 排序算法
- 排序分析 转自http://blog.csdn.net/amazing7/article/details/51603682
- 排序算法汇总——转载自http://blog.csdn.net/zhanglong_daniel/article/details/52513058
- 常见面试排序: http://blog.csdn.net/pi9nc/article/details/12220851
- http://blog.csdn.net/IBM_hoojo/article/details/5688947
- http://blog.csdn.net/chenlaic/article/details/6143235
- http://blog.csdn.net/eaglewood2005/article/details/4335052
- http://blog.csdn.net/mchp/article/details/3995970
- http://blog.csdn.net/v_july_v/article/details/6015165
- http://blog.csdn.net/masterz/article/details/6232585
- http://blog.csdn.net/perfectpdl/article/details/6442847
- http://blog.csdn.net/eroswang/article/details/1967243
- “什么黑白”上线 APP STORE后的心得(模仿别踩白块、钢琴2)
- 获取datagridview选中行的某咧的值
- java实现快速排序
- php的yii框架
- java synchronized详解
- 拓扑排序学习http://blog.csdn.net/hcbbt/article/details/9305675
- Ubuntu更改源
- [java面试题]求出一段字符串中出现的最长的回文数
- Deformable Part Model的学习
- 保留三位有效数字 函数
- imfilter与fspecial函数(http://blog.sina.com.cn/s/blog_5d14765801014fi7.html)
- 指针数组与数组指针
- 单例模式
- html 超级链接点击另起一页