トップ->アルゴリズム入門

アルゴリズム入門内検索

目次
アルゴリズムトップ
0. はじめに

1. アルゴリズム
   1. アルゴリズムとは
   2. 当ページの範囲
   3. 良いアルゴリズム
   4. フローチャートの書き方(記号)
   5. フローチャートの書き方(構造)
   6. 順次構造
   7. 分岐構造
   8. 反復構造

2. 順次構造
   1. 代入
   2. 計算
   3. 入力
   4. 出力
   5. 練習問題1
   6. 練習問題2

3. 分岐構造
   1. 条件分岐
   2. 単一分岐
   3. 練習問題1
   4. 多重分岐
   5. 複合条件
   6. ケース(多方向分岐)
   7. 練習問題2
   8. 練習問題3

4. 反復構造
   1. 反復構造の種類
   2. 前判定型
   3. 後判定型
   4. 練習問題1
   5. 練習問題2
   6. 練習問題3
   7. 多重反復処理(ネスト)
   8. 練習問題4
   9. 練習問題5

5. 配列
   1. 配列とは
   2. 練習問題
   3. 2次配列
   4. 練習問題
   5. 素数を求める,その1
   6. 素数を求める,その2

6. 検索・ソート
   1. サブルーチン
   2. シーケンシャルサーチ
   3. バイナリサーチ
   4. 練習問題
   5. ルックアップテーブル
   6. ソートとは
   7. 選択法
   8. 交換法
   9. バブルソート
   10. 挿入法
   11. クイックソート
   12. 処理速度の比較

7. 文字列
   1. 文字と文字列
   2. 文字列処理
   3. 文字列のコピー
   4. 練習問題
   5. 文字列の比較
   6. 文字列の連結
   7. 文字列の検索



トップ-> アルゴリズム入門:6章.検索・ソート-> 6-10.挿入法

←前ページへ :  解答へ :  次ページへ→



6-10.挿入法

  次のようなアルゴリズムで、昇順にソートするフローチャートを考える。

  1. 整列済みの配列に、次のデータを挿入していくと考える。
  2. データの最後まで(次のデータがなくなるまで)繰り返す。

 この方法は、応用範囲が今までの方法と比べて高く、キーボードから値が入力されるたびに、 ソートすると言った処理などの場合、今までの方法だと入力されるたびにすべてをソートしな ければいけなかったのに対し、挿入法では1回の処理ですむ。







| 要素 |  ソート前 | 1回処理後 | 2回処理後 | 3回処理後 | 4回処理後 |






0 84 84 43 43 43
1 121 121 84 84 84
2 43 43 121 93 93
3 93 93 93 121 121
4 140 140 140 140 140
5 83 83 83 83 83
6 14 14 14 14 14
7 93 93 93 93 93
8 181 181 181 181 181
9 58 58 58 58 58






    赤字:赤字の領域はソート済み     青字:赤字の領域に次に挿入する値

 すなわち赤字の領域はすでにソート済みの領域として、次に青地の値をその領域に 挿入する。このときにソートしながら挿入する。したがって、n個のデータをソートする 場合にはn回の処理が必要となる。

 このように降順にソートするフローチャートを考えてみてください。 ただし、メインルーチン、初期設定ルーチン、表示ルーチンは 今までののものをそのまま使う。


←前ページへ :  解答へ :  次ページへ→