www.edu-s.pref.kagoshima.jp

商業科 科目「プログラミング」
整列,探索(線形探索,二分探索)
1.整 列
ある順番にデータを並べ替えることを
整列(ソート・分類)
小さい順に並べ替えることを昇順(正順)
大きい順に並べ替えることを降順(逆順)
交換法,選択法,挿入法
整列 (交換法)昇順
(1)
(2)
(3)
(4)
(5)
24
17
16
31
18
17
24
16
31
18
17
16
24
31
18
17
16
24
31
18
17
16
24
18
31
整列
(1)
(2)
(3)
(4)
(5)
17
16
24
18
31
16
17
24
18
31
16
17
24
18
31
16
17
18
24
31
整列
(1)
(2)
(3)
(4)
(5)
16
17
18
24
31
16
17
18
24
31
16
17
18
24
31
整列
(1)
(2)
(3)
(4)
(5)
16
17
18
24
31
16
17
18
24
31
昇順に整列
24
17
16
31
18
整列
ループ1
J は4から始まり
1ずつ減少して1まで
Jは4からの4はデータ件数-1の値
ループ2
Kは1から始まり
1ずつ増加してJまで
A(k)>A(k+1)
KはJの値まで変化する
保存場所
No
24
Yes
入れ換え
ループ2
ループ1
③
①
17
24
A(k)
②
17
24
A(k+
整列
J=4
K=Jまで繰り返す
(1)
(2)
(3)
(4)
(5)
K=1
24
17
16
31
18
K=2
17
24
16
31
18
K=3
17
16
24
31
18
K=4
17
16
24
31
18
17
16
24
18
31
整列
J=3
(1)
(2)
(3)
(4)
(5)
K=1
17
16
24
18
31
K=2
16
17
24
18
31
K=3
16
17
24
18
31
16
17
18
24
31
整列
J=2
(1)
(2)
(3)
(4)
(5)
K=1
16
17
18
24
31
K=2
16
17
18
24
31
16
17
18
24
31
整列
K=1
J=1
(1)
(2)
(3)
(4)
(5)
16
17
18
24
31
16
17
18
24
31
昇順に整列
24
17
16
31
18
2.検索
配列などのデータの集まり
から必要なデータを取り出すこ
とを検索(サーチ)
線形探索,二分探索
線形探索
探索データ:X=58
X=58 (1) 36
X=58 (2) 24
X=58 (3) 42
X=58 (4) 58
(5) 77
(6) 63
(7) 81
(8) 11
探索データは4番目:58
線形探索
探索データ:X=46
X=46 (1) 36
X=46 (2) 24
X=46 (3) 42
X=46 (4) 58
X=46 (5) 77
X=46 (6) 63
X=46 (7) 81
X=46 (8) 11
探索データはなし
探索データ:X=58
二分探索
下限=0
(1) 11
中央値=(下限+上限)/2
※小数点以下切り捨て
(2) 24
(3) 36
(4) 42
中央値
下限=4
(5) 58
(5)
58
(6) 63
(6)
63 中央値
(7) 77
(7)
77
(8) 81
(8)
81
上限=9
上限=9
下限=4
(5)
58
中央値
上限=6
探索データは5番目:58
探索データ:X=46
二分探索
下限=0
(1) 11
中央値=(下限+上限)/2
※小数点以下切り捨て
(2) 24
(3) 36
(4) 42
中央値
下限=4
下限=4
下限=4
上限=下限+1
(5) 58
(5)
58
(6) 63
(6)
63 中央値
(7) 77
(7)
77
(8) 81
(8)
81
上限=9
上限=9
(5)
58
中央値
上限=5
上限=6
探索データはなし
線形探索
探索したいデータ
Xの決定
ループ
添字は1からはじまり
1ずつふえて8まで
H(添字)=X
YES
NO
ループ
添字>8
YES
NO
探索したいデータは
H(添字)
探索したいデータは
存在しない
探索したいデータ
Xの決定
二分探索
0→下限
9→上限
ループ
上限=下限+1まで
上限=下限+1
(下限+上限)/2
→中央値
H(中央値)=X
NO
YES
NO
H(中央値)>X
YES
NO
中央値→下限
ループ
YES
中央値→上限
探索したいデータは
H(中央値)
探索したいデータは
存在しない