拿下技术面上传简历

有 5 门课编号 0~4,先修关系为 0→1、1→2、2→0、3→4(x→y 表示 x 是 y 的先修)。用 Kahn 算法(统计入度 + 队列)判断是否存在合法修课顺序:算法结束时队列为空,请说出输出序列里有几门课、剩下的课是哪些、你凭什么判定有环;如果要求输出环上的所有课,你要怎么改。

数据结构与算法图与搜索校招知识点 1 个

面试官在考什么

判断候选人是否真写过 Kahn 算法,理解输出个数与 n 的关系,而不是只会说"队列空就是有环"。

拓扑排序

回答框架 · 前两步

  1. 各点入度:0 被 2 指向、1 被 0 指向、2 被 1 指向,均为 1;3 入度为 0;4 被 3 指向为 1。初始队列只有 3。
  2. 依次弹出 3、4 后队列为空,此时只输出了 2 个元素,剩下 {0,1,2} 的入度仍然大于 0。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「数据结构与算法」方向页

同一能力域的其他题