ITパスポート過去問 令和4年度(2022年)問90
ディレクトリ又はファイルがノードに対応する木構造で表現できるファイルシステムがある。ルートディレクトリを根として図のように表現したとき,中間ノードである節及び末端ノードである葉に対応するものの組合せとして,最も適切なものはどれか。ここで,空のディレクトリを許すものとする。


選択肢
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
木構造で表すファイルシステムでは、子ノードを持つ中間ノードの「節」は、下位のディレクトリやファイルを格納できる必要があるためディレクトリに対応します。一方、末端ノードの「葉」は子ノードを持たないためファイルに対応しますが、問題文で空のディレクトリを許すとあるので、葉は空のディレクトリにもなり得ます。したがって、節はディレクトリ、葉はディレクトリ又はファイルの組合せが適切です。
Point
この問題は、ファイルシステムを木構造で表したときに、子ノードを持つノードと持たないノードが、ディレクトリとファイルのどちらに対応するかを理解しているかを確認するものです。特に「空のディレクトリを許す」という条件によって、葉にディレクトリが含まれる点を問うています。
解くために必要な知識
この問題を解くには、木構造のノードの種類と、ファイルシステムにおけるディレクトリとファイルの違いを理解している必要があります。
用語の整理
| 用語 | 意味 |
|---|---|
| 木構造 | 親子関係で階層を表すデータ構造です。 |
| ノード | 木構造を構成する要素です。 |
| 根(ルート) | 親を持たない最上位のノードです。 |
| 節(中間ノード) | 親を持ち、かつ子を持つノードです。 |
| 葉(末端ノード) | 子を持たないノードです。 |
| ディレクトリ | 配下にディレクトリやファイルを持てる入れ物です。 |
| ファイル | データ本体であり、配下に別の要素を持てません。 |
図表の読み取り方
木構造での判定基準
-
子を持つノードは節です。
-
子を持たないノードは葉です。
ファイルシステムでの対応
-
ディレクトリは子を持てます。
-
ファイルは子を持てません。
-
空のディレクトリは子を持たないため、葉になり得ます。
解くための着眼点
「空のディレクトリを許す」の意味
この条件があると、葉に該当するものはファイルだけに限定できません。空のディレクトリも葉に含めて考えるのがポイントです。
問題の解法手順
図表の読み取り
図の意味
木構造の図は、根(ルート)から枝分かれして節や葉が並ぶ形で表されます。
-
節は子ノードを持つ中間ノードです。
-
葉は子ノードを持たない末端ノードです。
解く手順
1. 節に対応するものを決めます
節は子を持ちます。ファイルシステムで子(下位のディレクトリやファイル)を持てるのはディレクトリだけなので、節はディレクトリです。
2. 葉に対応するものを決めます
葉は子を持ちません。
-
ファイルは子を持てないため、必ず葉です。
-
ディレクトリは子を持つこともありますが、空のディレクトリは子を持たないため葉になり得ます。
問題文に「空のディレクトリを許す」とあるので、葉はディレクトリ又はファイルです。
3. 選択肢と照合します
節がディレクトリ、葉がディレクトリ又はファイルとなるのは「ア」です。
選択肢ごとの解説
- ア:正解
節は子を持つためディレクトリです。葉は子を持たないためファイルに加えて、空のディレクトリも該当します。問題文に空のディレクトリを許すとあるので、葉はディレクトリ又はファイルです。
- イ:不正解
節がディレクトリである点は適切です。しかし、葉をファイルのみに限定しています。空のディレクトリを許す条件では、空のディレクトリも葉になり得ます。
- ウ:不正解
節がファイルとなっていますが、ファイルは子を持てないため節になれません。
- エ:不正解
節がファイルとなっていますが、ファイルは子を持てないため節になれません。また、葉をディレクトリのみに限定していますが、ファイルも葉に該当します。
まとめ
木構造で表すファイルシステムでは、子ノードを持つ中間ノードの「節」は、下位のディレクトリやファイルを格納できる必要があるためディレクトリに対応します。一方、末端ノードの「葉」は子ノードを持たないためファイルに対応しますが、問題文で空のディレクトリを許すとあるので、葉は空のディレクトリにもなり得ます。したがって、節はディレクトリ、葉はディレクトリ又はファイルの組合せが適切です。
テクノロジ系 > コンピュータシステム > ソフトウェア
節は子を持つためディレクトリです。葉は子を持たないためファイルに加えて、空のディレクトリも該当します。問題文に空のディレクトリを許すとあるので、葉はディレクトリ又はファイルです。
節がディレクトリである点は適切です。しかし、葉をファイルのみに限定しています。空のディレクトリを許す条件では、空のディレクトリも葉になり得ます。
節がファイルとなっていますが、ファイルは子を持てないため節になれません。
節がファイルとなっていますが、ファイルは子を持てないため節になれません。また、葉をディレクトリのみに限定していますが、ファイルも葉に該当します。