基本情報技術者 ② アルゴリズムとプログラミング

データ構造とアルゴリズムを扱う分野で、科目B(旧午後)にも直結する重要領域です。配列・連結リスト・スタック・キュー・木構造(2分探索木)・ハッシュ法といったデータ構造の特徴と、線形探索・2分探索・クイックソートなどの探索・整列アルゴリズム、計算量オーダー(O(1)・O(n)・O(log n))が頻出です。再帰・再入可能などプログラム特性やHTML・CSS・Ajaxといったマークアップ関連知識も問われます。

この分野の問題30問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

36木構造において、最上位に位置する節点を何と呼ぶか。

  1. A部分木
  2. B
  3. C
  4. D根(ルート)
正解と解説を見る

正解:D根(ルート)

木構造の最上位に位置する節点を根(ルート)と呼ぶ。

この問題の解説ページを開く →

37グラフにおいて、節点と節点を結ぶ線を何と呼ぶか。

  1. A辺(エッジ)
  2. B節点
  3. C
  4. D
正解と解説を見る

正解:A辺(エッジ)

グラフで節点と節点を結ぶ線を辺(エッジ)と呼ぶ。

この問題の解説ページを開く →

38スタックにデータを格納することを何というか。

  1. Apop
  2. Bpush
  3. Cenqueue
  4. Ddequeue
正解と解説を見る

正解:Bpush

スタックへのデータの格納はpush、取り出しはpopと呼ばれる。

この問題の解説ページを開く →

39キューからデータを取り出すことを何というか。

  1. Apush
  2. Bpop
  3. Cenqueue
  4. Ddequeue
正解と解説を見る

正解:Ddequeue

キューへのデータの格納はenqueue、取り出しはdequeueと呼ばれる。

この問題の解説ページを開く →

40データを表の形に並べ、要素の位置を表す数字を要素番号で示すデータ構造はどれか。

  1. Aスタック
  2. B配列
  3. Cキュー
  4. D連結リスト
正解と解説を見る

正解:B配列

配列はデータを表の形に並べたデータ構造で、位置を示す数字を要素番号という。

この問題の解説ページを開く →

41連結リストの要素に含まれ、次の要素のアドレスを指し示すものを何というか。

  1. Aインデックス
  2. B要素番号
  3. Cポインタ
  4. Dハッシュ値
正解と解説を見る

正解:Cポインタ

連結リストでは、各要素に次の要素のアドレスを示すポインタが含まれる。

この問題の解説ページを開く →

42配列の主な特徴として適切なものはどれか。

  1. Aデータの削除が速い
  2. Bデータの挿入が速い
  3. Cメモリ消費が少ない
  4. D要素の参照が速い
正解と解説を見る

正解:D要素の参照が速い

配列は要素番号でデータに直接アクセスできるため、参照や更新が速い。

この問題の解説ページを開く →

43連結リストの主なメリットはどれか。

  1. Aデータ参照が速い
  2. Bメモリ消費が少ない
  3. Cデータの並び替えが不要
  4. Dデータの挿入・削除が速い
正解と解説を見る

正解:Dデータの挿入・削除が速い

連結リストはポインタを変更するだけで挿入や削除ができるため効率的である。

この問題の解説ページを開く →

44「左の子孫<親<右の子孫」という関係を持つ木構造はどれか。

  1. A2分木
  2. B2分探索木
  3. C環状リスト
  4. D3分木
正解と解説を見る

正解:B2分探索木

2分探索木は親子の値に特定の大小関係が定義されている。

この問題の解説ページを開く →

45ハッシュ法の主なデメリットはどれか。

  1. Aデータが衝突する可能性がある
  2. Bデータの並び替えが必要
  3. C探索に時間がかかる
  4. Dデータのメモリ消費が非常に多い
正解と解説を見る

正解:Aデータが衝突する可能性がある

ハッシュ法では異なるデータが同じハッシュ値になる衝突が発生する可能性がある。

この問題の解説ページを開く →

462分探索法を実行するために必要な前条件はどれか。

  1. Aデータ数が少ないこと
  2. Bデータがランダムに配置されていること
  3. Cデータが連結リストで保持されていること
  4. Dデータが昇順または降順に整列されていること
正解と解説を見る

正解:Dデータが昇順または降順に整列されていること

2分探索法は探索範囲を半分に絞り込むため、データが整列されている必要がある。

この問題の解説ページを開く →

47データ数nに関わらず処理回数が一定となる計算量のオーダーはどれか。

  1. AO(log n)
  2. BO(n)
  3. CO(1)
  4. DO(n log n)
正解と解説を見る

正解:CO(1)

ハッシュ法による探索は、衝突がなければデータ数に関わらず一定時間で完了する。

この問題の解説ページを開く →

48整列アルゴリズムのうち、基準値より小さいグループと大きいグループに分ける操作を繰り返すものはどれか。

  1. Aバブルソート
  2. B挿入ソート
  3. Cクイックソート
  4. D選択ソート
正解と解説を見る

正解:Cクイックソート

クイックソートは基準値を用いてデータを2つのグループに分割する操作を繰り返す。

この問題の解説ページを開く →

49データ数が2倍になれば計算量も2倍になる線形探索法のオーダーはどれか。

  1. AO(1)
  2. BO(n)
  3. CO(log n)
  4. DO(n log n)
正解と解説を見る

正解:BO(n)

線形探索法は最大ですべてのデータ(n個)を探索するためオーダーはO(n)である。

この問題の解説ページを開く →

50処理の途中で自分自身を呼び出す関数を何というか。

  1. A再入可能関数
  2. B再帰関数
  3. C再配置可能関数
  4. D再使用可能関数
正解と解説を見る

正解:B再帰関数

自分自身を呼び出す関数を再帰関数という。

この問題の解説ページを開く →

51プログラムを主記憶装置のどこに配置しても実行できる性質を何というか。

  1. A再配置可能
  2. B再入可能
  3. C再使用可能
  4. D再帰
正解と解説を見る

正解:A再配置可能

プログラムをどこに配置しても実行できる性質は再配置可能と呼ばれる。

この問題の解説ページを開く →

52複数のプログラムから同時に呼び出されても正しく動作する性質を何というか。

  1. A再入可能
  2. B再使用可能
  3. C再配置可能
  4. D再帰
正解と解説を見る

正解:A再入可能

複数のプログラムから同時に呼び出されても正しく動作する性質は再入可能と呼ばれる。

この問題の解説ページを開く →

53スタックに「A」「B」「C」の順にデータを1つずつ格納し、その後2回取り出しを行ったとき、最後に取得されるデータは何か。

  1. AB
  2. BA
  3. CC
  4. Dなし
正解と解説を見る

正解:AB

「C」「B」「A」の順に積み上がり、2回取り出すと「C」の次に「B」が取得される。

この問題の解説ページを開く →

54キューに「A」「B」「C」の順にデータを1つずつ格納し、その後2回取り出しを行ったとき、最後に取得されるデータは何か。

  1. AB
  2. Bなし
  3. CC
  4. DA
正解と解説を見る

正解:AB

先に入れたものから先に出るため「A」「B」の順に取り出され、最後に取得されるのは「B」である。

この問題の解説ページを開く →

55整列済みの配列において2分探索法を用いる場合、探索範囲が要素番号4から8のとき、最初に比較する要素番号はいくつか。

  1. A5
  2. B7
  3. C8
  4. D6
正解と解説を見る

正解:D6

(4+8)÷2=6であり、要素番号6を比較する。

この問題の解説ページを開く →

56データ{3・5・8・7・6・4・2・1・9}を6を基準値として分割したとき、左側(基準値より小さい)グループに含まれる数字の組合せはどれか。

  1. A{3・5・8・7}
  2. B{3・5・4・2・1}
  3. C{5・4・2・1}
  4. D{8・7・9}
正解と解説を見る

正解:B{3・5・4・2・1}

基準値6より小さいグループは{3・5・4・2・1}である。

この問題の解説ページを開く →

57変数aを5、sumを0として、aが0になるまで「sumにaを加えてaを1減らす」処理を繰り返すとき、最終的なsumの値はいくつか。

  1. A15
  2. B12
  3. C14
  4. D10
正解と解説を見る

正解:A15

sumには5+4+3+2+1=15が代入される。

この問題の解説ページを開く →

58nが3のとき「n×F(n-1)」を再帰的に計算し、nが0で1を返す階乗計算において、乗算の回数はいくつか。

  1. A1回
  2. B2回
  3. C3回
  4. D4回
正解と解説を見る

正解:C3回

3×2×1×F(0)となり、3回の乗算が行われる。

この問題の解説ページを開く →

59変数xが0未満なら-xを返し、それ以外ならxを返す関数に「-5」を与えたときの戻り値は何か。

  1. A0
  2. B-5
  3. C5
  4. D1
正解と解説を見る

正解:C5

絶対値を求める処理であり、負の数には-1を掛けて正の数にするため戻り値は5である。

この問題の解説ページを開く →

60非同期通信を用い、画面全体を切り替えずに動的な処理を実現するJavaScriptの技術はどれか。

  1. AHTML
  2. BCSS
  3. CAjax
  4. DXML
正解と解説を見る

正解:CAjax

Ajaxは非同期通信を用いて画面全体を切り替えずに動的なインタフェースを実現する。

この問題の解説ページを開く →

61「xがyより小さい場合」という条件をプログラム言語で表現する一般的な記述はどれか。

  1. Aif x > y
  2. Bif x == y
  3. Cif x < y
  4. Dif x <= y
正解と解説を見る

正解:Cif x < y

「xがyより小さい」は「x < y」と記述する。

この問題の解説ページを開く →

62「1からnまでのすべての整数をかけ算した数」を何というか。

  1. A余り
  2. B階乗
  3. C総和
  4. D探索
正解と解説を見る

正解:B階乗

1からnまでの整数をかけ算した数を階乗という。

この問題の解説ページを開く →

63Webページの視覚表現(文字の色や大きさなど)を指定する言語はどれか。

  1. ACSS
  2. BAjax
  3. CXML
  4. DHTML
正解と解説を見る

正解:ACSS

CSSは文字の色や大きさなどのデザイン(視覚表現)を指定する言語である。

この問題の解説ページを開く →

64コンパイラ方式と比べたインタプリタ方式の特徴として適切なものはどれか。

  1. A実行前にプログラム全体を機械語へ翻訳する
  2. Bソースコードを1文ずつ解釈しながら実行する
  3. C実行可能なオブジェクトコードを生成して保存する
  4. D一般に実行速度が最も速い
正解と解説を見る

正解:Bソースコードを1文ずつ解釈しながら実行する

インタプリタはソースコードを1文ずつ解釈しながら実行する方式である。

この問題の解説ページを開く →

65連結リストの説明として正しいものはどれか。

  1. Aデータに要素番号を付与して管理する
  2. Bスタックの一種である
  3. Cデータを表形式に並べて管理する
  4. Dデータを数珠つなぎにしてポインタで管理する
正解と解説を見る

正解:Dデータを数珠つなぎにしてポインタで管理する

連結リストはデータとポインタを用いて数珠つなぎにするデータ構造である。

この問題の解説ページを開く →
基本情報技術者の全分野一覧へ戻る