topo排序(邻接表) 判断topo序列是否存在,是否唯一,以及输出序列
来源:互联网 发布:日本历史书籍推荐知乎 编辑:程序博客网 时间:2024/06/05 21:03
const int maxn=1e3+7;struct Topo { int indeg[maxn],n; vector<int> G[maxn],path; void init(int n) { this->n=n; for(int i=0; i<=n; i++) G[i].clear(); memset(indeg,0,sizeof(indeg)); path.clear(); } void addEdge(int u,int v) { //添加有向边 G[u].push_back(v); indeg[v]++; } int topoSort() { //1 代表有topo序列 0代表序列不存在 -1代表序列不唯一 queue<int> que; for(int i=1; i<=n; i++) { //注意结点下标从1开始 if(indeg[i]==0) { que.push(i); } } int sum=0,flag=0; while(!que.empty()) { int cur=que.front(); path.push_back(cur); if(que.size()>1)flag=1; que.pop(); sum++; for(int j=0; j<G[cur].size(); j++) { int id=G[cur][j]; indeg[id]--; if(indeg[id]==0) que.push(id); } } if(sum<n) return 0; if(flag) return -1; return 1; }} topo;
0 0
- topo排序(邻接表) 判断topo序列是否存在,是否唯一,以及输出序列
- topo排序(入度法)(可判断topo排序是否唯一)
- 图结构练习——判断给定图是否存在合法拓扑序列(topo)
- SDUT2140_图结构练习——判断给定图是否存在合法拓扑序列(邻接表)
- hiho一下·47 拓扑排序·一(判断是否能够Topo排序)
- Topo排序
- topo
- topo
- 用Topo序列求关键路径
- ORACLE 判断序列是否存在,如果存在就删除
- 拓扑排序(1)--hdu2647(拓扑排序邻接表模板 应用判断是否存在环)
- 判断一个序列是否为栈的输出序列
- poj 2367 topo 排序
- EXCEL 中 判断某个自定义序列是否存在
- SDUT2140 判断给定图是否存在合法拓扑序列
- hdoj1285 确定比赛名次(topo序列)模板
- Legal or Not 【topo 判定是否有环】
- 图结构练习——判断给定图是否存在合法拓扑序列(拓扑排序判断环)
- M3W2-上海GQ信息笔试
- eclipse快捷键
- Sping事务管理
- JSP--动态页面技术
- Java泛型详解
- topo排序(邻接表) 判断topo序列是否存在,是否唯一,以及输出序列
- L1-009. N个数求和
- 自己瞎写的小程序
- sdutacm-cyk追楠神系列一
- hadoop环境配置
- [Tkinter 教程09] Scale 控件
- java编程思想第4版第15章混型笔记及装饰器模式
- bole
- CSS3 Background-size