アルゴリズムとプログラミング
基本情報技術者試験|単方向連結リストの各ノードはメンバ val(整数)と next(次ノードへの参照。なければ…
単方向連結リストの各ノードはメンバ val(整数)と next(次ノードへの参照。なければ NULL)をもつ。先頭ノード head から順に val を合計する次の手続に、head→[112]→[88]→[115]→NULL のリストを与えて実行したとき、戻り値はどれか。
○整数型: total(ノード: head)
整数型: sum ← 0
ノード: cur ← head
while (cur が NULL でない)
sum ← sum + cur.val
cur ← cur.next
endwhile
return sumア35
イ3150
ウ315
エ203
正解
ウ.315
cur が NULL になるまで各ノードの val を sum に加える。112, 88, 115 をすべて加えて 112+88+115=315 となるため ウが正しい。
?選択肢ごとの解説
ア ×合計 315 の桁を取り違え、各 val の十の位だけを拾うなどして 35 とした桁の誤りである。
イ ×加算ではなく桁を連結・スケールしてしまい 3150 とした、加算結果を 10 倍に膨らませた誤りである。
ウ ○cur が NULL になるまで各ノードの val を sum に加える。112, 88, 115 をすべて加えて 112+88+115=315 となるため ウが正しい。
エ ×先頭ノード 112 を処理せず 88+115=203 を求め、初期 cur の位置を 1 つ進めすぎた off-by-one 的誤りである。
アルゴリズムとプログラミングの他の問題
単方向連結リスト head→[10]→[20]→[30]→NULL がある。各ノードは val と next…単方向連結リストの各ノードはメンバ val(整数)と next(次ノードへの参照。なければ…単方向連結リストの各ノードは val(整数)と next(参照、なければ NULL)をもつ。次の擬似言語は、値…単方向連結リストの各ノードは val と next(参照、末尾は NULL)をもつ。次の擬似言語は、リスト a…単方向連結リストの各ノードは val と next(参照、末尾は NULL)をもつ。次の擬似言語は、low を 1…単方向連結リストと比べた双方向連結リストの利点として最も適切なものはどれか。スタックに対する push(積む)と…次の擬似言語で、<< は左シフト、AND はビットごとの論理積を表す。整数 x = 200…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-algo-0005
