エが正解となるのは、再帰処理f(ノードn)の定義が、右の子ノードを先に処理し、次に左の子ノードを処理し、最後に自身のデータを出力する「後順走査(Post-order Traversal)」の変形(右優先)に相当するためです。問題文の定義1で「右に子ノードrがあれば、f(ノードr)を実行」、定義2で「左に子ノードlがあれば、f(ノードl)を実行」、定義3で「再帰処理f(ノードr), f(ノードl)を未実行の子ノード、又は子ノードがなければ、ノード自身がもつデータを出力」とあることから、この順序で処理が進みます。
システムアーキテクト令和6年度 春期午前I問 3
令和6年度 春期 システムアーキテクト 午前I 問3
難度
標準
各ノードがもつデータを出力する再帰処理 f(ノードn)を定義した。この処理を、図の2分木の根(最上位のノード) から始めたときの出力はどれか。
〔f(ノードn)の定義〕
1. ノードnの右に子ノードrがあれば、f(ノードr)を実行
2. ノードnの左に子ノードlがあれば、f(ノードl)を実行
3. 再帰処理f(ノードr), f(ノードl)を未実行の子ノード、又は子ノー ドがなければ、ノード自身がもつデータを出力
4. 終了
選択肢
ア+÷-ED×CBA
イABC×DE-++
ウE-D-C×B+A
エED-CB×÷A+
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
アは、右優先という再帰処理の順序が守られておらず、また最終的な出力順序も定義に合致しません。イも同様に、右の子ノードを先に処理するという定義に反する順序でデータが出力されています。ウも、右の子ノード処理の優先順位が正しくなく、最終的な出力結果が定義された再帰処理の結果と一致しません。
この解説は?
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「基礎理論」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 2進数・論理演算・確率・統計など、IT全般の土台となる数学・離散構造の理解度。
- 学習の進め方
- 公式の暗記ではなく、ビット表現や真理値表を「手で書ける」状態を作る。例題を3パターン以上手で解いて感覚化する。
- 関連キーワード
- 2進数論理演算シフト演算誤差確率情報量
AI コパイロット
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
基礎理論 の他の問題
- システムアーキテクト2009年度 秋期 午前I 問12進数の表現で、2の補数を使用する理由はどれか。
- システムアーキテクト2009年度 秋期 午前I 問3n個の要素x1,x2,…,xから成る連結リストに対して、新たな要素 xn+1の末尾への追加に要する時間をf(n) とし、末尾の要素xnの削除に要する時間をg(n) とする。 n が非常に大きいとき、実装方法 1 と実装方法2におけるf(n)/g(n)の挙動として、適切なものはどれ…
- システムアーキテクト2009年度 秋期 午前I 問62台のプリンタがあり、それぞれの稼働率が0.7と0.6である。この2台のいずれか一方が稼働していて、他方が故障している確率は幾らか。ここで、2台のプリンタの稼働状態は独立であり、プリンタ以外の要因は考慮しないものとする。
- システムアーキテクト2009年度 秋期 午前I 問8図の論理回路において, S=1, R=1, X=0, Y=1 のとき、S をいったん0にした後、再び1に戻した。この操作を行った後のX、Yの値はどれか。
- システムアーキテクト2009年度 秋期 午前I 問10コンピュータグラフィックスの要素技術に関する記述のうち、適切なものはどれか。