応用情報技術者 2011年 春期 午前2 問06
問題文
葉以外の節点はすべて二つの子をもち、根から葉までの深さがすべて等しい木を考える。この木に関する記述のうち、適切なものはどれか。ここで、深さとは根から葉に至るまでの枝の個数を表す。
選択肢
ア:枝の個数がならば、葉を含む節点の個数もである。
イ:木の深さがならば、葉の個数はである。
ウ:節点の個数がならば、深さはである。
エ:葉の個数がならば、葉以外の節点の個数はである。(正解)
🔒 解説は解答すると表示されます
完全二分木の節点関係【午前2解説】
正解の理由
葉の個数を とすると、深さ の「葉以外がすべて2つの子をもつ、根から葉まで深さが等しい木(完全二分木)」では葉の個数は 、葉以外(内部)節点の個数は となり、内部節点は葉の個数よりちょうど1少ないため、選択肢エ「葉の個数がならば、葉以外の節点の個数は」が正しいです。
簡潔な根拠:
- 深さが の完全二分木では葉 。
- 内部節点 。よって葉が なら内部は 。
解法ステップ
- 「完全二分木」の定義を確認する:各内部節点はちょうど2つの子をもち、すべての葉が同じ深さ にある。
- レベルごとの節点数を考える:根のレベル0に1個、レベル1に2個、… レベルに個(葉)。
- 葉の個数は最下層の節点数なので 。
- 全節点数は各レベルを合計して 。
- 内部節点数は 。
- 各選択肢と上の関係式を照らし合わせて正誤を判断する(結果:エが正しい)。
選択肢別の誤答解説
-
ア: 「枝の個数が ならば、葉を含む節点の個数も である。」
- 木一般で枝(辺)数 と節点数 の関係は 。したがって枝が なら節点は 。よって誤り。
-
イ: 「木の深さが ならば、葉の個数は である。」
- 深さを (枝の数)とすると、最下層の節点数は 。選択肢はべき乗が一つ小さく誤っている。
-
ウ: 「節点の個数が ならば、深さは である。」
- 完全二分木の全節点数を とすると 。これを解くと 単に とするのは誤り(定数のずれがある)。また は整数で、 は2の冪でなければならない点も重要( の任意の に対して成立しない)。
-
エ: 「葉の個数が ならば、葉以外の節点の個数は 」
- 上述の通り であり正しい。
よくある誤解
- 「深さ の葉は 」とする勘違い
- レベル数(節点の列)と枝の数(深さ)の混同。深さ の最下層の節点数は 。
- 「節点数 から深さは 」とする単純化
- 全節点数は の形。逆に求めるときは で、 が2の冪である必要がある。
- 木の一般的性質(任意の木)と完全二分木の特殊性を混同する
- 「内部節点が必ず1つ少ない」という関係は完全(満たされた)二分木の特性。一般の木では成立しない。
補足コラム
- 代表的な式のまとめ(深さ , 葉 , 内部 , 全節点 , 枝 ):
- 逆算の注意点:節点数 が与えられたときに深さ を求めるには が2の冪である必要がある。例えば の場合 であり 。
- 「完全二分木」と「完全(complete)二分木」「満二分木(perfect)」という用語にはずれがある場合がある。ここで扱ったのは「各内部節点が2子を持ち、すべての葉が同じ深さにある」いわゆる満(perfect)二分木。
FAQ
Q. 葉が8個のとき、内部節点はいくつか?
A. 内部節点は葉の1つ少ないので 。全節点は 、深さは から より 。
A. 内部節点は葉の1つ少ないので 。全節点は 、深さは から より 。
Q. 深さの定義が「ノード数」で与えられていたら?
A. 本問の深さ定義は「根から葉までの枝の個数」。もし「ノード数(レベル数)」を用いる表記なら、レベル数は枝数 に対して に注意する(葉数は 、レベル数を とすると葉 )。
A. 本問の深さ定義は「根から葉までの枝の個数」。もし「ノード数(レベル数)」を用いる表記なら、レベル数は枝数 に対して に注意する(葉数は 、レベル数を とすると葉 )。
Q. 一般の二分木で「葉 = 内部 - 1」は成立しますか?
A. いいえ。内部節点の子の数が常に2とは限らない(1子の内部節点があれば関係が変わる)。本関係は「満二分木(perfect binary tree)」に特有です。
A. いいえ。内部節点の子の数が常に2とは限らない(1子の内部節点があれば関係が変わる)。本関係は「満二分木(perfect binary tree)」に特有です。
関連キーワード: 完全二分木、満二分木、節点数と深さ、葉数の公式、二分木の数学적性質

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

