BFS 解决拓扑排序

例题一


解法:
算法思路:
原问题可以转换成⼀个拓扑排序问题。⽤ BFS 解决拓扑排序即可。
拓扑排序流程:
a. 将所有⼊度为 0 的点加⼊到队列中;
b. 当队列不空的时候,⼀直循环:
i. 取出队头元素;
ii. 将于队头元素相连的顶点的⼊度 - 1;
iii. 然后判断是否减成 0,。如果减成 0,就加⼊到队列中。

例题二


解法:
算法思路:
和上⼀题⼀样~

例题三


解法:
算法思路:
将题意搞清楚之后,这道题就变成了判断有向图时候有环,可以⽤拓扑排序解决。
如何搜集信息(如何建图):
a. 两层 for 循环枚举出所有的两个字符串的组合;
b. 然后利⽤指针,根据字典序规则找出信息。

相关推荐
Xの哲學5 小时前
Linux自旋锁深度解析: 从设计思想到实战应用
linux·服务器·网络·数据结构·算法
晚风吹长发5 小时前
深入理解Linux中用户缓冲区,文件系统及inode
linux·运维·算法·链接·缓冲区·inode
cwplh5 小时前
DP 优化一:单调队列优化 DP
算法
Halo_tjn5 小时前
基于Java的相关知识点
java·开发语言·windows·python·算法
CoovallyAIHub6 小时前
英伟达CES 2026炸场:没有新显卡,却掏出了让全球AI公司彻夜难眠的“算力核弹”
深度学习·算法·计算机视觉
wregjru6 小时前
【C++】2.9异常处理
开发语言·c++·算法
CoovallyAIHub6 小时前
如何用10%的标注数据,达到可媲美全监督模型的性能?AAAI 2026论文揭秘BCSI三大创新设计
深度学习·算法·计算机视觉
好奇龙猫6 小时前
【大学院-筆記試験練習:线性代数和数据结构(9)】
数据结构·线性代数
肆悟先生6 小时前
3.18 constexpr函数
开发语言·c++·算法
别在内卷了6 小时前
三步搞定:双指针归并法求两个有序数组的中位数(Java 实现)
java·开发语言·学习·算法