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

挿入ソート

pointこの用語のポイント

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

point「まだ並べ替えてないよ」な場所から「もう並べ替えたよ」な場所にデータを移していくよ

point「もう並べ替えたよ」な場所の、順番に並ぶところ(大小関係が ちゃんとしているところ)にデータを入れていくよ

スポンサーリンク

簡単に書くよ

挿入ソート(読:ソウニュウソート 英:insertion sort)とは

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

「まだ並べ替えてないよ」エリアにあるデータを「もう並べ替えたよ」エリアの「データの大小関係が ちゃんとなるところ」に入れていくことで全体を並べ替えるやり方
です。


image piyo

詳しく書くよ

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

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

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


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

挿入ソート

以上を踏まえて

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

が「挿入ソート」です。

挿入ソートで やることは単純です。

1.「まだ並べ替えてないよ」エリアにあるデータを「もう並べ替えたよ」エリアに移す
2.移すデータは「もう並べ替えたよ」エリアにあるデータの大小関係が ちゃんとなるところに入れる


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

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

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

例えば、そうですね。

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

挿入ソート2

最初の時点では、すべてのデータが「まだ並べ替えてないよ」エリアにあると考えます。
「もう並べ替えたよ」エリアは空っぽです。

挿入ソート3

それでは並べ替えスタートです。
まず、1番左にあるデータ「3」を「もう並べ替えたよ」エリアに移動します。

挿入ソート4

次に、残っているデータの中で1番左にあるデータ「1」を「もう並べ替えたよ」エリアに移動します。

挿入ソート5

「1」は「3」より小さいので「3」の左に入れます。

挿入ソート6

次に、残っているデータの中で1番左にあるデータ「5」を「もう並べ替えたよ」エリアに移動します。

挿入ソート7

「5」は「3」より大きいので「3」の右に入れます。

挿入ソート8

次に、残っているデータの中で1番左にあるデータ「2」を「もう並べ替えたよ」エリアに移動します。

挿入ソート9

「2」は「1」より大きくて「3」より小さいので「1」と「3」の間に入れます。

挿入ソート10

次に、残ったデータの中から……おっと、もう1つしか残っていませんね。
残っているデータ「4」を「もう並べ替えたよ」エリアに移動します。

挿入ソート11

「4」は「3」より大きくて「5」より小さいので「3」と「5」の間に入れます。

挿入ソート12

これで全部の並べ替えが終わりました。

挿入ソート13

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

挿入ソート14

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

やっていることは単純ですよね。

1.「まだ並べ替えてないよ」エリアにあるデータを1つ取り出す
2.「もう並べ替えたよ」エリアにあるデータの大小関係が ちゃんとなるところに入れる


を繰り返すだけです。

ちなみに、今回の説明では「まだ並べ替えてないよ」エリアと「もう並べ替えたよ」エリアの2つを用意して説明しました。
人によっては2つのエリアに分けないで説明している場合も あります。

せっかくなので、2つのエリアに分けない説明も書いておきますね。

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

挿入ソート15

最初の時点では、すべてのデータが並べ替えてない状態です。
分かりやすくするために、並べ替えていないデータは青色で表現しておきますね。

挿入ソート16

それでは並べ替えスタートです。
まず、1番左にあるデータ「3」を並べ替えたことにします。
並べ替えたデータは緑色で表現しますね。

挿入ソート17

次に、左から2番目にあるデータ「1」を並べ替えます。

挿入ソート18

「1」は「3」より小さいので「3」の左に移動します。

挿入ソート19

これで「1」と「3」が並べ替え済みになりました。

挿入ソート20

次に、左から3番目にあるデータ「5」を並べ替えます。

挿入ソート21

「5」は「3」より大きいので移動する必要ありません。
そのままにしておきます。

挿入ソート22

これで「1」と「3」と「5」が並べ替え済みになりました。

挿入ソート23

次に、左から4番目にあるデータ「2」を並べ替えます。

挿入ソート24

「2」は「1」より大きくて「3」より小さいので「1」と「3」の間に移動します。

挿入ソート25

これで「1」と「3」と「5」と「2」が並べ替え済みになりました。

挿入ソート26

最後に、一番右にあるデータ「4」を並べ替えます。

挿入ソート27

「4」は「3」より大きくて「5」より小さいので「3」と「5」の間に移動します。

挿入ソート28

これで全部の並べ替えが終わりました。

挿入ソート29

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

挿入ソート30

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

まずは前半で説明した挿入ソートの「考え方」を理解できるように頑張ってください。
考え方を理解できれば、後半で説明したやり方も理解できると思います。


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

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

挿入して並べ替える

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた
AI用語図鑑 ビジネス・開発・試験対策に使える厳選キーワード256