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

一言でまとめるよ

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

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


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた