【算法练习】数据结构/图论 poj4084:拓扑排序
题目链接:http://bailian.openjudge.cn/practice/4084
4084:拓扑排序
总时间限制:
1000ms
内存限制:
65536kB
描述
给出一个图的结构,输出其拓扑排序序列,要求在同等条件下,编号小的顶点在前。
输入
若干行整数,第一行有2个数,分别为顶点数v和弧数a,接下来有a行,每一行有2个数,分别是该条弧所关联的两个顶点编号。
v<=100, a<=500
输出
若干个空格隔开的顶点构成的序列(用小写字母)。
样例输入
6 8 1 2 1 3 1 4 3 2 3 5 4 5 6 4 6 5
样例输出
v1 v3 v2 v6 v4 v5
题目意思:
就是有向图的拓扑排序
维护一个队列保存入度为0的结点,题目又要求说编号小的顶点在前,于是这个队列可以定义成优先队列,也就是最小堆,默认的是最大堆
priority_queue<int,vector<int>,greater<int>> Q;
快乐AC,记住思路,是很简单的模板题:
AC:
//图论 拓扑排序
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
priority_queue<int,vector<int>,greater<int>> Q;
int inDegree[120]; //代表顶点的入度
vector<int> G[120];int main(){int v,a;//初始化for(int i=0;i<120;i++){inDegree[i]=0;G[i].clear(); //清空vector中的元素}cin>>v>>a;int x,y;for(int i=0;i<a;i++){cin>>x>>y;inDegree[y]++;G[x].push_back(y);}for(int i=1;i<=v;i++){if(inDegree[i]==0)Q.push(i);}while (!Q.empty()){int cur=Q.top();Q.pop();cout<<"v"<<cur<<" ";for(int i=0;i<G[cur].size();i++){int u=G[cur][i];inDegree[u]--;if(inDegree[u]==0){Q.push(u);}}}cout<<endl;return 0;
}
【算法练习】数据结构/图论 poj4084:拓扑排序相关推荐
- 在linux下实现拓扑排序,数据结构——有向图(拓扑排序算法)
package zieckey.datastructure.study.graph; /** * 有方向图 * * @author zieckey */ public class DirectedGr ...
- 数据结构-----图的拓扑排序和关键路径算法
部分图片取自:http://www.cnblogs.com/navorse/articles/1893863.html 在介绍拓扑排序和关键路径之前,先引入AOE网络的概念: 该图为一个AOE网,顶点 ...
- 算法高级(33)-拓扑排序-maven依赖关系的确定
一.拓扑排序(Topological Sorting) 1.定义 拓扑排序是一种图论算法,该算法在<数据结构与算法>一书中有涉猎.引用维基百科的定义:在图论中,由一个有向无环图的顶点组成的 ...
- LeetCode 207. Course Schedule--有向图找环--面试算法题--DFS递归,拓扑排序迭代--Python
题目地址:Course Schedule - LeetCode There are a total of n courses you have to take, labeled from 0 to n ...
- 算法-有向环和拓扑排序
有向图中包括有向无环图和有向有环图,有向图在任务调度的时候优先级限制是非常有用的,最常见的是大学的排课系统,比如说计算机操作系统的优先级高于高等数学,我们可以用图表示为计算机操作系统→高等数学,高等数 ...
- 拓扑排序----Kahn算法和字典序最小的拓扑排序
一.拓扑排序定义: 二.卡恩算法(Kahn): 1.Kahn算法介绍: 有向无环图DAG至少具有一个度数为0的顶点和一个度数为0的顶点. 证明:上述事实有一个简单的证明,即DAG不包含循环,这意味着所 ...
- BUCT数据结构——图(拓扑排序、关键路径)
文章目录 问题 A: 邻接矩阵存储的图,节点的出度和入度计算(附加代码模式) 问题 B: 算法7-12:有向无环图的拓扑排序 问题 C: 有向图是否存在环? 问题 D: 图-节点的最早发生时间 问题 ...
- POJ4084: 拓扑排序
拓扑排序 1)基本定义 对于一个有向无环图G=(V,E),V里顶点的线性序列称作一个拓扑序列,该顶点序列满足: 若在有向无环图G中从顶点viv_{i}vi到vjv_{j}vj有一条路径,则在序列中 ...
- 8月5号 图论,拓扑排序入门
今天做图的题目,这里面涉及到一个非常重要的知识点,就是图的入门,然后还有一个就是花花酱的leetcode合集,这些做完之后可以想一想怎么开始在9月份之前完成初期的知识储备,加油啊! 拓扑排序的具体笔记 ...
最新文章
- ABAP Submit 用法解析
- 怎么将pdf转换成word
- 动态规划之-最大子段和
- _过程_函数_触发器_游标
- python常用小技巧_Python 实用技巧
- 国产达梦数据库管理系统-通过Excel文件导入数据
- 程序员常见的口头禅汇总,你中招了没?
- (转)200亿美元比特币找不到主人,这个邪恶职业一夜爆火
- 安装LR提示缺少vc2005_sp1_with_atl_fix_redist
- Vue之echarts圆饼图详解
- JSDOM案例:猜字游戏
- 修复Adobe Flash Player
- Oracle 数据库表空间的管理
- 计算机技术包括云计算吗,云计算机技术有哪些
- 算法学习-素数与合数小结
- 游戏陪玩小程序怎么开发-游戏陪玩小程序功能
- 第一次去中关村图书大厦
- 使用腾讯IM实现uni-app小程序中的客服聊天
- UI5-Fiori初学者导航
- 高通开发系列 - network之移动网络拨号失败和netmgrd服务分析