2分木の各ノードがもつ記号を出力する再帰的なプログラムProc(ノード n )は,次のように定義される。このプログラムを,図の2分木の根(最上位のノード)に適用したときの出力はどれか。
ア |
b-c*d+a |
イ |
+a*-bcd |
ウ |
a+b-c*d |
エ |
abc-d*+ |
解答・解説を見る
解答:エ
- 図の2分木の根から開始する。
- 左の「a」を出力。
- 右の「*」に行き、さらに左の「-」に行く。
- 左の「b」を出力。
- 右の「c」を出力。
- 上に戻り「-」を出力。
- 「*」の右の「d」を出力。
- 上に戻り「*」を出力。
- 上に戻り「+」を出力。
したがって,abc-d*+が出力される。エが正解である。