• 検索結果がありません。

アルゴリズムとデータ構造 補足資料 7-3 「単純選択ソート selsort.c 」

N/A
N/A
Protected

Academic year: 2021

シェア "アルゴリズムとデータ構造 補足資料 7-3 「単純選択ソート selsort.c 」"

Copied!
24
0
0

読み込み中.... (全文を見る)

全文

(1)

アルゴリズムとデータ構造 補足資料 7-3

「単純選択ソート selsort.c 」

横浜国立大学

理工学部

数物・電子情報系学科

富井尚志

(2)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

65 90 85 70 86 92 63 85

未整列

(3)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

90 85 70 86 92 63 85

未整列

未整列エリアの最小

65

(4)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

90 85 70 86 92 85

未整列

未整列エリアの最小 入れ替え

65 63

(5)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

90 85 70 86 92 85

未整列 入れ替え

65 63

整列済み

(6)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

90 85 70 86 92 85

未整列

65 63

整列済み

(7)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

90 85 70 86 92 85

未整列

65 63

整列済み

未整列エリアの最小

(8)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

90 85 70 86 92 85

未整列

65 63

整列済み

未整列エリアの最小

入れ替 え

(9)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

85 70 86 92 85

未整列

63

整列済み

未整列エリアの最小 入れ替 え

90

65

(10)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

85 70 86 92 85

未整列

63

整列済み

未整列エリアの最小

90

65

(11)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

85 70 86 92 85

未整列

63

整列済み

未整列エリアの最小

90 65

入れ替 え

(12)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

86 92 85

未整列

63

整列済み

未整列エリアの最小

90 65

入れ替 え

85

70

(13)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

86 92 85

未整列

63

整列済み

未整列エリアの最小

90

65 70 85

(14)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

86 92 85

未整列

63

整列済み

未整列エリアの最小

90

65 70 85

(15)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

86 92 85

未整列

63

整列済み

未整列エリアの最小

90 65 70 85

入れ替 え

(16)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

92

未整列

63

整列済み

未整列エリアの最小

90 65 70 85

入れ替 え

85 86

(17)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

92

未整列

63

整列済み

未整列エリアの最小

90

65 70 85 85 86

(18)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

92

未整列

63

整列済み

未整列エリアの最小

90

65 70 85 85 86

入れ替 え

(19)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

未整列

63

整列済み

未整列エリアの最小

90 65 70 85 85

入れ替 え

86 92

(20)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

未整列

63

整列済み

未整列エリアの最小

90

65 70 85 85 86 92

(21)

解の方針:未整列のエリアの最小(最大)要素1個を探す

8

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

63

整列済み

90

65 70 85 85 86 92

(22)

未整列

n

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

整列済

解の方針:未整列のエリアの最小(最大)要素1個を探す

→ あったら、候補と入れ替える

未整列

整列済

(23)

解の方針:未整列のエリアの要素1個を、整列済みのエリアのどこに「挿入」すればよいか探す 整列済みのエリアと未整列のエリアに分けて考える。

i

番目の要素 入れ替え対象の場所を決めるのに:

1

n-i

回の比較

入れ替え対象の値を保持するのに:

1

1+1/2+1/3+…+1/n

回のデータ移動

i

番目の要素を整列済みにするためのコスト

繰り返し回数:

n-1

未整列

n

件のデータ

整列済

未整列

整列済

(24)

解の方針:未整列のエリアの要素1個を、整列済みのエリアのどこに「挿入」すればよいか探す

n

件のデータ

整列済みのエリアと未整列のエリアに分けて考える。

未整列

未整列

整列済

未整列 整列済

未整列 整列済

未整列 整列済

整列済

未整列

整列済

n-1

回の繰返し

それぞれ、およそ

(n-i)/2

回程度の比較

O(n

2

) の比較

データ移動回数については、参考書(N.ヴィルト著「アルゴリズムとデータ構造」)参照

参照

関連したドキュメント

情報理工学研究科 情報・通信工学専攻. 2012/7/12

関東総合通信局 東京電機大学 工学部電気電子工学科 電気通信システム 昭和62年3月以降

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

清水 悦郎 国立大学法人東京海洋大学 学術研究院海洋電子機械工学部門 教授 鶴指 眞志 長崎県立大学 地域創造学部実践経済学科 講師 クロサカタツヤ 株式会社企 代表取締役.

静岡大学 静岡キャンパス 静岡大学 浜松キャンパス 静岡県立大学 静岡県立大学短期大学部 東海大学 清水キャンパス

講師:首都大学東京 システムデザイン学部 知能機械システムコース 准教授 三好 洋美先生 芝浦工業大学 システム理工学部 生命科学科 助教 中村

静岡大学 静岡キャンパス 静岡大学 浜松キャンパス 静岡県立大学 静岡県立大学短期大学部 東海大学 清水キャンパス

物質工学課程 ⚕名 電気電子応用工学課程 ⚓名 情報工学課程 ⚕名 知能・機械工学課程