拓扑——判断是否有唯一的拓扑序

这篇博客介绍了如何判断有向无环图(DAG)的拓扑序是否唯一。首先解释了拓扑序的定义,并通过一个例子帮助理解。接着,提出了使用队列的方法来实现拓扑排序,当队列中有两个或更多元素时,说明拓扑序不唯一。博主提供了代码思路,通过检查队列中是否存在多个元素来确定图的拓扑序是否唯一。
摘要由CSDN通过智能技术生成

题目:

描述
从前有一个萌萌哒的图,它是一个有向无环图。
它想知道自己的拓扑序是否唯一。
但因为图不会写代码,所以它把这个任务交给了你。

输入
第一行两个正整数 n, m 表示图的点数和边数。
接下来 m 行,每行两个整数 x, y,表示有一条从 x 到 y 的有向边。
1 ≤ n ≤ 100000, 1 ≤ m ≤ 100000
输入保证图中无环。

输出
如果图的拓扑序唯一,输出一行一个字符串 ”YES”。
否则输出 “NO“

样例
输入
4 4
1 2
2 3
2 4
1 3
输出
NO
//拓扑序可以为 {1, 2, 3, 4} 或 {1, 2, 4, 3}

首先,我们来了解一下拓扑序列的定义:
使得图中任意一对顶点 u u u v v v,若边 < u , v > ∈ E ( G ) <u,v>∈E(G) <u,v>∈<

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值