情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和6年度春期 午前Ⅰ3: 各ノードがもつデータを出力する再帰処理 f(ノード n)を定義した。この処理を,図の2分木の根(最上位のノード)から始めたときの出力はどれか。 〔f(ノードn)

情報処理安全確保支援士試験 令和6年度春期 午前Ⅰ
Q 33 / 30
各ノードがもつデータを出力する再帰処理 f(ノード n)を定義した。この処理を,図の2分木の根(最上位のノード)から始めたときの出力はどれか。 〔f(ノードn)の定義〕 1.ノードnの右に子ノードrがあれば,f(ノードr)を実行 2.ノードnの左に子ノードlがあれば,f(ノードl)を実行 3.再帰処理f(ノードr),f(ノードl)を未実行の子ノード,又は子ノードがなければ,ノード自身がもつデータを出力 4.終了
根が+,左の子がA,右の子が÷。÷の左の子が×(子はB,C),右の子が−(子はD,E)の2分木
この問の正解率:50.00%(2件)

解説

情報処理安全確保支援士試験 令和6年度春期 午前Ⅰ 問3「各ノードがもつデータを出力する再帰処理 f(ノード n)を定義した。この処理を,…」の正解と解説です。情報処理安全確保支援士試験の「二分木」分野の過去問で、これまでの受験者の正答率は約50%です。

正解

. ED−CB×÷A+

正答率 50.0%(2人中 1人が正解)

問題の解説

この再帰処理は、右の子→左の子を先に処理し、子をすべて処理し終えてから自ノードを出力する。すなわち左右を逆順に巡る後行順(帰りがけ順)で、結果は逆ポーランド記法に近い形になる。図の木に適用すると、×の部分木からED−、CB×、それを÷でまとめ、最後にAと+で結合し、ED−CB×÷A+となりエが正解。木の走査順序の理解が問われる。

選択肢ごとの解説

  • 演算子が先頭に来る前置記法に近い並びで、自ノードを最後に出力する定義と一致せず誤り。
  • 左の子を先に処理した場合の並びで、右の子を先に処理する定義に反し誤り。
  • 中置記法に近い順で、子をすべて処理してから出力する後行順と一致せず誤り。
  • 右→左→自ノードの順で巡った後行順の出力で、定義どおりであり正解。

情報処理安全確保支援士試験 令和6年度春期 午前Ⅰ の過去問一覧に戻る・問3

情報処理安全確保支援士試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

情報処理安全確保支援士試験 合格.dev を App Store でダウンロード