ディレクトリ又はファイルがノードに対応する木構造で表現できるファイルシステムがある。ルートディレクトリを根として図のように表現したとき,中間ノードである節及び末端ノードである葉に対応するものの組合せとして,最も適切なものはどれか。ここで,空のディレクトリを許すものとする。 - 根(最上部のノード) - 葉(根の左の子,末端ノード) - 節(根の右の子,中間ノード) - 葉(節の左の子,末端ノード) - 葉(節の右の子,末端ノード)
令和4年度 ITパスポート試験 問90
テクノロジ系ソフトウェア › ファイルシステム
この問題の解説と、これまでの解答の記録です。
問90
頻出度★☆☆
解説
問 90
- ア
正解 節(中間ノード)は子をもつノードである。ファイルシステムでほかの要素(ファイルやディレクトリ)を内側に格納し、子ノードをぶら下げられるのはディレクトリだけなので、節に対応するのは必ず「ディレクトリ」となる。一方、葉(末端ノード)は子をもたないノードである。ファイルは中に何も格納できず常に末端になるので葉であり、さらに条件「空のディレクトリを許す」があるため、中身のない空ディレクトリも子をもたず葉になりうる。したがって葉に対応するのは「ディレクトリ又はファイル」。この組合せがアであり正しい。
不正解イ
節=ディレクトリは正しいが、葉を「ファイル」だけに限っている点が誤り。空のディレクトリを許すため、子をもたない空ディレクトリも葉となりうるので、葉はファイルに限定できない。
不正解ウ
節を「ファイル」としている点が誤り。ファイルは子ノードをもてず末端にしかならないため、子をもつ中間ノード(節)にはなれない。節はディレクトリでなければならない。
不正解エ
節を「ファイル」とする点が誤り(ファイルは子をもてず節になれない)。さらに葉を「ディレクトリ」だけに限る点も誤りで、ファイルも子をもたず葉になる。節と葉の対応が逆で二重に誤っている。
ここがポイント
- 木構造の用語: 子をもつノードが節(中間ノード)、子をもたないノードが葉(末端ノード)。ファイルシステムでは子をぶら下げられるのはディレクトリだけなので、節=ディレクトリに限られる。
- 条件「空のディレクトリを許す」が鍵。ファイルは常に葉だが、中身のない空ディレクトリも子をもたないため葉になりうるので、葉は「ディレクトリ又はファイル」となる。
用語