BFS 解决拓扑排序

例题一


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

例题二


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

例题三


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

相关推荐
故渊at7 分钟前
第二板块:Android 四大组件标准化学理 | 第七篇:Activity 页面载体与任务栈算法
android·算法·生命周期·activity·任务栈
兰令水14 分钟前
leecodecode【区间DP+树形DP】【2026.6.10打卡-java版本】
java·算法·leetcode
budingxiaomoli34 分钟前
二叉树中的深搜
数据结构
weixin1997010801639 分钟前
[特殊字符] 1688开放平台API Sign签名算法详解(Java / Python / PHP 实现)
java·python·算法
断点之下1 小时前
数据结构从零开始④:堆——一种特殊的完全二叉树(附堆排序、TopK问题)
数据结构
WL学习笔记1 小时前
顺序表详解
c语言·数据结构
sugar__salt1 小时前
深入吃透前端线性数据结构:数组、栈、队列、链表核心原理与实战
前端·数据结构·链表
未若君雅裁1 小时前
JVM 垃圾回收算法与分代回收机制
java·jvm·算法
智者知已应修善业1 小时前
【51单片机初始化D5-D8亮,每按键按下D1到D4全亮,再按下恢复,如此循环】2024-3-26
c++·经验分享·笔记·算法·51单片机