修了試験 2016-12-11実施分 基本情報技術者試験 問5
2分木の各ノードがもつ記号を出力する再帰的なプログラムProc(n)の定義は,次のとおりである。 このプログラムを,図の2分木の根(最上位のノード)に適用したときの出力はどれか。 Proc(n) { nに左の子lがあればProc(l)を呼び出す。 nに右の子rがあればProc(r)を呼び出す。 nの記号を出力して終了する。 }

正答3
解説
正解はウ。 Proc(n)は左部分木→右部分木→自分自身の順に出力する後行順(postorder)走査である。 根+から辿ると,左のaを出力した後,右の*の部分では左の-(さらにその左b,右c,最後に-),続けてd,最後に*,そして根の+を出力するので,出力はabc-d*+となる。まとめて解く
修了試験 2016-12-11実施分を通しで解く(80問)→