問82
頻出度★★☆
ファイルを4冊まで置くことができる机で,A~Fの6冊のファイルを使って仕事をする。机上に5冊目のファイルを置きたいときは,机上の4冊のファイルのうち,最後に参照してから最も時間が経過しているファイルを引き出しにしまうことにする。ファイルをA,B,C,D,E,C,B,D,F,Bの順で机上に置いて参照するとき,最後に引き出しにしまうファイルはどれか。
这道题的解析和你的作答记录。
ファイルを4冊まで置くことができる机で,A~Fの6冊のファイルを使って仕事をする。机上に5冊目のファイルを置きたいときは,机上の4冊のファイルのうち,最後に参照してから最も時間が経過しているファイルを引き出しにしまうことにする。ファイルをA,B,C,D,E,C,B,D,F,Bの順で机上に置いて参照するとき,最後に引き出しにしまうファイルはどれか。
A 是在放置第 5 本 E 时最先被收进抽屉的文件,属于「最先」而非「最后」的淘汰。题目问的是最后被收起的文件,所以错误。
B 在序列中第 2、第 7、第 10 位多次被参照,始终保持在「刚被参照过」的新状态。它一直留在桌上,从未被收进抽屉,所以错误。
D 在第 4 位和第 8 位被参照,新旧程度随之更新,一直留在桌上。它不会被淘汰,所以错误。
正解 这张桌子按「淘汰自最后一次参照后经过时间最长的文件」=LRU(Least Recently Used,最近最少使用)方式运作。跟踪参照顺序 A、B、C、D、E、C、B、D、F、B。首先 A、B、C、D 使桌面放满(4 本)。放置第 5 本 E 时,桌上 A、B、C、D 中最久未被参照的是 A,把它收进抽屉(第 1 次淘汰=A)。接下来的 C、B、D 都已在桌上,参照只会使它们变新,不会发生淘汰。接着放置 F 时,桌上是 E、C、B、D,其中最后一次参照最久远的是 E,于是收起 E(第 2 次淘汰=E)。最后的 B 也已在桌上,因此不发生淘汰。收进抽屉的只有 A→E 这两次,其中「最后」的是 E。因此「エ(E)」正确。