このページは以下の「ITパスポート シラバス6.3」学習用コンテンツです。
◆大分類:7.基礎理論
◆中分類:14.アルゴリズムとプログラミング
◆小分類 | ◆見出し | ◆学習すべき用語 |
---|---|---|
37.アルゴリズムとプログラミング | (3) 代表的なアルゴリズム | 探索のアルゴリズム(線形探索法,2分探索法) 整列のアルゴリズム(選択ソート,バブルソート,クイックソート) |
探索のアルゴリズム(線形探索法,2分探索法)
探索のアルゴリズムはデータの集合から特定のデータを探し出すための手法です。代表的なものとして「線形探索法」と「2分探索法」があります。
線形探索法はリストの先頭から順にデータを比較していくシンプルな方法で、ソートされていないデータにも適用できます。
一方、2分探索法はソート済みのデータに対して効率的に検索を行う方法で、データの中央を基準にして探索範囲を半分に狭めていくため高速に動作します。
線形探索法に関する学習用問題
問題
線形探索法の特徴として最も適切なものはどれですか?
- データがソートされている必要がある
- 常に一定の時間で探索が完了する
- ソートされていないデータにも適用可能
%%replace6%%
正解
3 ソートされていないデータにも適用可能
解説
線形探索法はリストの先頭から順に1つずつデータを比較するため、データがソートされていなくても適用可能です。
選択肢1は2分探索法の特徴であり、選択肢2は正しくありません。
問題
線形探索法の欠点として正しいものはどれですか?
- ソート済みデータに対しては使用できない
- データの数が増えると探索時間が長くなる
- 常に全データを検索する必要がある
%%replace6%%
正解
2 データの数が増えると探索時間が長くなる
解説
線形探索法はリストの先頭から順に検索するため、データの数が増えるとそれに比例して探索時間が長くなります。
選択肢1は不正確で、選択肢3は探索が途中で終了する場合もあります。
問題
次のアルゴリズムのうち、線形探索法に該当するものはどれですか?
- 順番に全データを比較して探索するアルゴリズム
- データを2分割して探索範囲を絞るアルゴリズム
- 最も効率の良いデータ構造を使用するアルゴリズム
%%replace6%%
正解
1 順番に全データを比較して探索するアルゴリズム
解説
線形探索法はデータを一つずつ順番に比較していくアルゴリズムです。
選択肢2は2分探索法に該当し、選択肢1は具体的なアルゴリズムを指していません。
整列のアルゴリズム(選択ソート,バブルソート,クイックソート)
整列のアルゴリズムは、データを特定の順序に並べ替えるための手法です。代表的なものに「選択ソート」「バブルソート」「クイックソート」があります。
選択ソートは、未整列の部分から最小または最大の要素を選んで整列済み部分に追加していく方法で、バブルソートは隣接する要素を比較して入れ替えながら進む単純な方法です。クイックソートは、基準値を選びデータを分割しながら再帰的にソートする効率的なアルゴリズムで一般的に高速です。
選択ソートに関する学習用問題
問題
選択ソートの特徴として正しいものはどれですか?
- 隣接する要素を入れ替えながら整列する
- データを再帰的に分割して整列する
- 未整列部分から最小または最大の要素を選んで整列する
%%replace6%%
正解
3 未整列部分から最小または最大の要素を選んで整列する
解説
選択ソートは未整列の部分から最小または最大の要素を選び、整列済み部分に追加する方法です。
選択肢1はバブルソート、選択肢2はクイックソートの特徴です。
問題
バブルソートの特徴として最も適切なものはどれですか?
- 常にO(n log n)の時間でソートが完了する
- 隣接する要素を比較しながら進めるため、単純で実装が容易
- 一度にデータを分割して高速に処理を行う
%%replace6%%
正解
2 隣接する要素を比較しながら進めるため、単純で実装が容易
解説
バブルソートは隣接する要素を比較し必要に応じて入れ替えることでソートを進めるため、単純で実装しやすい方法です。
選択肢1はクイックソートの特徴であり、選択肢3は不正確です。
問題
クイックソートの利点として適切なものはどれですか?
- ソート時間がデータ量に比例して増加する
- 最小または最大の要素を先に見つける
- 高速で動作し、大規模なデータセットに適している
%%replace6%%
正解
3 高速で動作し、大規模なデータセットに適している
解説
クイックソートは分割統治法を用いてデータを効率よくソートするため、高速に動作し、大規模なデータセットに適しています。
選択肢1は選択ソートの特徴で、選択肢2は誤りです。