基本情報暗記無料で始める

選択ソートとは?せんたくそーと

選択ソートとは、まだ並べていない範囲から最小(または最大)の値を探し、その範囲の先頭と入れ替える操作を繰り返してデータを整列する方法である。n個の要素なら比較はn(n-1)/2回で、データがどう並んでいても変わらない。入れ替えは各回1度だけなので最大n-1回で済み、この「比較は多いが交換は少ない」性質がバブルソートとの対比で問われる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の頻出用語/テクノロジ系

基本情報を最短で暗記・合格する →

背景

並べ替えの最も素朴な考え方は「一番小さいものを探して先頭に置く」で、選択ソートはそれをそのまま手順にしたものである。実用の速さでは劣るが、動作が単純で計算量を数えやすいため、科目Bのアルゴリズム問題で「比較回数」「入れ替え回数」「i回目終了時の配列」を追わせる素材として定番になっている。

具体例

テストの点数[72,45,91,38]を昇順にする。全体の最小38を先頭の72と交換して[38,45,91,72]、残り3つの最小45はすでに2番目なので交換なし、残り2つの最小72を91と交換して[38,45,72,91]。比較は3+2+1=6回、交換は2回。Pythonならmin()と入れ替えの数行で書ける。

試験での引っ掛け

「整列済みのデータなら比較が減る」は誤りで、選択ソートは並びに関係なく毎回全走査するため最良も最悪もO(n²)(データが2倍なら時間は4倍)。途中で打ち切る工夫ができるバブルソートとの違いがここ。また離れた要素を直接交換するため、同じ値の並び順が入れ替わりうる不安定なソートである。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

基本情報を最短で暗記・合格する →

試験での特徴
  • 分野:テクノロジ系
  • 「整列済みのデータなら比較が減る」は誤りで、選択ソートは並びに関係なく毎回全走査するため最良も最悪もO(n²)(データが2倍なら時間は4倍)。