有一个由多个任务组成的执行系统,任务之间存在依赖关系(某个任务执行前需要先完成其所有前置任务),每次可以并行运行最多 n 个无依赖任务。请设计并实现算法,求完成所有任务所需的最少运行轮次。
考察说明
考察算法的建模能力、拓扑排序与并行调度优化
回答思路
- 能将依赖关系建模为有向无环图(DAG)
- 识别问题本质为并行拓扑排序的最小轮次问题
- 正确计算每个任务的最早可执行轮次并统计总轮次
- 能处理循环依赖等边界情况并说明方案
- 代码实现清晰、复杂度分析准确
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。