問3 2 分探索木の大小関係

基本情報​技術者試験 令和7年度 公開問題 科目A、全20問のうちの問3。

出典:令和7年度 基本情報技術者試験 公開問題 科目A 問3(木構造の図は、節ごとに左の子と右の子を並べた表に書き起こした)

図の木構造は 2 分探索木である。a~g の値の大小関係として,適切なものはどれか。ここで,a~g の値は重複しないものとする。

図の木構造 (根は a)
節左の子右の子
abc
bde
cfg
  1. アa<b<d<e<c<f<g
  2. イd<b<e<a<f<c<g
  3. ウd<e<f<g<b<c<a
  4. エg<f<c<e<d<b<a
答えと解説を開く

正解はイです。

2 分探索木は、どの節についても、左の部分木の値はすべてその節より小さく、右の部分木の値はすべてその節より大きくなるように並べた木です。根の a から見ると、左の b、d、e は a より小さく、右の c、f、g は a より大きくなります。b から見ると d<b<e、c から見ると f<c<g です。これをつなぐと d<b<e<a<f<c<g となります。左の部分木、節、右の部分木の順に読む (中間順になぞる) と、小さい順に並ぶということです。正解はイです。

ほかの選択肢が違う理由

  • アa を最も小さくしていますが、a の左の部分木 (b、d、e) は a より小さいはずです。
  • ウa を最も大きくしていますが、a の右の部分木 (c、f、g) は a より大きいはずです。また、b の右の子 e が b より小さくなっています。
  • エ大小が逆です。g を最小、a を最大にしていて、左が小さく右が大きいという決まりと反対です。

仕組み

2 分探索木から値を探すときは、根から始めて、探す値が節より小さければ左へ、大きければ右へ進みます。木の形が左右にそろっていれば、1 回比べるごとに候補がおよそ半分になります。

木を「左の部分木、節、右の部分木」の順にたどることを中間順 (間順) の走査と言います。2 分探索木を中間順でたどると、値が小さい順に並びます。

この問に出る言葉