交換法での並べ替え手順を確認しよう

学習の目的

  • 1. 交換法の手順と比較回数と交換回数を確認する

  • 2. 交換法の比較回数

1. 交換法の手順と比較回数と交換回数を確認する

次のリンクをクリックして、アルゴリズム学習ツールを開きましょう。

学習モードで交換法の動作を確認します。

学習モードが選ばれているか確認しましょう。

学習モードでは、配列に格納された8個のデータを昇順に並び替えます。

アルゴリズム学習ツールを使って交換法で並べ替えを行いましょう。

上記の8つのデータを交換法で並べ替えるたときの比較回数・交換回数について答えてください。
ツールの操作方法や交換法の手順を確認したい場合は、下記の「ツールを使った交換法を確認する」をクリックして手順の確認をしてください。

ツールを使った交換法を確認する

スタートボタンを押す

スタートボタンを押すと0番のデータと1番のデータを比較します。

昇順に並び替える交換法では、隣同士の左が小さい時に交換をします。

「8 > 3」で、左の数字が大きいので、交換します。

隣同士で昇順になっていなかったら、交換するんですね。

そうです。

このまま、配列の最後の値まで処理を繰り返していきましょう。

比較する隣接データを一つ右へ移動する

「8 > 6」で、左の数字が大きいので、交換します。

比較する隣接データを一つ右へ移動する

「8 > 2」で、左の数字が大きいので、交換します。

比較する隣接データを一つ右へ移動する

「8 > 7」で、左の数字が大きいので、交換します。

比較する隣接データを一つ右へ移動する

「8 > 4」で、左の数字が大きいので、交換します。

比較する隣接データを一つ右へ移動する

「8 > 1」で、左の数字が大きいので、交換します。

比較する隣接データを一つ右へ移動する

「8 > 5」で、左の数字が大きいので、交換します。

これで、一番大きい値が一番右に移動して、確定するんですね。

課題1 一つの値が確定するまでの比較回数を答えてください。

課題2 一つの値が確定するまでの交換回数を答えてください。

課題3 並び替えが完了するまでの比較回数を答えてください。

課題4 並び替えが完了するまでの交換回数を答えてください。

2. 交換法の比較回数

交換法を行うとき、何回の比較を行うか確認しましょう。

比較回数っていうのは?

比較回数は、交換するかどうかを確認するための比較の回数です。

交換するかどうかの結果に関わらず、比較をしたら1回カウントします。

比較回数か。さっきツールで色々試してみたけど、毎回おんなじだったな。

そうですね。実は、比較回数はデータの要素数で決まるんです。

  • データ数2のとき ⋯ 1回
  • データ数3のとき ⋯ 2 + 1 = 3回
  • データ数4のとき ⋯ 3 + 2 + 1 = 6回
  • データ数5のとき ⋯ 4 + 3 + 2 + 1 = 10回

  • データ数nのとき ⋯ (n-1) + (n-2) + ・・・ + 3 + 2 + 1 = ?回

このようになります。

そして、データ数がn個の時の公式が以下のようになります。

データ件数がn件のときの交換法の比較回数の求め方

比較回数 = n × ( n - 1 ) ÷ 2

nに、データ数を当てはめて計算してください。

例えば、データ数が5件なら、5 × ( 5 - 1 ) ÷ 2 = 10回となります。

※この再現版では提出は行いません(送信先は未接続です)

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる