「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

選択ソート

pointこの用語のポイント

pointデータを小さい順(大きい順)に並べるときの やり方だよ

point小さいやつから(大きいやつから)選んで抜いていくよ

スポンサーリンク

簡単に書くよ

選択ソート(読:センタクソート 英:selection sort)とは

バラバラに並んでいるデータを「小さい順」or「大きい順」に並べ替えるやり方のひとつ
であり

データの集まりの中から1番小さいやつを選び出して別の場所に置く→残ったデータの中から1番小さいやつを選び出して、さっき抜いたやつの隣に並べる→残ったデータの中から1番小さいやつを選び出して、さっき抜いたやつの隣に並べる→残ったデータの中から……のように、地道に選び出して並べていくことで全体を並べ替えるやり方
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「ソート」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ソートは「何らかの規則に従ってデータを並べること」です。
並べる順番は

・小さい順昇順
・大きい順降順
・アルファベット順
・五十音順
・古い順
・新しい順
・好きな順
・嫌いな順


など、いろいろ あります。

選択ソート

以上を踏まえて

データを小さい順や大きい順に並べるときの やり方のひとつ

が「選択ソート」です。

選択ソートで やることは単純です。
バラバラなデータの中から

1.1番小さいデータを選び出す
2.2番目に小さいデータを選び出す(選んだデータは1番小さいデータの隣に並べる)
3.3番目に小さいデータを選び出す(選んだデータは2番目に小さいデータの隣に並べる)
    ・
    ・
    ・


をデータがなくなるまで繰り返すだけです。

……と言葉で説明されても、イメージしにくいかも しれませんね。

大丈夫です。
例を挙げて説明します。

ここに「1」から「5」までの数字がバラバラにありました。
これを選択ソートを使って小さい順に並べ替えます。

選択ソート2

まずは、このデータの中から1番小さいデータを選び出します。
1番小さいデータは「1」ですね。

選択ソート3

選び出した「1」は別のところに置いておきましょう。

選択ソート4

次に、残ったデータの中から1番小さいデータを選び出します。
1番小さいデータは「2」ですね。

選択ソート5

選び出した「2」は、先ほど選んだ「1」の隣に並べておきます。

選択ソート6

次に、残ったデータの中から1番小さいデータを選び出します。
1番小さいデータは「3」ですね。

選択ソート7

選び出した「3」は、先ほど選んだ「2」の隣に並べておきます。

選択ソート8

次に、残ったデータの中から1番小さいデータを選び出します。
1番小さいデータは「4」ですね。

選択ソート9

選び出した「4」は、先ほど選んだ「3」の隣に並べておきます。

選択ソート10

次に、残ったデータの中から……おっと、もう1つしか残っていませんね。
残っているのは「5」です。

選択ソート11

最後に残った「5」を先ほど選んだ「4」の隣に並べます。

選択ソート12

おぉ、ちゃんと小さい順に並びましたね。

選択ソート13

これが選択ソートの基本的な考え方です。

やっていることは単純ですよね。
並べる前のデータから小さい順に選び出して、別の場所に置いていくだけです。
小さい順に選んだので、置いた先では小さい順に並びます。

ただし、です。

ちょっと応用編として、この並び替えをデータが一列に並んだ状態でやろうとする場合があります。
その説明を最初に読んでしまうと、難しく感じるかもしれません。

例えば、そうですね。

ここに「1」から「4」までの数字がバラバラな順番で一列に並んでありました。
これを選択ソートで並べ替えます。

選択ソート14

まずは、この一列に並んだデータの中から1番小さいデータを選び出します。
1番小さいデータは「1」ですね。

選択ソート15

次に、選び出した「1」を一番左に移動させます。

選択ソート16

……が、邪魔なやつがいますね。

選択ソート17

もめ事を起こすのは良くないので、穏便に済ませましょう。
お願いして場所を交換してもらいます。

選択ソート18

これで、1番小さい「1」が一番左になりました。

選択ソート19

「1」の場所は決まったので、一旦 忘れます。

選択ソート20

次に、残ったやつ(「1」以外のやつ)の中から1番小さいデータを選び出します。
1番小さいデータは「2」ですね。

選択ソート21

次に、選び出した「2」を(「1」より右で)一番左に移動させます。

選択ソート22

……が、やっぱり邪魔なやつがいますね。

選択ソート23

もめ事を起こすのは良くないので、穏便に済ませましょう。
お願いして場所を交換してもらいます。

選択ソート24

これで、2番目に小さい「2」が左から2番目の場所に収まりました。

選択ソート25

「2」の場所は決まったので、一旦 忘れます。

選択ソート26

次に、残ったやつ(「1」と「2」以外のやつ)の中から1番小さいデータを選び出します。
1番小さいデータは「3」ですね。

選択ソート27

次に、選び出した「3」を(「1」と「2」より右で)一番左に移動させます。

選択ソート28

……が、やっぱり邪魔なやつがいますね。

選択ソート29

もめ事を起こすのは良くないので、穏便に済ませましょう。
お願いして場所を交換してもらいます。

選択ソート30

これで、3番目に小さい「3」が左から3番目の場所に収まりました。
それと同時に、1番大きな「4」も1番右側に来ました。

選択ソート31

おっと、小さい順に並びましたね。
これで並び替えは完了です。

選択ソート32

やっていることは前半で説明したのと同じですが、少し複雑そうに見えますよね。

まずは前半で説明した選択ソートの「考え方」を理解できるように頑張ってください。
考え方を理解できれば、後半で説明したデータが一列に並んだ状態でやる並べ替えも理解できると思います。


image piyo2

一言でまとめるよ

まぁ「選択ソート」って単語が出てきたら「並べ替えのやり方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像036
書籍画像070

おまけ

■訳してみるよ

「選択」は日本語ですね。
「sort(ソート)」の意味は「並べ替える」とかです。
何となく くっつけると

選択して並べ替える

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
「定年力」の鍛え方 老後の毎日を最高にする方法