データサイエンス数学ストラテジスト[中級] ⑦ アルゴリズム関連

公式の学習分野3(アルゴリズム・プログラミングに必要な数学リテラシー)に対応する分野。時間計算量と空間計算量、線形探索と二分探索の比較回数、バブル・選択・クイック・マージの各ソート、共通鍵暗号と公開鍵暗号、シーザー暗号とROT13、フローチャートの記号、命令網羅・判定網羅・条件網羅、2進数と16進数の変換、ビットとバイト、標本化・量子化・符号化、パリティやハミング符号、可逆/非可逆圧縮、ハフマン符号、逆ポーランド記法、最短経路問題、ナップサック問題を扱う。収録92問には1億件を二分探索したときの最大比較回数のように、桁感覚を問う計算も含まれる。

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

クイズモードで挑戦 →

5900と1だけで表現され、コンピューターが直接理解できる言語は何と呼ばれるか。

  1. A機械語
  2. B自然言語
  3. Cソースコード
  4. Dアセンブリ言語
正解と解説を見る

正解:A機械語

コンピューターが直接理解できるのは0と1で表現される機械語です。

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

591ソースコードを記述する際に用いられる、人間が理解しやすい言語の総称はどれか。

  1. Aバイナリ言語
  2. B機械語
  3. Cプログラミング言語
  4. D自然言語
正解と解説を見る

正解:Cプログラミング言語

人間が理解しやすい文法で記述するための言語をプログラミング言語と呼びます。

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

592次の計算量のうち、データ量が増えたときの処理時間の増加が最も少ないものはどれか。

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

正解:BO(log n)

処理時間は一般にO(log n) < O(n) < O(n log n) < O(n^2)の順に少なくなります。

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

593アルゴリズムが問題を解くときに必要なステップ数がどのように増えるかを示す指標は何か。

  1. A空間計算量
  2. B容量計算量
  3. C領域計算量
  4. D時間計算量
正解と解説を見る

正解:D時間計算量

処理に必要なステップ数(計算の数)の増え方を示す指標を時間計算量といいます。

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

594アルゴリズムが一時的に保持するデータや情報の保存場所の増え方を示す指標はどれか。

  1. A記憶計算量
  2. B空間計算量
  3. C時間計算量
  4. D速度計算量
正解と解説を見る

正解:B空間計算量

メモリー空間の量の増え方を示す指標は空間計算量です。

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

595データが保管されている構造のうち、先入れ先出しの方式となるものはどれか。

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

正解:Aキュー

データ構造の中で、最初に入れたものを最初に取り出す方式をキューといいます。

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

5961000件のデータがランダムに並んでいる。線形探索を用いて特定のデータを探す場合、最悪で何回の比較が必要か。

  1. A10000回
  2. B10回
  3. C100回
  4. D1000回
正解と解説を見る

正解:D1000回

線形探索は前から順番に探すため、最悪の場合はデータの総数と同じ回数の比較が必要です。

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

597目的のデータが見つかるまで、探索する範囲を半分に絞り込んでいく探索アルゴリズムはどれか。

  1. A幅優先探索
  2. B線形探索
  3. C二分探索
  4. Dハッシュ探索
正解と解説を見る

正解:C二分探索

中央の値と比較して探索範囲を半分ずつ絞り込む手法を二分探索といいます。

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

5981億件のデータが昇順に並んでいる。この中から二分探索で目的のデータを調べる場合、最大の比較回数として最も近いものはどれか。

  1. A1億回
  2. B1000回
  3. C28回
  4. D300万回
正解と解説を見る

正解:C28回

n件のデータならlog2(n)+1回程度の比較で済むため、1億件なら約28回となります。

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

599ソートアルゴリズムのうち、隣り合う2つの要素を比較し、大小の順序が違うときは交換する操作を繰り返す手法はどれか。

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

正解:Dバブルソート

隣り合う要素の比較と交換を繰り返して並べ替える手法をバブルソートといいます。

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

600ソートされていない部分から最小の要素を探し出し、正しい位置と交換するソート手法はどれか。

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

正解:A選択ソート

最小の要素を探して左端などと交換していく手法を選択ソートといいます。

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

601基準値(ピボット)を決め、それより小さい要素と大きい要素に分割する操作を繰り返すソート手法はどれか。

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

正解:Bクイックソート

ピボットを用いてデータを左右に分割していく並べ替え手法をクイックソートといいます。

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

602データをバラバラの要素と捉え、統合する際に小さい順に並べることを繰り返すソート手法はどれか。

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

正解:Dマージソート

要素を統合(マージ)しながら並べ替える手法をマージソートといいます。

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

6037, 2, 5, 9, 6, 1, 8のデータをバブルソートで昇順に並べ替えるとき、要素を交換する操作は何回行われるか。

  1. A5回
  2. B10回
  3. C15回
  4. D21回
正解と解説を見る

正解:B10回

隣り合う要素を比較・交換していくと、全体が昇順になるまでに合計10回の交換が発生します。

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

604選択ソートの時間計算量として正しいものはどれか。

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

正解:CO(n^2)

選択ソートは最小値を探して交換するため、時間計算量はO(n^2)となります。

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

605第三者にわからないようにデータを変換することを暗号化というが、それを元のデータに戻すことを何と呼ぶか。

  1. A復号
  2. B解読
  3. C変換
  4. D逆算
正解と解説を見る

正解:A復号

暗号化されたデータ(暗号文)を元のデータ(平文)に戻す操作を復号といいます。

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

606暗号化と復号の両方に同じ鍵を使う暗号方式はどれか。

  1. A共通鍵暗号
  2. B公開鍵暗号
  3. Cハイブリッド暗号
  4. D量子暗号
正解と解説を見る

正解:A共通鍵暗号

送信者と受信者が同一の鍵を用いて暗号化と復号を行う方式を共通鍵暗号といいます。

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

607共通鍵暗号の代表的な手法として該当するものはどれか。

  1. AROT13
  2. BRSA
  3. CAES
  4. D楕円曲線暗号
正解と解説を見る

正解:CAES

共通鍵暗号の代表的な手法にはDESやAESなどがあります。

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

608暗号化と復号に異なる鍵を使い、受信者が公開した鍵で暗号化を行う方式はどれか。

  1. Aハイブリッド暗号
  2. B公開鍵暗号
  3. Cシーザー暗号
  4. D共通鍵暗号
正解と解説を見る

正解:B公開鍵暗号

秘密鍵と公開鍵のペアを用い、鍵の共有問題を解決した方式を公開鍵暗号といいます。

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

609アルファベットを一定の文字数だけずらして暗号化する古典的な暗号アルゴリズムを何と呼ぶか。

  1. Aハミング符号
  2. BRSA暗号
  3. CDES暗号
  4. Dシーザー暗号
正解と解説を見る

正解:Dシーザー暗号

文字を数文字分ずらして暗号文を作成する古典的な手法をシーザー暗号といいます。

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

610ROT13はアルファベットを何文字ずらす暗号化アルゴリズムか。

  1. A3文字
  2. B13文字
  3. C26文字
  4. D7文字
正解と解説を見る

正解:B13文字

ROT13はアルファベットを13文字ずらすもので、2回適用すると元に戻る特徴があります。

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

611公開鍵暗号の代表的な手法であり、3人の開発者の頭文字から名付けられたものはどれか。

  1. ARSA
  2. BDES
  3. CCRC
  4. DAES
正解と解説を見る

正解:ARSA

Rivest、Shamir、Adlemanの3名によって開発された公開鍵暗号手法はRSA暗号です。

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

612コンピューターが実行する手順に沿って処理を並べ、動作をイメージしやすくするプログラミング手法はどれか。

  1. A宣言型
  2. Bオブジェクト指向型
  3. C関数型
  4. D手続き型
正解と解説を見る

正解:D手続き型

処理の手順に沿ってプログラムを記述していく基本的な手法を手続き型と呼びます。

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

6131から9までの数が1つずつ入り、縦・横・対角線の和が等しくなる3×3の魔方陣において、1列の和はいくつになるか。

  1. A21
  2. B12
  3. C15
  4. D18
正解と解説を見る

正解:C15

1から9までの合計は45であり、3列に均等に分かれるため1列の和は15になります。

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

614フローチャートにおいて、ひし形の記号が表す処理の意味はどれか。

  1. A開始・終了
  2. Bキー入力
  3. C条件分岐
  4. D処理
正解と解説を見る

正解:C条件分岐

フローチャートにおいて、ひし形は条件による振り分け(条件分岐)を表します。

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

615フローチャートにおいて、長方形の左右に縦線を加えた記号が表す意味はどれか。

  1. A繰り返し
  2. B条件分岐
  3. Cキー入力
  4. D定義済み処理
正解と解説を見る

正解:D定義済み処理

別のフローチャートで定義されている処理を呼び出す記号は定義済み処理です。

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

616プログラムのテストにおいて、それぞれの命令文が少なくとも1回は実行されることを確認する網羅性はどれか。

  1. A命令網羅率
  2. B経路網羅率
  3. C分岐網羅率
  4. D条件網羅率
正解と解説を見る

正解:A命令網羅率

すべての命令(処理)が1回以上実行されたかを評価する指標を命令網羅率(C0)といいます。

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

617それぞれの条件分岐における判定条件の「真」と「偽」が少なくとも1回は実行されるかを確認する指標はどれか。

  1. A命令網羅率
  2. B分岐網羅率
  3. C条件網羅率
  4. D複数条件網羅率
正解と解説を見る

正解:B分岐網羅率

条件分岐の真偽両方のパターンを網羅するテスト指標を分岐網羅率(C1)といいます。

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

618条件分岐に複数の条件が含まれる場合、それぞれの条件が少なくとも1回は独立して評価されるようにする指標はどれか。

  1. A命令網羅率
  2. B分岐網羅率
  3. C基本網羅率
  4. D条件網羅率
正解と解説を見る

正解:D条件網羅率

複合条件の各要素について真偽を網羅するテスト手法を条件網羅率(C2)といいます。

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

619「0」と「1」の2種類の数字を用いて数を表現する方法を何と呼ぶか。

  1. A10進数
  2. B2進数
  3. C8進数
  4. D16進数
正解と解説を見る

正解:B2進数

電圧の高低などの2状態と相性が良く、0と1だけで数を表す方式を2進数といいます。

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

62010進数の「358」を2進数に変換した値として正しいものはどれか。

  1. A110100110
  2. B101110010
  3. C101100110
  4. D101010110
正解と解説を見る

正解:C101100110

358を2で割り続け、その余りを下から並べると101100110となります。

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

6212進数の「101」を10進数に変換した値として正しいものはどれか。

  1. A5
  2. B6
  3. C3
  4. D4
正解と解説を見る

正解:A5

1×2^2 + 0×2^1 + 1×2^0 = 4 + 0 + 1 = 5となります。

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

62216進数において、10進数の「12」に該当する文字はどれか。

  1. AC
  2. BD
  3. CA
  4. DB
正解と解説を見る

正解:AC

16進数では10がA、11がB、12がCと表記されます。

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

6232進数の「11001101」を16進数に変換した値として正しいものはどれか。

  1. ADD
  2. BBD
  3. CCD
  4. DDC
正解と解説を見る

正解:CCD

4桁ずつ区切ると1100(12=C)と1101(13=D)になり、合わせてCDとなります。

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

62416進数の「2B5」を10進数に変換した値として正しいものはどれか。

  1. A715
  2. B693
  3. C695
  4. D713
正解と解説を見る

正解:B693

2×16^2 + 11×16^1 + 5×16^0 = 512 + 176 + 5 = 693となります。

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

625コンピューターで扱う情報の最小単位で、0または1のいずれかの値を持つものを何と呼ぶか。

  1. Aワード
  2. Bブロック
  3. Cバイト
  4. Dビット
正解と解説を見る

正解:Dビット

0または1の値を保持する情報の最小単位をビット(bit)といいます。

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

6261バイトは何ビットで構成されるか。

  1. A4ビット
  2. B8ビット
  3. C16ビット
  4. D32ビット
正解と解説を見る

正解:B8ビット

一般的なコンピューターシステムでは、1バイトは8ビットとして扱われます。

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

6271バイトの情報量で表現できる値は何通りあるか。

  1. A256通り
  2. B512通り
  3. C64通り
  4. D128通り
正解と解説を見る

正解:A256通り

1バイトは8ビットであり、2^8 = 256通りの値を表現できます。

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

628アルファベットなどを表現するASCII文字コードにおいて、1文字を表すのに必要なデータ量はどれか。

  1. A1ビット
  2. B2バイト
  3. C4バイト
  4. D1バイト
正解と解説を見る

正解:D1バイト

ASCIIコードでは1バイト(8ビット)を用いて1文字を表現します。

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

62920MBのデータを512Kbpsの通信回線で送信するとき、その通信にかかる時間として最も近い値はどれか。

  1. A819秒
  2. B164秒
  3. C328秒
  4. D655秒
正解と解説を見る

正解:C328秒

20×1024×1024×8ビット ÷ (512×1000)bps ≒ 328秒となります。

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

630アナログデータをデジタルに変換する際、一定の間隔でデータを抽出する処理を何と呼ぶか。

  1. A符号化
  2. B量子化
  3. C標本化
  4. D正規化
正解と解説を見る

正解:C標本化

連続的な情報から一定間隔で離散的なデータを抽出する処理を標本化(サンプリング)といいます。

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

631標本化によって取得した値を、何段階の数値で表現するかを決める処理を何と呼ぶか。

  1. A圧縮化
  2. B符号化
  3. C標本化
  4. D量子化
正解と解説を見る

正解:D量子化

抽出したデータをあらかじめ決められた段階の数値に割り当てる処理を量子化といいます。

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

632量子化によって得られた数値を、0と1のビット列に変換する処理を何と呼ぶか。

  1. A符号化
  2. B標本化
  3. C暗号化
  4. D量子化
正解と解説を見る

正解:A符号化

数値をコンピューターが扱いやすい0と1のデータ(符号)に変換する処理を符号化といいます。

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

633サンプリング周波数8kHz、量子化ビット数8ビットで10分間録音した場合のデータ容量(MB)に最も近い値はどれか。

  1. A2.3MB
  2. B4.6MB
  3. C9.2MB
  4. D18.4MB
正解と解説を見る

正解:B4.6MB

(8000Hz × 600秒 × 8ビット) ÷ 8 = 4,800,000バイト。1024で2回割ると約4.6MBになります。

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

634データ通信時のエラー検出のため、データ内の「1」の数が偶数か奇数かを示す1ビットを追加する手法はどれか。

  1. Aハミング符号
  2. Bチェックデジット
  3. Cチェックサム
  4. Dパリティチェック
正解と解説を見る

正解:Dパリティチェック

1ビットを追加して「1」の総数を偶数や奇数に揃えることでエラーを検出する手法をパリティチェックといいます。

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

635データをいくつかに区切ってその合計値を付加し、受信側で照合することでエラーを検出する手法はどれか。

  1. Aハフマン符号
  2. Bチェックサム
  3. Cパリティチェック
  4. Dチェックデジット
正解と解説を見る

正解:Bチェックサム

区切ったデータの合計値(サム)を比較して誤りを検出する手法をチェックサムといいます。

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

636マイナンバーや法人番号などで入力間違いを防ぐために付加される、特定の計算式で求めた数字を何と呼ぶか。

  1. Aパリティビット
  2. Bハミング符号
  3. Cチェックデジット
  4. Dシンドローム
正解と解説を見る

正解:Cチェックデジット

入力ミスを検出するために各桁の値から計算して付加される検査用の数字をチェックデジットといいます。

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

637特定の位置に複数のチェック用ビットを追加し、エラーの検出だけでなく位置の特定と訂正も可能なアルゴリズムはどれか。

  1. Aハミング符号
  2. Bハフマン符号
  3. Cパリティチェック
  4. Dチェックサム
正解と解説を見る

正解:Aハミング符号

検査用のビットを複数配置することで、1ビットの誤り訂正を可能にする手法をハミング符号といいます。

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

638データを圧縮する際、圧縮したデータを完全に元の状態に戻せる方式を何と呼ぶか。

  1. A可逆圧縮
  2. B分割圧縮
  3. C可変長圧縮
  4. D非可逆圧縮
正解と解説を見る

正解:A可逆圧縮

テキストファイルなどのように、伸張した際に元のデータと完全に一致する圧縮方式を可逆圧縮といいます。

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

639人間の視覚や聴覚で認識しにくい情報を削ることで、完全には元に戻せないが高い圧縮率を実現する方式はどれか。

  1. Aランレングス圧縮
  2. B可逆圧縮
  3. C非可逆圧縮
  4. Dハフマン圧縮
正解と解説を見る

正解:C非可逆圧縮

画像や音声などで用いられ、データの一部を欠損させて圧縮率を高める方式を非可逆圧縮といいます。

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

640「白白白黒黒」を「白3黒2」のように、同じ値が連続する数を数えて文字数を減らす圧縮手法はどれか。

  1. Aシーザー暗号
  2. Bランレングス符号
  3. Cハフマン符号
  4. Dハミング符号
正解と解説を見る

正解:Bランレングス符号

同じデータの連続回数(長さ)を用いて圧縮するシンプルな手法をランレングス符号といいます。

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

641出現頻度が高いデータには短い符号を、低いデータには長い符号を割り当てて全体を圧縮する手法はどれか。

  1. Aハミング符号
  2. Bチェックサム
  3. Cランレングス符号
  4. Dハフマン符号
正解と解説を見る

正解:Dハフマン符号

データの出現確率を元に二分木を作成し、可変長の符号を割り当てる手法をハフマン符号といいます。

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

642「1+2×3」を「123×+」のように、演算子を数値の後に記述する表現方法を何と呼ぶか。

  1. A前置記法
  2. B逆ポーランド記法
  3. C中置記法
  4. Dスタック記法
正解と解説を見る

正解:B逆ポーランド記法

数値を先に書き、その後に演算子を置く後置記法の一種を逆ポーランド記法といいます。

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

643逆ポーランド記法を用いた計算をコンピューターで処理する際、数値を一時的に保持するために使われるデータ構造はどれか。

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

正解:Aスタック

後から入れたものを先に取り出す(FILO)構造であるスタックが、逆ポーランド記法の処理に適しています。

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

644逆ポーランド記法で記述された「3 4 × 2 6 × +」を計算した結果として正しいものはどれか。

  1. A36
  2. B15
  3. C20
  4. D24
正解と解説を見る

正解:D24

3×4=12、2×6=12となり、最後に12+12=24と計算されます。

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

645逆ポーランド記法で記述された「4 6 × 3 8 + +」を計算した結果として正しいものはどれか。

  1. A48
  2. B31
  3. C35
  4. D42
正解と解説を見る

正解:C35

4×6=24、3+8=11となり、24+11=35と計算されます。

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

646複数の経路の中からコストが最小となるルートを探す問題を総称して何と呼ぶか。

  1. A最大フロー問題
  2. Bナップサック問題
  3. C最短経路問題
  4. D巡回セールスマン問題
正解と解説を見る

正解:C最短経路問題

出発地から目的地までの費用や時間、距離の合計(コスト)が最小になるルートを求める問題を最短経路問題といいます。

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

647単一始点最短経路問題を解くアルゴリズムで、コストに負の値が含まれていると正しく動作しないものはどれか。

  1. Aベルマン・フォード法
  2. Bワーシャル・フロイド法
  3. C貪欲法
  4. Dダイクストラ法
正解と解説を見る

正解:Dダイクストラ法

確定した最短距離から順次探索を広げるダイクストラ法は、負のコスト(距離)を持つ辺があると破綻します。

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

648単一始点最短経路問題を解くアルゴリズムで、負のコストを持つ辺が存在しても正しく動作するものはどれか。

  1. Aベルマン・フォード法
  2. Bハフマン法
  3. Cクイックソート
  4. Dダイクストラ法
正解と解説を見る

正解:Aベルマン・フォード法

すべての辺に対してコストの緩和を繰り返すベルマン・フォード法は、負のコストにも対応できます。

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

649ナップサック問題のように、厳密な最適解を求めるのが非常に難しく、現実的な時間で解けないとされる問題の分類はどれか。

  1. A決定問題
  2. BNP困難問題
  3. CP問題
  4. D線形計画問題
正解と解説を見る

正解:BNP困難問題

組み合わせが爆発的に増え、効率的な解法が見つかっていない難問のクラスをNP困難問題といいます。

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

650品物をナップサックに入れるか入れないかの2択で考えるナップサック問題の名称はどれか。

  1. A多重ナップサック問題
  2. B連続ナップサック問題
  3. C分割ナップサック問題
  4. D0-1ナップサック問題
正解と解説を見る

正解:D0-1ナップサック問題

各品物について「1個入れる(1)」か「全く入れない(0)」の制約を設けたものを0-1ナップサック問題といいます。

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

6510-1ナップサック問題を解く際、重さに対する価値が高いものから優先的に選んでいく近似解法を何と呼ぶか。

  1. A分枝限定法
  2. B貪欲法
  3. C線形探索法
  4. D動的計画法
正解と解説を見る

正解:B貪欲法

目先の最も条件が良いもの(重さあたりの価値が高いもの)を順番に選んでいく手法を貪欲法(グリーディー法)といいます。

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

652データ構造のうち、階層的な関係性を表現するのに適しており、ハフマン符号の構築などにも使われるものはどれか。

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

正解:Cツリー

親要素から子要素へと枝分かれしていくデータ構造をツリー(木構造)といいます。

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

653線形探索において、探索対象が見つからなかった場合でも処理が終了するのはどのような条件を満たしたときか。

  1. Aすべてのデータと比較し終えたとき
  2. Bデータの半分を調べたとき
  3. C中央の値を超えたとき
  4. D先頭の値と比較したとき
正解と解説を見る

正解:Aすべてのデータと比較し終えたとき

線形探索は条件に一致するまで1つずつ確認するため、最後まで見つからなければ探索終了となります。

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

654挿入ソートの時間計算量として、最悪の場合の値として正しいものはどれか。

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

正解:AO(n^2)

挿入ソートは要素を正しい位置に挿入する処理を繰り返すため、最悪時の時間計算量はO(n^2)となります。

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

655ハッシュと呼ばれる一方向関数の仕組みが用いられる主な目的はどれか。

  1. A処理の高速化
  2. Bデータ構造の変換
  3. C改ざんの検知
  4. Dデータの圧縮
正解と解説を見る

正解:C改ざんの検知

ハッシュ関数は元データから固定長の値を生成し、データが改ざんされていないかの確認に用いられます。

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

656データ通信速度の単位である「1Mbps」は、1秒間に何ビットの情報を伝送できることを意味するか。

  1. A1,024ビット
  2. B1,000,000ビット
  3. C1,048,576ビット
  4. D1,000ビット
正解と解説を見る

正解:B1,000,000ビット

通信速度においてメガ(M)は1000×1000=1,000,000を表すため、1Mbpsは1秒間に1,000,000ビットの伝送を意味します。

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

657フローチャートにおいて、指定した処理の開始と終了で挟んで繰り返しを表現する記号(ループ端)の中にはどのような線が描かれているか。

  1. A斜め線
  2. B直線はない
  3. C縦線1本
  4. D横線1本
正解と解説を見る

正解:D横線1本

ループ端は、角が削れた長方形の中に横線が1本入った形状をしています。

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

658プログラミング言語の中で、ソースコードを大きなプログラムから小さなプログラムに分割し、独立して管理する手法に関連深い概念はどれか。

  1. Aパリティ
  2. Bオブジェクト指向
  3. C機械語
  4. Dアセンブリ
正解と解説を見る

正解:Bオブジェクト指向

複雑なプログラムを部品化して管理する手法としてオブジェクト指向プログラミングがあります。

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

65910進数の「89」を2進数に変換するために「2で割った余り」を求めていくと、最初に得られる余りの値はいくつか。

  1. A1
  2. B2
  3. C8
  4. D0
正解と解説を見る

正解:A1

89は奇数であるため、最初に2で割った時の余りは「1」になります。

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

660データの保存容量において、1024B(バイト)を意味する単位として正しいものはどれか。

  1. A1MB
  2. B1GB
  3. C1TB
  4. D1KB
正解と解説を見る

正解:D1KB

1024バイトは1キロバイト(1KB)として扱われます(1KiBと表記されることもあります)。

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

661公開鍵暗号において、受信者が秘密に保持し、暗号文を復号するために用いる鍵を何と呼ぶか。

  1. A共通鍵
  2. B公開鍵
  3. C秘密鍵
  4. D複合鍵
正解と解説を見る

正解:C秘密鍵

受信者だけが知っている復号のための鍵を秘密鍵と呼びます。

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

662ハフマン符号において、出現確率が0.25の文字と0.167の文字がある場合、符号長は一般にどうなるか。

  1. A同じ長さになる
  2. B0.25の文字の方が長くなる
  3. C0.25の文字の方が短くなる
  4. D確率は関係ない
正解と解説を見る

正解:C0.25の文字の方が短くなる

ハフマン符号では、出現確率が高い(頻繁に出現する)文字ほど短い符号が割り当てられます。

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

663中置記法から逆ポーランド記法への変換手順で、演算子が入力されたときにスタックから取り出されるものは何か。

  1. A優先順位の高い数値
  2. B優先順位が低い演算子
  3. C同じ優先順位の演算子は常にスタックに残す
  4. D優先順位が高い、または同順位で先に入っている演算子
正解と解説を見る

正解:D優先順位が高い、または同順位で先に入っている演算子

入力された演算子より優先順位が高い演算子、および左結合で同じ優先順位の演算子をスタックから取り出す。

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

664ナップサック問題を分枝限定法で解く際、解いても無駄なパターンが出た場合に行う処理はどれか。

  1. Aその先の探索を打ち切る
  2. B乱数で次を決める
  3. C最初からやり直す
  4. D条件を緩和する
正解と解説を見る

正解:Aその先の探索を打ち切る

無駄なパターン(暫定解より良くならないことが確定した枝)の先を調べるのをやめるのが分枝限定法の特徴です。

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

6650-1ナップサック問題において、n個の品物がある場合、単純にすべての組み合わせを調べると何通りのパターンが存在するか。

  1. An通り
  2. B2^n通り
  3. Cn^2通り
  4. Dn!通り
正解と解説を見る

正解:B2^n通り

各品物について「入れる」「入れない」の2通りがあるため、全体で2^n通りの組み合わせになります。

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

666二分探索が効率よく探索を行えるための前提条件として正しいものはどれか。

  1. Aデータがすべて異なる値であること
  2. Bデータが数値のみであること
  3. Cデータが偶数個であること
  4. Dデータがあらかじめ並べ替えられていること
正解と解説を見る

正解:Dデータがあらかじめ並べ替えられていること

二分探索は、データが昇順または降順にソート(並べ替え)されている状態でなければ正しく動作しません。

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

667バブルソートにおいて、最大の要素が右端に移動するのはどのタイミングか。

  1. A中央の要素を超えたとき
  2. B最初の1回目の処理が終わったとき
  3. Cすべての処理が終わったとき
  4. D最後の要素を比較した瞬間
正解と解説を見る

正解:B最初の1回目の処理が終わったとき

左から順に隣り合う要素を比較・交換していくと、1回目の走査が完了した時点で最大の要素が右端に確定します。

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

668アルゴリズムの評価に用いられる計算量の説明として、誤っているものはどれか。

  1. A空間計算量には、入力データの保持に必要なスペースだけでなく、計算中に一時的に保持する必要があるデータの保存場所も含まれる。
  2. Bデータ量が増えたときの処理時間は、一般に O(log n) < O(n) < O(n log n) < O(n^2) の順に多くなる。
  3. C処理に時間がかかる原因となる、メモリーや記憶容量の消費量の増え方を示す指標を時間計算量と呼ぶ。
  4. D時間計算量は問題を解くときに必要なステップの数の増え方を示す指標である。
正解と解説を見る

正解:C処理に時間がかかる原因となる、メモリーや記憶容量の消費量の増え方を示す指標を時間計算量と呼ぶ。

メモリーや記憶容量など、計算に必要なスペースの増え方を示す指標は空間計算量です。時間計算量は処理にかかるステップ数の増え方を示します。

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

6691億件のデータから特定の値を探索する際の説明として、最も不適切なものはどれか。

  1. Aデータが昇順や降順に並んでいない場合でも、二分探索を用いれば最大でも約28回の比較で目的のデータを見つけられる。
  2. B二分探索では、1回の比較によって探索する範囲がほぼ半分になる。
  3. Cデータが昇順に並んでいるとき、二分探索を用いると log2(10^8) + 1 回程度の比較で十分である。
  4. Dデータを前から順番に1つずつ調べていく線形探索を用いると、最悪の場合は1億回の比較が必要になる。
正解と解説を見る

正解:Aデータが昇順や降順に並んでいない場合でも、二分探索を用いれば最大でも約28回の比較で目的のデータを見つけられる。

二分探索は、データが事前に昇順や降順に並べ替えられて格納されている場合にのみ効率よく探索できる手法です。

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

670データを昇順に並べ替えるソートアルゴリズムの説明として、誤っているものはどれか。

  1. A選択ソートはソートされていない部分から最小の要素を探し出して交換する方法であり、時間計算量は O(n log n) である。
  2. Bマージソートはデータをバラバラの要素と捉えて小さい順に統合を繰り返す方法であり、全体での時間計算量は O(n log n) である。
  3. Cバブルソートは隣り合う2つの要素を比較して交換を繰り返す方法であり、時間計算量は O(n^2) である。
  4. Dクイックソートは基準値を決めて大小を左右に移動させる方法であり、平均的な時間計算量は O(n log n) である。
正解と解説を見る

正解:A選択ソートはソートされていない部分から最小の要素を探し出して交換する方法であり、時間計算量は O(n log n) である。

選択ソートの時間計算量は O(n^2) です。要素の交換回数が少なく済むという特徴があります。

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

671ネットワーク経由で情報をやり取りする際の暗号化と復号の説明として、不適切なものはどれか。

  1. A公開鍵暗号では、送信者が受信者の公開鍵を用いて暗号化し、受信者は自身の秘密鍵を用いて復号する。
  2. Bハイブリッド暗号は、公開鍵暗号を使って共通鍵暗号の鍵をやり取りし、共通鍵暗号でデータを暗号化する手法である。
  3. C公開鍵暗号は暗号化と復号に同じ鍵を使う手法であり、受信者が公開した秘密鍵を用いて送信者が暗号化を行う。
  4. D共通鍵暗号は暗号化と復号の両方に同じ鍵を使うため、送信者と受信者の双方が事前に鍵を安全に共有する必要がある。
正解と解説を見る

正解:C公開鍵暗号は暗号化と復号に同じ鍵を使う手法であり、受信者が公開した秘密鍵を用いて送信者が暗号化を行う。

公開鍵暗号は暗号化と復号に異なる鍵(公開鍵と秘密鍵)を使う手法であり、受信者が公開した公開鍵を用いて送信者が暗号化します。

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

672プログラムのテスト工程において、網羅性を測る指標の説明として誤っているものはどれか。

  1. A分岐網羅率(C1カバレッジ)は、それぞれの条件分岐における判定条件の真偽が少なくとも1回は実行されているかを調べる指標である。
  2. B条件網羅率(C2カバレッジ)は、それぞれの条件分岐におけるすべての命令文が少なくとも1回は実行されているかを調べる指標である。
  3. C複数の条件が記述された判定条件において、分岐網羅では1つとみなして真偽を確認するが、条件網羅では別々の条件として考える。
  4. D命令網羅率(C0カバレッジ)は、それぞれの命令文が少なくとも1回は実行されているかを調べる指標である。
正解と解説を見る

正解:B条件網羅率(C2カバレッジ)は、それぞれの条件分岐におけるすべての命令文が少なくとも1回は実行されているかを調べる指標である。

条件網羅率は、命令文ではなくそれぞれの条件分岐における判定条件が少なくとも1回は実行されているかを調べる指標です。

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

6732進数から16進数への変換についての説明として、誤っているものはどれか。

  1. A4桁ずつ区切って変換した結果を並べると、16進数の値が得られる。
  2. B2進数の「11001101」を16進数に変換するために4桁ずつ区切ると、「1100」と「1101」になる。
  3. C2進数の「1100」は10進数で考えると「12」であり、16進数では「C」に対応する。
  4. D2進数の「1101」は10進数で考えると「13」であり、16進数では「E」に対応する。
正解と解説を見る

正解:D2進数の「1101」は10進数で考えると「13」であり、16進数では「E」に対応する。

2進数の「1101」は10進数で「13」であり、16進数では「D」に対応します。16進数の「E」は10進数の「14」です。

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

674コンピューターで扱う情報の単位や通信速度に関する説明として、誤っているものはどれか。

  1. A通信速度を表す「1Kbps」は、1秒間に1000ビットの情報を伝送できることを意味する。
  2. B通信速度を表す「1Mbps」は、1秒間に1,048,576(1024×1024)ビットの情報を伝送できることを意味する。
  3. C1バイトは8ビットであり、1バイトで256通りの値を表現できる。
  4. Dデータの保存容量では1024Bを1KBと表すことが多く、厳密に区別する場合は1024Bを1KiB(キビバイト)と表記する。
正解と解説を見る

正解:B通信速度を表す「1Mbps」は、1秒間に1,048,576(1024×1024)ビットの情報を伝送できることを意味する。

通信速度を表記する際のM(メガ)は1024の2乗ではなく1000の2乗を使うため、1Mbpsは1秒間に1,000,000ビットの伝送を意味します。

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

675アナログなデータをデジタルデータに変換する処理の説明として、誤っているものはどれか。

  1. A符号化は、アナログデータを一定の間隔で区切って連続的な情報から離散的なデータを抽出する処理である。
  2. Bアナログデータをデジタル化する際は、一般に「標本化」「量子化」「符号化」の順に処理が行われる。
  3. C標本化(サンプリング)は、音声の大きさなどを一定の間隔で抽出する処理であり、分ける間隔が狭いほど細かい情報が得られる。
  4. D量子化は、標本化によって取得した値を、いくつの段階で表現するかを決める処理である。
正解と解説を見る

正解:A符号化は、アナログデータを一定の間隔で区切って連続的な情報から離散的なデータを抽出する処理である。

アナログデータを一定の間隔で区切って離散的なデータを抽出する処理は標本化です。符号化は、量子化で得られた値をビット列に変換する処理を指します。

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

676データ通信や保存時のエラー検出・訂正に関するアルゴリズムの説明として、誤っているものはどれか。

  1. Aパリティチェックは、データを2進数で表したときの「1」の数が偶数か奇数かを表す1ビットを付加し、エラーの有無を検出する。
  2. Bチェックサムは、データをいくつかに区切ってそれぞれの値の合計を追加し、受信側の計算結果と一致しない場合にエラーを検出する。
  3. Cチェックデジットは、各桁に決められた値を掛け合わせて計算した数字などを付加し、エラーの有無を検出する。
  4. Dハミング符号は、特定の位置にチェック用のビットを追加することでエラーの検出はできるが、誤りが発生した位置の特定や訂正を行うことはできない。
正解と解説を見る

正解:Dハミング符号は、特定の位置にチェック用のビットを追加することでエラーの検出はできるが、誤りが発生した位置の特定や訂正を行うことはできない。

ハミング符号は、誤りが発生したことだけでなく、誤りが発生した位置を特定して訂正まで行うことができます。

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

677データの圧縮に関する説明として、誤っているものはどれか。

  1. Aハフマン符号は、頻繁に出現する文字列には短い符号を、あまり出現しない文字列には長い符号を割り当てる可逆圧縮の手法である。
  2. B可逆圧縮は、テキストファイルやプログラムの圧縮などに用いられ、圧縮したデータを完全に元通りに戻せる。
  3. Cランレングス符号は、同じ値が連続して出現する部分をその値と長さで置き換える手法であり、非可逆圧縮に分類される。
  4. D非可逆圧縮は、人間の視覚や聴覚にとって重要ではない部分を除去することで、高い圧縮率を実現する方式である。
正解と解説を見る

正解:Cランレングス符号は、同じ値が連続して出現する部分をその値と長さで置き換える手法であり、非可逆圧縮に分類される。

ランレングス符号は圧縮したデータを完全に元通りに戻せるため、可逆圧縮に分類されます。

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

678逆ポーランド記法で書かれた式「3 4 × 2 6 × +」を処理する手順の説明として、誤っているものはどれか。

  1. A最初の「×」の演算が行われた直後、スタックには「12」という数値が1つだけ格納されている状態になる。
  2. Bすべての入力を処理し終えると、スタックには最終的な演算結果である「24」のみが残る。
  3. C演算子が登場したときは、スタックから「先入れ先出し(FIFO)」の特徴に従って必要な数だけ数値を取り出す。
  4. D数値が登場するたびにスタックに積み重ねる操作をプッシュと呼ぶ。
正解と解説を見る

正解:C演算子が登場したときは、スタックから「先入れ先出し(FIFO)」の特徴に従って必要な数だけ数値を取り出す。

逆ポーランド記法の計算で用いられるスタックは、先入れ後出し(FILO)の特徴を持ちます。

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

679複数の経路の中から最短や最安のルートを調べる最短経路問題のアルゴリズムについての説明として、誤っているものはどれか。

  1. Aベルマン・フォード法は、最初はスタート以外の点までのコストを無限大に設定し、すべての辺に対してコストの更新を繰り返すアルゴリズムである。
  2. Bベルマン・フォード法は、コストとして負の値が含まれている場合にも対応できるが、負の閉路は許容しない。
  3. Cダイクストラ法は、始点からコストが少ないノードへ進むことを繰り返し、それぞれの点までのコストを更新していくアルゴリズムである。
  4. Dダイクストラ法は、経路のコストとして負の値が含まれている場合でも、正しく最短経路を求めることができる。
正解と解説を見る

正解:Dダイクストラ法は、経路のコストとして負の値が含まれている場合でも、正しく最短経路を求めることができる。

ダイクストラ法は、コストとして負の値があると正しく動作しません。負のコストに対応するにはベルマン・フォード法などが用いられます。

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

6800-1ナップサック問題を解く手法に関する説明として、誤っているものはどれか。

  1. A貪欲法は計算量が少ないうえに、どのような品物の組み合わせでも必ず最適解を導き出せる。
  2. B貪欲法は、重さに対する価値が高いアイテムから順に入れていく手法である。
  3. C貪欲法は、必ずしも価値の合計が最大となる最適解を導き出せるとは限らない近似的な手法である。
  4. D分枝限定法は、各アイテムを入れるか入れないかで場合分けし、解いても無駄なものが出た段階でその先の探索を打ち切る手法である。
正解と解説を見る

正解:A貪欲法は計算量が少ないうえに、どのような品物の組み合わせでも必ず最適解を導き出せる。

貪欲法は目先の条件が良いものを順に選ぶ近似解法であり、必ず最適解になるとは限りません。最適解を保証するには分枝限定法や動的計画法を用います。

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

681フローチャートで使われる記号の説明として、誤っているものはどれか。

  1. A角が削れた長方形に横線が入った記号は、指定した処理の「繰り返し」を表す。
  2. B長方形の左右に縦線が入った記号は、利用者による「キー入力」を表す。
  3. C角が丸い長方形のような記号は、フローチャートの「開始」や「終了」を表す。
  4. Dひし形の記号は、条件による「振り分け(条件分岐)」を表す。
正解と解説を見る

正解:B長方形の左右に縦線が入った記号は、利用者による「キー入力」を表す。

長方形の左右に縦線が入った記号は、別のフローチャートで定義されている処理を呼び出す「定義済み処理」を表します。

この問題の解説ページを開く →
データサイエンス数学ストラテジスト[中級]の全分野一覧へ戻る