令和4年度 問90
アルゴリズムとプログラミング
ディレクトリに関する問題
ディレクトリ又はファイルがノードに対応する木構造で表現できるファイルシステムがある。ルートディレクトリを根として図のように表現したとき,中間ノードである節及び末端ノードである葉に対応するものの組合せとして,最も適切なものはどれか。ここで,空のディレクトリを許すものとする。
〔図〕(丸と線で描いた木の図)
○ 根
/ \
葉 ○ ○ 節
/ \
葉 ○ ○ 葉
| 節 | 葉 | |
|---|---|---|
| ア | ディレクトリ | ディレクトリ又はファイル |
| イ | ディレクトリ | ファイル |
| ウ | ファイル | ディレクトリ又はファイル |
| エ | ファイル | ディレクトリ |
- アディレクトリ ディレクトリ又はファイル
- イディレクトリ ファイル
- ウファイル ディレクトリ又はファイル
- エファイル ディレクトリ
答えと解説を見る
✓ これが正解アディレクトリ ディレクトリ又はファイル
解説
節は必ずディレクトリ、葉は空のディレクトリでもありえます。
ファイルシステムを木構造で表すと、根はルートディレクトリ、そこから枝分かれした先にディレクトリやファイルが並びます。ここで節と呼ぶのは、下にさらに何かをぶら下げている中間の位置のことです。ファイルの下に別のものをぶら下げることはできませんから、節にあたるのは必ずディレクトリです。一方、葉と呼ぶのは、下に何もぶら下げていない末端の位置です。ファイルはもちろん葉になりますが、設問が空のディレクトリを許すと断っているので、中身が一つも無いディレクトリも葉として置けます。したがって葉に対応するのは、ディレクトリまたはファイルの両方です。木の形で考えるときは、下に何かがぶら下がっているかどうかだけを見ます。よって最も適切な組合せは、節がディレクトリ、葉がディレクトリ又はファイルです。
ほかの選択肢はなぜ違うのか
- イディレクトリ ファイル:節をディレクトリとしたところは合っていますが、葉をファイルだけに限っています。設問には空のディレクトリを許すと書かれているので、中身の無いディレクトリも末端に置けます。この断りを読み落とすと、この組合せを選んでしまいます。
- ウファイル ディレクトリ又はファイル:節をファイルとしていますが、ファイルの下にさらに何かをぶら下げることはできません。下に枝を持つという節の役目を果たせるのはディレクトリだけなので、この時点で当てはまりません。下に枝を持てるかどうかが、節と葉を分ける唯一の目印です。
- エファイル ディレクトリ:節をファイル、葉をディレクトリとしており、二つがそっくり入れ替わっています。枝を持てるのはディレクトリのほうですし、末端にはファイルも置けるので、どちらの欄も条件に合っていません。
出典:令和4年度 ITパスポート試験 問90(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)