全部调度完,顺序是什么
同一个 pop_max。把四个任务全部处理完,把处理顺序拼起来输出(用 / 隔开)。
阅读更多 →
写一个按优先级出队
补全 pop_max:取出并返回优先级最高的任务名,优先级相同时取先进来的那个。 补全后输出第一个被处理的任务。
阅读更多 →
第一个被处理的是哪个任务
四个任务和它们的优先级(数字越大越急)。运行下面这段程序: tasks = [(2, "备份"), (5, "告警"), (1, "日报")
阅读更多 →
两个任务优先级一样怎么办
两个任务优先级相同时,通常约定【0】。
阅读更多 →
优先队列和普通队列差在哪
优先队列和普通队列的区别是【0】。
阅读更多 →
⚠️ 大顶堆里最小的那个在哪
大顶堆的堆顶是最大的,那最小的那个在哪儿?——只可能在叶子里,堆顶帮不上忙。 补全 min_of_heap:只在叶子那一段里找最小的。(长度 n 的堆,叶子是下标 n // 2 到 n - 1。)
阅读更多 →
求前 k 大的那一串
补全 top_k:返回前 k 大组成的列表(从大到小)。 这次求前 3 大,把结果用 / 拼起来输出。
阅读更多 →
求第 k 大
补全 kth_largest:建堆之后连弹 k 次,返回最后弹出的那个。 这次求第 3 大。
阅读更多 →
前三大是哪几个
同一个堆。运行下面这段程序: def sift_down(h, i, n): while True: big = i l = 2 * i + 1
阅读更多 →
第二大的是几
堆是 24、23、15、13、17。运行下面这段程序: def sift_down(h, i, n): while True: big = i l = 2 *
阅读更多 →