题目链接: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:拓扑排序相关推荐

  1. 在linux下实现拓扑排序,数据结构——有向图(拓扑排序算法)

    package zieckey.datastructure.study.graph; /** * 有方向图 * * @author zieckey */ public class DirectedGr ...

  2. 数据结构-----图的拓扑排序和关键路径算法

    部分图片取自:http://www.cnblogs.com/navorse/articles/1893863.html 在介绍拓扑排序和关键路径之前,先引入AOE网络的概念: 该图为一个AOE网,顶点 ...

  3. 算法高级(33)-拓扑排序-maven依赖关系的确定

    一.拓扑排序(Topological Sorting) 1.定义 拓扑排序是一种图论算法,该算法在<数据结构与算法>一书中有涉猎.引用维基百科的定义:在图论中,由一个有向无环图的顶点组成的 ...

  4. 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 ...

  5. 算法-有向环和拓扑排序

    有向图中包括有向无环图和有向有环图,有向图在任务调度的时候优先级限制是非常有用的,最常见的是大学的排课系统,比如说计算机操作系统的优先级高于高等数学,我们可以用图表示为计算机操作系统→高等数学,高等数 ...

  6. 拓扑排序----Kahn算法和字典序最小的拓扑排序

    一.拓扑排序定义: 二.卡恩算法(Kahn): 1.Kahn算法介绍: 有向无环图DAG至少具有一个度数为0的顶点和一个度数为0的顶点. 证明:上述事实有一个简单的证明,即DAG不包含循环,这意味着所 ...

  7. BUCT数据结构——图(拓扑排序、关键路径)

    文章目录 问题 A: 邻接矩阵存储的图,节点的出度和入度计算(附加代码模式) 问题 B: 算法7-12:有向无环图的拓扑排序 问题 C: 有向图是否存在环? 问题 D: 图-节点的最早发生时间 问题 ...

  8. POJ4084: 拓扑排序

    拓扑排序 1)基本定义 对于一个有向无环图G=(V,E),V里顶点的线性序列称作一个拓扑序列,该顶点序列满足: 若在有向无环图G中从顶点viv_{i}vi​到vjv_{j}vj​有一条路径,则在序列中 ...

  9. 8月5号 图论,拓扑排序入门

    今天做图的题目,这里面涉及到一个非常重要的知识点,就是图的入门,然后还有一个就是花花酱的leetcode合集,这些做完之后可以想一想怎么开始在9月份之前完成初期的知识储备,加油啊! 拓扑排序的具体笔记 ...

最新文章

  1. ABAP Submit 用法解析
  2. 怎么将pdf转换成word
  3. 动态规划之-最大子段和
  4. _过程_函数_触发器_游标
  5. python常用小技巧_Python 实用技巧
  6. 国产达梦数据库管理系统-通过Excel文件导入数据
  7. 程序员常见的口头禅汇总,你中招了没?
  8. (转)200亿美元比特币找不到主人,这个邪恶职业一夜爆火
  9. 安装LR提示缺少vc2005_sp1_with_atl_fix_redist
  10. Vue之echarts圆饼图详解
  11. JSDOM案例:猜字游戏
  12. 修复Adobe Flash Player
  13. Oracle 数据库表空间的管理
  14. 计算机技术包括云计算吗,云计算机技术有哪些
  15. 算法学习-素数与合数小结
  16. 游戏陪玩小程序怎么开发-游戏陪玩小程序功能
  17. 第一次去中关村图书大厦
  18. 使用腾讯IM实现uni-app小程序中的客服聊天
  19. UI5-Fiori初学者导航
  20. 高通开发系列 - network之移动网络拨号失败和netmgrd服务分析

热门文章

  1. SPI flash远程加载FPGA 应用
  2. Python_Appium爬取wx朋友圈
  3. android背景气泡,仿Android微信消息气泡
  4. 【已解决】Chrome 出现Your Connection is not private 问题
  5. 如何利用自动化设备行业ERP系统做好材料采购管理
  6. Phoenix创建盐表
  7. linux需要wifi网络认证,无线802.1x认证简介及配置方法
  8. 手持天馈线测试仪 哪一款性价比最高
  9. 《编程之美——微软技术面试心得》一摞烙饼的排序初体验
  10. Orkut 也遭到 XSS 攻击,18 万用户受影响