平成25年度秋期 応用情報技術者試験 午前 問6

分野:アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語)|実際に出題されたIPA過去問題

葉以外の節点は全て二つの子をもち、根から葉までの深さが全て等しい木を考える。この木に関する記述のうち、適切なものはどれか。ここで、深さとは根から葉に至るまでの枝の個数を表す。また、節点には根及び葉も含まれる。

  1.  枝の個数がnならば、節点の個数もnである。
  2.  木の深さがnならば、葉の個数は2^(n-1)である。
  3.  節点の個数がnならば、深さはlog₂nである。
  4.  葉の個数がnならば、葉以外の節点の個数はn-1である。
解答・解説を見る

正解:エ

AI解説

正解はエ。葉以外の節点がすべて二つの子をもち葉の深さが揃った完全な二分木では、葉の個数がnのとき葉以外の(内部)節点の個数はn−1になる。深さdの木で考えると葉は2^d個、内部節点は1+2+…+2^(d−1)=2^d−1個であり、確かに葉の数より1少ない。 ア: 木では節点の個数=枝の個数+1である(根以外の各節点が親への枝を1本ずつもつ)。枝がnなら節点はn+1であり誤り。 イ: 深さがnなら葉の個数は2^n個である。2^(n-1)は誤り。 ウ: 節点の個数nと深さdの関係はn=2^(d+1)−1であり、深さはlog₂(n+1)−1となる。log₂nではない。 エ: 正しい。葉がn=2^d個のとき内部節点は2^d−1=n−1個である。 💡 完全な二分木は「葉=2^深さ」「全節点=2^(深さ+1)−1」「内部節点=葉−1」の3公式で処理できる。迷ったら深さ2程度の小さな木を描いて確かめる。

出典:平成25年度 秋期 応用情報技術者試験 午前 問6 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語))の過去問