2015/8/5 情報技術 ~ソートアルゴリズム~ 2015年7月9日 笠井俊信 1.基本選択法 • 基本選択法とは? – 数列の中から最大の数値を探すことを繰り返 し,大きい数字の位置から確定していく 5 3 9 6 9 3 5 6 9 6 5 3 1 2015/8/5 ソートのステップ 6 6 7 7 7 7 2 2 2 6 6 6 5 5 5 5 5 5 3 3 3 3 4 4 1 1 1 1 1 3 7 7 6 2 2 2 4 4 4 4 3 1 6 2 5 3 1 7 4 suu [0] [1] [2] [3] [4] [5] [6] i j p 0 0 1 3 4 1 7 7 7 7 0 5 5 6 6 i ・・・ 何番目に大きい数か j ・・・ どこまで数を調べたか p ・・・ 1番大きい数の場所 1.基本選択法のアルゴリズム (7個の数列のソート) • iを0から5まで繰り返す – 最大値の場所pにiを代入 – カウンタ2jにi+1を代入 – jをi+1から6まで繰り返す • (条件分岐)suu[p] < suu[j]? – Yesなら,pにjを代入 • jを1増やす – tempにsuu[i]を,suu[i]にsuu[p]を,suu[p]にtempを代入 – iを1増やす 6 2 5 3 1 7 4 suu [0] [1] [2] [3] [4] [5] [6] i ・・・ 何番目に大きい数か j ・・・ どこまで数を調べたか p ・・・ 1番大きい数の場所 2 2015/8/5 2.基本交換法 • 基本交換法とは? – 隣り合う2つの数を比較し,順序が間違ってい たら入れ替えていくことで,最小値を右に送り 出していく 5 3 9 6 5 9 3 6 5 9 6 3 ソートのステップ 6 6 6 6 6 6 6 2 2 5 5 5 5 5 5 5 2 3 3 3 3 3 3 3 2 2 2 7 1 1 1 1 7 7 2 7 7 7 7 1 4 4 6 2 5 3 1 7 4 suu [0] [1] [2] [3] [4] [5] [6] 4 4 4 4 4 1 1 i j 0 0 0 0 0 1 0 1 2 4 5 3 i ・・・ 何番目に小さい数か j ・・・ どこまで数を調べたか 3 2015/8/5 2.基本交換法のアルゴリズム (7個の数列のソート) • iを0から5まで繰り返す – jを0から5-iまで繰り返す • (条件分岐)suu[j] < suu[j+1]? – tempにsuu[j]を,suu[j]にsuu[j+1]を,suu[j+1]にtempを 代入 • jを1増やす – iを1増やす 6 2 5 3 1 7 4 suu [0] [1] [2] [3] [4] [5] [6] i ・・・ 何番目に小さい数か j ・・・ どこまで数を調べたか レポート課題 • 〆切:8月14日 • 提出方法:メール – [email protected] • 課題: – 基本挿入法のアルゴリズムを調べ, • 「ソートのステップ」を授業の形式を例に記述 – どんな変数を使い,どのように制御してソートしていくか – 例と同様に途中まででOK • そのアルゴリズムを授業の形式を例に記述 4
© Copyright 2024 ExpyDoc