メインコンテンツへスキップ
ITサービスマネージャ2009年度 秋期午前I3

2009年度 秋期 ITサービスマネージャ 午前I3

難度標準

n個の要素x1,x2,…,xから成る連結リストに対して、新たな要素 xm+1の末尾への追加に要する時間をf(n) とし、末尾の要素x』の削除に要する時間をg(n) とする。

n が非常に大きいとき、実装方法 1 と実装方法2におけるf(n)g(n)の挙動として、適切なものはどれか。

選択肢

実装方法1: ほぼ1になる。 実装方法2: ほぼ1になる。
実装方法1: ほぼ1になる。 実装方法2: ほぼnに比例する。
実装方法1: ほぼnに比例する。 実装方法2: ほぼ1になる。
実装方法1: ほぼnに比例する。 実装方法2: ほぼnに比例する。

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

イが正解です。連結リストにおいて、末尾への要素追加は、リストの末尾へのポインタを更新するだけで済むため、要素数nによらず一定時間、すなわち「ほぼ1」で実行できます。これは、末尾ノードへの参照が直接保持されている場合(双方向リストや末尾ポインタを持つ単方向リスト)の標準的な実装です。一方、末尾要素の削除は、末尾から2番目の要素を見つけ、そのポインタをNULLにする必要があります。単方向リストの場合、末尾から2番目の要素を見つけるには、リストの先頭から順にn-1個の要素をたどる必要があり、これは要素数nに比例する時間、すなわち「ほぼn」かかります。

詳細Layer 2

アは、末尾要素の削除が「ほぼ1」となる理由がないため不適切です。単方向リストで末尾削除を行う場合、nに比例する時間がかかるため、両方とも「ほぼ1」とはなりません。

補足Layer 3

ウは、末尾への要素追加が「ほぼnに比例する」という点が誤りです。末尾への追加は、リストの構造によりますが、通常は定数時間で可能です。

エは、末尾への要素追加が「ほぼnに比例する」という点が誤りです。末尾への追加は、リストの先頭からの走査を必要としないため、nに比例する時間とはなりません。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「基礎理論」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
2進数・論理演算・確率・統計など、IT全般の土台となる数学・離散構造の理解度。
学習の進め方
公式の暗記ではなく、ビット表現や真理値表を「手で書ける」状態を作る。例題を3パターン以上手で解いて感覚化する。
関連キーワード
2進数論理演算シフト演算誤差確率情報量
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

基礎理論 の他の問題