第 2 题
某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,若元素 a,b,c,d,e 依次入此队列后 再进行出队操作,则不可能得到的出队序列是()。
A.b,a,c,d,e B.d,b,a,c,e C.d,b,c,a,e D.e,c,b,a,d
[tag_link]
正确答案:C
本题的队列实质是 输出受限的双端队列 (两端入队、一端出队)。
依次入队的元素为 a、b、c、d、e,各选项的可行性及对应入队方案如下: A 可行 a 左入(或右入) → b 左入 → c 右入 → d 右入 → e 右入 队列状态(队首→队尾):b, a, c, d, e 出队序列:b, a, c, d, e ✅ B 可行 a 左入(或右入) → b 左入 → c 右入 → d 左入 → e 右入 队列状态:d, b, a, c, e 出队序列:d, b, a, c, e ✅ D 可行 a 左入(或右入) → b 左入 → c 左入 → d 右入 → e 左入 队列状态:e, c, b, a, d 出队序列:e, c, b, a, d ✅ C 不可能 不管 a 从左还是右入队,b 紧接着入队后一定与 a 相邻。
要得到 d, b, c, a, e,d 必须第一个出队,所以 d 只能从队首方向插入,处于 a、b 的外侧。
当 d 出队、接着 b 出队后,队列中只剩 a(及其后可能入队的元素)。
此时无论 c 是在 b 出队前还是之后入队,从两端插入都无法使 c 出现在 b 和 a 之间,也就无法形成 b, c, a 的出队顺序。
因此该序列不可能。
❌