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