多级队列应用题-2016年408习题

多级队列

@(算法学习)

  1. 设有如下的火车车轨,入口与出口之间有n条轨道,列车行进方向从左至右,列车可以驶入任意一条轨道,现在有编号为19列列车,驶入的次序一次是8,4,2,5,3,9,1,6,7。若期望驶出的顺序是19,则n至少是:

多级队列应用题-2016年408习题_第1张图片

A. 2
B. 3
C. 4
D. 5

分析:拿到这样的题目会有一个典型的错误方向。认为一个轨道只能装一列火车,实际不是。因为题目并未直接告知,需要自己推断,假设只能放一列火车,那么按照驶入的顺序,8,4,2,5,3,9,1。需要n=7才能满足。此时1号车驶走,可以出2号,3号,4号,等。
这样的话就没有选项可以满足,所以快点想,原来每个轨道可以不止一列火车,那么多少列呢?没说。于是认为是任意多即可。

分析到这里,就是n个队列的联合使用问题了。

这有点像是多级任务调度队列。

队 列 1 : 8 队 列 2 : 7 ← 6 ← 5 ← 4 队 列 3 : 3 ← 2 队 列 4 : 1 队列1:8 \\ 队列2:7 \leftarrow 6 \leftarrow 5 \leftarrow 4 \\ 队列3:3 \leftarrow 2 \\ 队列4:1\\ 182765433241

所以最少只需要4个即可,即n=4即可满足。

END.

你可能感兴趣的:(算法学习)