イが正解となる根拠は、連結リストにおける末尾への追加と削除の計算量にあります。実装方法1のように先頭のポインタ(front)しか持たない連結リストでは、末尾の追加や削除を行う際に、リストの先頭から順にn個の要素をたどる必要があります。したがって、要素数がn個のとき、末尾への追加(f(n))および末尾の要素の削除(g(n))には、nに比例する時間がかかります。つまり、f(n) = O(n)、g(n) = O(n)となります。
2009年度 秋期 情報セキュリティスペシャリスト 午前I 問3
n個の要素x1,x2,…,xから成る連結リストに対して、新たな要素 xn+1の末尾への追加に要する時間をf(n) とし、末尾の要素x』の削除に要する時間をg(n) とする。
n が非常に大きいとき、実装方法 1 と実装方法2におけるf(n)g(n)の挙動として、適切なものはどれか。
〔実装方法1〕
先頭のセルを指すポインタ型の変数 front だけをもつ。
front→x1→x2→………→xn
〔実装方法2〕
先頭のセルを指すポインタ型の変数 front と、末尾のセルのを指すポインタ型の変数 rear を併せもつ。
front→x1→x2→………→xn
rear→
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
一方、実装方法2のように、先頭のポインタ(front)と末尾のポインタ(rear)を両方持つ連結リストでは、末尾への追加はrearポインタを直接参照できるため、定数時間(ほぼ1)で完了します。また、末尾の要素の削除も、rearポインタが指す要素の直前の要素をたどる(または、双方向リストであればより効率的に)ことで、定数時間(ほぼ1)で完了します。したがって、f(n) = O(1)、g(n) = O(1)となります。
選択肢アは、実装方法2の挙動が誤りです。実装方法2は末尾の追加・削除が定数時間であるため、「ほぼ1」となりますが、実装方法1は「ほぼnに比例する」が正しいため、全体として誤りです。選択肢ウは、実装方法1の挙動が誤りです。実装方法1は末尾の追加・削除が「ほぼnに比例する」のが正しいため、「ほぼ1」という記述が誤りです。選択肢エは、実装方法1と実装方法2の両方の挙動が誤りです。実装方法1は「ほぼnに比例する」であり、「ほぼ1」ではありません。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「基礎理論」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 2進数・論理演算・確率・統計など、IT全般の土台となる数学・離散構造の理解度。
- 学習の進め方
- 公式の暗記ではなく、ビット表現や真理値表を「手で書ける」状態を作る。例題を3パターン以上手で解いて感覚化する。
- 関連キーワード
- 2進数論理演算シフト演算誤差確率情報量
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
基礎理論 の他の問題
- 情報セキュリティスペシャリスト2009年度 秋期 午前I 問12進数の表現で、2の補数を使用する理由はどれか。
- 情報セキュリティスペシャリスト2009年度 秋期 午前I 問2誤り検出方式である CRC に関する記述として、適切なものはどれか。
- 情報セキュリティスペシャリスト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 問1(1+a)”の計算を、1+n×aで近似計算ができる条件として、適切なものはどれか。