
応用情報技術者試験 令和6年度春期 午前 問6「各ノードがもつデータを出力する再帰処理 f(ノード n) を定義した。この処理を…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約46%です。
エ. ED−CB×÷A+
正答率 45.9%(259人中 119人が正解)
この再帰処理は「右の子→左の子→自分自身」の順に処理するため、左右を入れ替えた後行順(帰りがけ順)の走査となり、出力は逆ポーランド記法を右優先で並べた形になる。木は根+の左にA・右に÷、÷の左に×(子B,C)・右に−(子D,E)である。根から右優先でたどると、÷の右の−を先に処理して E,D,− を出力、次に÷の左の×で C,B,× を出力、続いて÷を出力、最後に根の左のA、根の+を出力する。結果として ED−CB×÷A+ となり、エが正解である。