選択ソート
Selection Sort
せんたくそーと
未整列の部分から最小(または最大)の要素を選び、未整列部分の先頭と交換する操作を繰り返して整列するアルゴリズム。交換の回数は少ないが、比較の回数が多く、計算量はO(n²)である。
Related
他の資格での定義
未整列部分から最小値(または最大値)を選択し、先頭の要素と交換することを繰り返す整列アルゴリズム。実装は単純だが、計算量はO(n²)で大量データには不向きである。
未整列部分から最小値(または最大値)を見つけて先頭に移動する操作を繰り返す整列アルゴリズム。計算量はO(n²)で、交換回数が少ないがデータ比較は多い。不安定ソート。
未整列の部分から最小(または最大)の要素を選び、未整列の部分の先頭と交換することを繰り返す整列のアルゴリズム。比較の回数はデータの並びによらず約n²/2回で、計算量はO(n²)である。交換の回数はn-1回以下と少ないが、離れた要素を交換するので安定な整列ではない。
Past Exams
過去問での出題
過去問で 2 回出題(応用情報技術者試験 2)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
隣り合う要素を比較し、順序が逆なら交換する操作を、列の端から端まで繰り返して整列するアルゴリズム。仕組みは単純だが、計算量はO(n²)で、大量のデータには向かない。
整列済みの部分に、未整列部分の先頭の要素を適切な位置に挿入する操作を繰り返して整列するアルゴリズム。計算量はO(n²)だが、ほぼ整列済みのデータに対しては高速に動作する。
アルゴリズムの実行に必要な処理の手間(基本操作の回数)を、入力データの大きさnの関数として表したもの。オーダ記法で表し、例えば線形探索はO(n)、2分探索はO(log n)になる。
アルゴリズムの実行に必要な記憶領域(メモリ)の大きさを、入力データの大きさnの関数として表したもの。オーダ記法で表し、作業用の配列を必要とするマージソートはO(n)になる。時間計算量と引換えになることが多い。
基準値(ピボット)を選び、それより小さい要素と大きい要素のグループに分ける操作を、各グループに再帰的に繰り返して整列するアルゴリズム。平均の計算量はO(n log n)で実用上最も速い部類だが、ピボットの選び方が悪いと最悪O(n²)になる。
データを半分ずつに分割していき、整列済みの小さな列どうしを併合(マージ)することを繰り返して整列するアルゴリズム。最悪でも計算量はO(n log n)で安定した整列ができるが、作業用の記憶領域が必要になる。
