基本情報トップに戻る
練習問題難易度: 2014年度

基本情報技術者 過去問練習問題 第6問

問題

2 分木の各ノードがもつ記号を出力する再帰的なプログラム Proc(n) の定義は、次のとおりである。このプログラムを、図の 2 分木の根(最上位のノード)に適用したときの出力はどれか。 Proc(n) n に左の子があれば Proc の子を呼び出す。 n に右の子があれば Proc の子を呼び出す。 n の記号を出力して終了する。 }

の図表

選択肢

  1. 1+a*-bcd
  2. 2a+b-c*d
  3. 3abc-d*+
  4. 4b-c*d+a

正解

3. abc-d*+

詳しい解説を見る

解説

このプログラムは「左の子→右の子→自分」の順で処理する後行順(帰りがけ順)の走査である。図の木(根+、左 a、右*、*の子は-と d、-の子は b と c)を後行順でたどると、a → b → c → - → d → * → + の順に出力され、後置記法(逆ポーランド記法)abc-d*+ となる。よって「ウ」が正しい。(出典: 平成26年度 春期 基本情報技術者試験 午前 問6)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。