「分かりそう」で「分からない」でも「分かった」気になれる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

一言でまとめるよ

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

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

おまけ

■訳してみるよ

「selection(セレクション)」の意味は「選択」とか「選抜」とか「選ばれた人」とかです。
「sort(ソート)」の意味は「並べ替える」とかです。
何となく くっつけると

選択して並べ替える

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本