アルゴリズム
• 並び替えのアルゴリズム(基本編)
=
Ø 基本=
選択法(直接選択法)
Ø a[i] 〜 a[n-1] で最小項を探し a[i] と交換,
<=
/span>
Ø =
を i=3D0, … ,n-2 繰り返し
Ø
=
Ø 基本=
交換法(バブルソート)
Ø a[i] 〜 a[n-1] で隣接 2 項を比較し交換(小左へ)
Ø =
しつつ右へ移動(この操作で最大が最右へ=
),
Ø =
を i=3D0, … ,n-2 繰り返し
Ø=
; シェーカーソート <=
/span>〔 バブルソートの改良版〕
=
Ø
=
Ø 基本=
挿入法
Ø 既整列部分列 a[0] 〜 a[i-1] に a[i] を挿入
<=
/span>
Ø =
( a[i-1] と a[i] を比較, a[i-2] と a[i] を比較, … )
Ø =
を i=3D 1 , … ,n-1 繰り返し
69, 21, 96, 93, 12, 13, 52, 10
10, 21, 96, 93, 12, 13, 52, 69
69, 21, 96, 93, 12, 13, 52, 10
21, 69, 96, 93, 12, 13, 52, 10
min=
を見つ=
け最左へ
21, 69, 96, 93, 12, 13, 52, 10
21, 69, 96, 93, 12, 13, 52, 10
既整列部分列
21, 69, 9 3 , =
96,
12, 13, 52, 10
12, 21, 69, 9 3 , =
96,
13, 52, 10
21, 69, 93, 96, 12, 13, 52, 10
10, 12, 96, 93, 21, 13, 52, 69
21, 69, 93, 12, 96, 13, 52, 10
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image033.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhmgAPAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAACY
AA8AgAAAAICAgAJSjI+py+0Po5y0gouz3rz7D4biSJajYabqyrbuh77yTNdqbOf6PuP8Dwx6fMKi
cUc8KpetJPMJDTmj1Oplas0ysdpukesN88Dicq2CTqvX7HakAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image034.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhmgAYAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACY
ABYAgAAAAGZmmQKPjIGpy+0Po5y0WmhCylzfD4biKHUZZR7kyrZV6rkALNc2Rt9oqvdW7nMBg0Ie
8bgYIhvKpTPSbMFizyor+sBat72pkQu2ek3hsm76+5rXWXVNy05SV/Bl/SdTge7xmfs1t6eH89c3
wjf4wSFHZijmtngx5ki5gQbYUanZlpl2sgmK0CnyGVpZehVouqYaUQAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image035.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhGQATAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAIAAAAT
AA4AgAAAAGZmmQIrDI6pZ2G7HJJwvnRjBdRudjmZEnJgFVId9kjueo6iLEIzO+c3mPM9N0IZCgA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image036.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAYAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAT
ABgAgAAAADMzmQI0hH+By+HgFENyvVlxm5bynnxgJkIGWSqoqJbWysJf64aydm+5d9Zm7yLtUDeY
MSaJ+C6MAgA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image037.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhGQATAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAMAAQAR
AAwAgAAAAGZmmQIjRICpebwaGnyGVinpyYgb3z1RiGXROY2MupyNi8KqTMvWGhQAOx==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image038.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQAAPAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAAA/
AA8AgAAAAICAgAI3jI+py+0LApi02ouz3tfwD4acJ5bmR57qOqXsK7rwvMn0bdn4ru9375sBg68h
cWU8nh7MptNZAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image039.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhVwAdAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABV
ABsAgQAAAGZmmYCAgAECAwJohI+py+2PQoC02gsl3ryz6YWipY2mCUbpyZ5rC19rGdfkQdu6U777
r5DkgESc0FcEHpdJJXMkiEqn1Kr1is1qt9em1xD9esPiJLlMPKN/6rWu7a7B47A5nWW/m/J6Eb/v
wSU4SFioVQAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image040.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhbQAdAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABr
ABsAgQAAAGZmmYCAgAECAwKChI+py+0PowmUyouz1jXsD4ZY54nmaZLoyo5dC8fMK9eyaucrrvch
7wtyKsJiBmiMlY60pG4JQTozgqr1ir1SstgO9wsOi8fkKnMhnYrMElpajWJHSVB4Te6g1+0y/IPO
l+PXZhHYJ2CYaDCoqMbY6PQIaSQ5KVRp6VO2ydnp+QlWAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image041.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhGQATAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAMAAAAS
AA0AgAAAAGZmmQIoDI6pYawP3JEwQvPo0npFDF7Yh4yJxKDm15TNmq7sGKdT7da6jYtOAQA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image042.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhxgDPAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAADD
AM0AggAAADMzmWZmmYCAgMDAwAECAwECAwECAwP/CLrcOzDKSau9OOvNu/9g5IzkQJ5oqq5s675w
jJoyLd94ru/8acO/nnBILOaCLqRxyWwalSyoc0qtRm9Sq3Zrzaa83LB4CPaNz+hiuZRuu3HrUfxN
f88b97p+nH/s/4AAfQohhYaHiImKhYGNjo+QkZKTlJWWl5iZmpucnZ6foKGilAGlAaOoOqUMq6mu
Lqcjra+0JLEnt7W6ALm2u7u9uL+1wb7DrsXCx6jJxsuizbLPo9EO1dOX16zYodoL3tyS4Lzhn+Pj
5Y7n6Z7e6OyN7vAvAgKAufXW8zH1+XQB/exJ23ejX5p+0d4RHGFQS0BWwWYt3PGQSUNbpiROFFKR
/0fHjW4u8vMHEpDIFB9LOkq54KTKSQ9Zcsmo8WWLgALP1Ky5MCeKlC4d+BSSsORQoSRPyFRwVJUK
hbvyUQgIguqEeosiBNiwNSuIlQJpBB3pM2kOeWEGWTG4VAdbszfAQdWhlgpOQVPunoWV9g9OqXn1
xuXLpW5gqk3+Nn2xrnCksRQX40A3F44kwzMZO46EeQvlzZA6a2m8RXQV01VIa0E9hTUVuX05k2pR
2TJnr7gzdNWd24NNGddq/w5TTfjwzM6Oi+vFUzkkms6jS59Ovbr169iza98enQAA7+C/iw9Pfrz5
8ujPq0/Pfr379vDfy49Pf779+tzz69/Pv7////8ABiigKF8NyMQcrhnIAIIKLsFgg2okAWGELSQI
4YMTCoFhhjxsyCFdEn7YYYgiglhhiTt4iGIMBa7o4oswxijjjDTWaOONJbSIIxsk7ijHCxYqeEeQ
Bg7poxk9HrkgkEr+mGSTeD3ZpJFQLimlklRWSQiTWhKiY5dghinmmGSWaeaZJYYQZpZaslmlm1DC
OSWXXcqJJZ1t4vmmnnHyOeeVR9oZ6JdoFmrooYgmquiijGJC6J8ngimoj5PuWCmOl96YqY2b1tgp
jZ/OGKqMo8ZYKoynovpBo6y26uqrsMYq66y01mrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7CgR
9TV737PORgvttNJWSy20CQAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0016_image043.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHwAYAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAIAAAAb
ABcAgQAAAGZmmYCAgAECAwJXDI6pYIvRXIqS0QUrlle/23mMdWShFkHNyaUZKZbGa7KK+gr6zve7
rDoILMHKEIcTIF+OIw4xJDIXSkk0BrhSsUIjN+vlahVjTxn6PXfFYawazLb65rwCADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
• 並び替えのアルゴリズム(改良版)
=
Ø 改良=
選択法(ヒープソート)
Ø ヒープ( 親<子を満たす完全 2 分木 )作成,
<=
/span>
Ø =
交換(ルートと最後)・切り離し(最後)=
Ø =
修正(ヒープの保持)の繰り返し <=
span
style=3D'font-family:"MS Pゴシック";mso-ascii-font-family:"Times New Ro=
man";
mso-fareast-font-family:"MS Pゴシック";mso-hansi-font-family:"Times New=
Roman";
font-size:83%;display:none'>
Ø
=
Ø 改良=
交換法(クイックソート)
Ø 数列中の 適当な値 を選び,その値
Ø =
より小さい数を左,大きい数を右に,
Ø =
を繰り返し
<=
/span>
Ø
=
Ø 改良=
挿入法(シェルソート)
Ø gap 毎に基本挿入法を行い,
Ø gap縮小(例は 1/2 毎)を繰り返し
Ø=
;
Ø=
; おおざっぱに =
span> <=
/span>→ <=
/span>詳細に <=
/span>
69, 21, 96, 93, 12, 13, 52, 10
69
21
21
69
96
21
69
96
93
12
=
12
21
96
93
69
10
12
13
21
69
93
96
52
ヒープ
93
12
13
21
69
10
96
52
12
21
13
93
69
96
52
10, 12, 13, 21, 52, 69, 93, 96
アルゴリズム
69, 21, 96, 93, 12, 13, 52, 10
12, 13, 10, 21, 69, 96, 93, 52
小グループ
大グループ
69, 21 , 96 , =
93 , =
12, 13 , 52 , =
10
gap4(=3D8/2)
12 , =
13 , 52 , 10 , 69 , 21 , 96 , 93
gap2(=3D4/2)
1=
2 , 10 , =
52 , =
13 , =
69 , =
21 , =
96 , =
93
gap 1 (=
=3D2/2)
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml; charset="utf-8"
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image044.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAUAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAT
ABMAgQAAAGZmmf///wECAwI2hA+hgY0qoljOQImnC7nr53WMFXoMV4pJqqKsdL7ZJWuuHNffzY7r
6/ulghYehvi4USpJBbMAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image045.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQAT
ABkAgQAAAAAAAGZmmf///wJHhI8Qyb0NVYxvsmoPzkDsKITDEIbgiKZCI6TuuCLt+8Ydjccz7q47
r7oBa78hrGgUGVG6JcyA5NmiNdnSBqWSsLKiyVL6JgoAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image046.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAqAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAc
ACkAgQAAAGZmmf///wECAwJ2hI8JwawPmZjTwRiorlflDQYd8oGbOJbmma4mGrlvp8oU7NnhVet4
0pP9cjoOrWg8+kaGIIvZdAqGzMbNAn00styu9wtuhg+NTPkrpfJsaiK7ipy2kO1mvC5dtfOzWFzu
d6dUVLcgOPcGtwQloVfoUYOFdsZVAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image047.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQAc
ABkAgQAAAAAAAGZmmf///wJWBGKpievWnooS1nltZpn2631VeAnkpgjqMKgqugjsTAuwIdN6C+e7
bsv4fkAh8ReUDI+z5GPJZDlj0d00VS0qs80SV2rkXh1QJKqsPaNbYy+wvXG5HgUAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image048.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAqAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAc
ACkAgQAAAGZmmf///wECAwJ3hI8JwawPmZjTwRiorlflDQYd8oGbOJbmma4mGrlvp8oU7NnhVet4
0pP9cjoOrWg8+kaGIIvZdAqGTMnNAvU0styu9wtuhg+NTPkrpfJsaiK7ipy2kO1FXL6+t6Wr/R3/
wDeTV1RnRwe3lPgGZfViqHUCyXPGVQAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image049.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAc
ABoAgQAAAAAAAGZmmf///wJWhI8ZybeNHoyTViNrhlvfPoHOpXjkIYinIbTD0AprIry23c7uzcNr
3evJLsAgb1gpGm/IhnKJS0KF0ulx8rQ2aVZmtev7aongLSRL/UFzuix7hoq9EQUAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image050.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhJgAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAl
ABkAgQAAAAAAAGZmmf///wJ2hI8Qydr/Fjxyznpt1gZz+jkh4m2jGJaQwLbs6rYTO9R2LTTCfb/M
zuPlEMCgbXgoGo/JpZDofCqjyCkVYHUOs9poMMftenvYsdDcCy/VRhoa9x5s32C6gU3GM+/ouhlZ
Nlb1l8AGGKilk+VTuHjYGGMRw3hQAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image051.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAqAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAb
ACkAgQAAAGZmmf///wECAwJvhI8JwaH/mpiCwRuonvaivIWOt4TmiJkqGqlr6opwrLEfLUMgzs28
feP1dMIKaRcDtmjK5ampY9SgpEWjis1qt1wMtSqpdLTSZxb5Ov7AQiqa6cNB38k4nFicF434tt31
RXfCdkeYdvY2ttVwlVUAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image052.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAb
ABoAgQAAAAAAAGZmmf///wJYBGKpy4ytHjRyHktxqo1PH2mbBX6iGAhnI7TCMLir8cK2rZ71zbfa
zuthgEHhhFjEWZBJWI7BbMYg0eZzUU1esdLgVpH1Hru3L5dshqJFLWuainwPXb5FAQA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image053.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhJgAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAk
ABkAgQAAAAAAAGZmmf///wJyhI8QydrfFjRywmqxTfru+FEhNzqlGXaPwLbs5LqQMNR2LTTsfefJ
zuv5DLRg72fkDYtJ27KpJEKPzCmuagVar1sndqrdhrNdb3nwBaebY/W5DYWz10YfPQq4H6VghB7t
dzdEJKiTNOhXhxgYs8gok1AAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image054.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAUAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAS
ABIAgQAAAGZmmf///wECAwIwhB+pcW0pohTMgTAzrU9rjnlfJ35hmUFoeq6R6r6tC8c1fcUUYiPz
6PjJLI+FwlEAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image055.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQQAxAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAA/
ADAAgQAAAAAAAGZmmf///wLihI+pC8HonpwURhpu3Vt3z4WWCJFmZiZoWoFs476wzMSkIAQ4reC6
wMINhsMdT0gc4IAcZJJoDD6fTIpgOq2artik9sHtQlNhcXFSNitvai+6PRal1V/E3Fy3wuOLO16+
d8bgJ5YnQYhlCICYCBioyEjF9nhI6binuGh5SafXlln5WeHUBfrWuUFoauUXleq0xGOwVOR6Yys7
u5rL2+v7C9yEG3wbFks82Yj8irp82uzctxmdEMlHfWB9ja0ZuMY96/0Nrr1NXT4O3g23C1ze7s6u
Xi06X60Kv0yqlH++1B+sAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image056.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAc
ABoAgQAAAAAAAGZmmf///wJZhI8ZybeNHoyTViBvhnt29nFVKHpXIgTCWQnuALsre7zwfc+sgPc5
zfP5dJOgcNg6HokMoxLHRD2RxSm14bRGEdnptmaFXrrKLzhs5mppAJswDXHH4C3ZtgAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image057.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAT
ABkAgQAAAAAAAGZmmf///wJHhI8Qyb0NzYts0mTvyZpDAQpDKETigKZoyZzqyx7uC8v0vRoznrI7
PwL8gKMhEESkIZOqkvHmY+Z0zJiwmlhCrYght0UCMQoAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image058.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhJgAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAk
ABoAgQAAAAAAAGZmmf///wJ8hI8QydrfFjRywjqxZfru14EfNzrlEXqlIATC2L4bO9QDC7GCrT+0
DcQldsCg7EAsFo+ApJKHfD5lTuktag0aqtYXN/vLGsXLb9csDZNv6Ol6/GbH5XE12S7Gg5tvb33b
B7h21FbDVHiF0MYkOMW4xSXEYCfpo1Np2cNQAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image059.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAUAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAS
ABIAgQAAAGZmmf///wECAwIxhB2pcX0hohTJgTQzdVBnhnge04nfZY5lKq1s5L7Y28bpTG/2GMrN
3rLgThbEQuEoAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image060.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQQAxAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAA/
ADAAgQAAAAAAAGZmmf///wLjhI+pG7Hpnpz0xQoa3jxf/nUiEnbaOJ7ooa5T67KxVM4GvApCI9iL
HtDlBINiUdfz6YzHJIfIjDqHUaYQA61aY1ntsdL1flFh7/RRNpPF1XMiLXaD2dIJXC26a+UGfTtP
94cWuNXhJ/hDaMQncVg3qDjA2BgpSRk5CUmY6Wg50ul5GZgpykYKcHhauvcEd8UV97kk+WqDtFgr
64OWu+v7Cxws/IukOkwx23RMtWe8jDr6jKXoLNxZDQwaKq2gje3rza25KZ6IWd5d+b0bjv527o5w
HZ9Otx6sd2+drEwPVuxvQQEAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image061.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHQAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAb
ABoAgQAAAAAAAGZmmf///wJcBGKpiev3VouMVguxmZFbL2kKeInZQ0ZCIJiPAA8y3LqAIOc6bOL6
P9P4gL+aZUjcHZNJowPJzDkX0OhgqqhGsQktk2vwNiliIvhmVS7TV2H6TN3aYjueLUzjFgAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image062.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAwAS
ABYAgQAAAAAAAGZmmf///wI4hI+By6YNH5z0iHHzvKN7zAjcRwoIiXpHypojWwJwKs7oa3u4beal
r5MBB4Zdy+Jj8EI000bTKAAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image063.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhJgAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAl
ABoAgQAAAAAAAGZmmf///wJ9hI8Wye2/3olSUlvrhZl3sH2gGH6lc0pCIIhrmwnyQMtwY9OD/Qj6
X7sdfECdcFgsConJWoLZdBqg0Rs1ugNcq1MssLVtwsJi71dr/qZ/s3XNHYTv5GA4OTl219d5Ptrf
ZWaVdnQn9ed1hKhUSCbj0GakOET1WGFjeYnZUAAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image064.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhIgATAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAMAAQAc
ABEAhAAAADNm/19+/2GA/3WN/3OL/4ue/4mc/56s/6Gu/7W//7K9/8fP/9jd/9bb/8XN/+Tn/+/x
//b2//v7//7+//39//X2/+7w/+Pm/wECAwECAwECAwECAwECAwECAwECAwV7ICCOQWme6KiuQMA0
UCRNVDVZF+YEbO/CMpoNp+P1Vr/YrHbL7Y7Il1LYLEJVySCT+LyKssuh0+gFU7lkLMq8Ha9NA4Ih
oZBqxbrHAnEoCEpfAXN1QGFVDnp8gEh0doZciWlIbHiIi1clU20Yl15fd02SnoFUnaOTpj0hADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image065.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhNwBKAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAgA1
AEcAgQAAAAAAAP8AAAECAwLshI+py33hopwpWIpzvbpPC3piA3Lj+ZQQel6ryXbvE3srcNdorrc9
y/vJhD6iKGikIJOSJdPhfDKiUgW1irhiDdptFwvbksRNcuRbRUvVTzbTnYQb5US60P7D9/Q6fo0q
ECgoONcQaChwt3Aokbin4EgRGcMzKdmXYHlJiaC5CXTgiSGqcUM6cYqxkooKCsDa6AobMQtlUOuA
u+D3utOjW/EDnCVcBGQhEDJ024JcstzbnHzUuZMcplSNMo2jVrl9gz2WeZLII76xOOIYpGzlNBy5
9NwN2KGLrj4qNTvswcgAIJZBtwiZ6eTPQwEAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image066.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAUAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAT
ABIAgQAAAGZmmf///wECAwIyhB+pcY0hohTMGThzcjj7enki2IlaaH5AmUoM20ZJ/MHxTLtoXtkm
yePcLKsfyLJYWAoAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image067.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQQAxAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAA/
ADAAgQAAAAAAAGZmmf///wLkhI+pG7HYnpxUumou3jxy4H1iEo7l2KGKplJnC7IwJM9HrQpCoNvL
zhPkBINisecD6IxHIWfJZCJb0OjxabU6UcSsFNP1GreisPg6MZ8HZOx6nH7Dy/L5Q71uV/Bn/YHf
R1fHJgEo5hc3SPijuOhWh2hgmBV5p1g5GVVpOYjZyQW5J7eZmAeWR1r4lip5aFOlVValwwoGRVur
QJv0k8v7CxwsPLw3RUw1a3z8qOVLnOm4XBooPW1azRmKrXu5zf3pjdDozDsejgD9dd4Kvp6Ots5+
Hf+3Sp9gqHyvpKa//4frH4ICADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image068.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQQAbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAA/
ABoAgQAAAAAAAGZmmf///wK9hGOpy+2fEIwTyNru0xtzTFUfM5Kg6U1ldirr8lpn7NBh3dpu3p1C
IPABZ4JgS1EUDJbJR3I5aDqezOJRCc1GG1gtk1H0Qo2YrnibCJ+/6fW47H4bzGsy/UyexrPBex3g
J5bHtfcWKHgoCJHoxailVohGGMlEWUk5iGQZtenI59QZirlo6TlmyqYX2YeJKjlZyLoKOEq6Zxc7
NzvhiRuX55g5dWiFRAzmJrxIV8zFrEx1epSWpLxQbW0spVAAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image069.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhIgASAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAMAAAAc
ABIAhAAAADNm/3WN/3OL/4ue/4mc/56s/6Gu/7W//7K9/8fP/9jd/9bb/8XN/+Tn/+/x//b2//v7
//7+//39//X2/+7w/+Pm/wECAwECAwECAwECAwECAwECAwECAwECAwECAwV8ICCOQGCeKEquZKAs
zgNF0hRRlcUEbO/CMpoNp+P1Vr/YrHbL7Y7Il1LYLEJb0iCT+LyKktqh0+gFL8VWbyl7rnaRKTOV
24jzTALCAcGeOxsJBgUDJi0Be31bf4GFPnxAbXQJZEcmkH5FlFcmYU2Nai1tn6BwNZqkLKNQIQA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image070.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhFAAPAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAT
AA8AgAAAAICAgAIgRI6pCe0P24n0zVovjnrb4HFg+JGlKY1oR7Kh6y2yXAAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image071.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsAAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACv
AA4AgAAAAICAgAJzjI+py+0Mopy00oez3lzZD4biOAUkaZ7qyraS4cYykM5Rbec6CO++hZsFf0Th
sKg7upTIJorpXO6g0eqFaj1htdkub+vlTcPkF7h8GaPDvbXqLIK7be35SC62W+v6fA7fx8IXWAEI
ROjUobjoMMX4CAlZAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image072.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh3AACAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAQDZ
AAEAgAAAAMDAwAISDIynyesNn4x02oqvznz7Dj4FADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image073.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhDgARAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAIAAQAJ
AA0AgAAAAGZmmQIXhBGnuJfNnFSvpnDR0xi7vhng0kFeExYAOx==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image074.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsAAUAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACu
ABMAgQAAADMzmWZmmQECAwKFhI+pe+LOopy02ouz3vR5wYXiSJZm9UHnyrbumoLvTNd2E9/6znN5
DwwKcZ+h8WiLyVpLpLP3IzWfVGA0M61qg8qOagtGXg2PsLmqLJ81gfUr5cYE2vFT0TCnC/P8vv9P
BygIqDNoyPfgd3DIOLjApwW50id1RKl3hikyV8fB2UmiCXpRAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image075.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh3AACAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAQDZ
AAEAgAAAAMDAwAISDIynyesNn4x02oqvznz7Dj4FADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image076.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhngAYAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACd
ABcAggAAAACAAADM/zMzmYAAgAECAwECAwECAwP/OLDc/uHJSWsjtqo8I/8gQGwh45WMgDLYCpDo
iaquCJfyXLfrHeYhmmtUAwBBQhQP5QMdP0nlq/bkREPLUNNZu2KnrmrG+8mCth+xhVxeoC3qCjtj
5rwzcfmuce909yV9cEVzFlkDgg55EoUVdRSIRQuLE40UdYiZmpuaAZyfoAKgo5kjpJuSk4RFjzEu
lhOtqRKUjKyzRq+AuIOru6m1Kb+8tKmwscQBysvMzc0CztHRBNLV1tfGt8S6K7LbkscS3t8U4Rfk
2+YP4+i2Uu2z6g7s8A4C6vT15an5+in3AAMKDEhgoMGDCBMqHDirn78hDyOekwjPIUVtF9FZzFhi
EyNHEARCihxJsqTJkyhTqlz5IAEAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0029_image077.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhngAUAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACd
ABIAgQAAAICAAP8A/wECAwK9DI6pK+sPDJygUSivs3rlrggfeHAkMpLmmYIr2bqx9sJnUnfzlWs7
H7khepffhDgxHoUH5cPi3DCbTCRmWmFGpVShNVkVbrm3cQgVxpqzZSyb5TYFzF8KnbU+w+Oeuf8P
GCg4SFhoeIiYqAjoVtJY18gQqTJ5A7lU6ZJJs9lxidkJFEo2CvFpWkpxOrUa2UqaqhfrOCtZ+co3
i4u1a1uLU9vrFSpsGVt8gswgwNzs/AwdLT1NXW19jZ3NvFAAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
• 並び替えのアルゴリズム(その他のソート=
)
=
Ø マー=
ジソート
Ø 数列を 1 つずつの数値から結合
Ø =
(マージ)しつつ,ソートする
Ø =
(結合の際,小さい数同士を比較)
=
Ø
=
Ø ラデ=
ィックスソート(基数ソート)
Ø 0 〜 9 のバケットを用意し,数列の
Ø =
各数値の 1 の位を見て,対応する
Ø =
バケットに入れる
Ø 0 〜 9 のバケット順に数値を取出し
Ø =
並べる(各バケットは「キュー」)
Ø 10 の位以降,桁を上げて繰り返し
Ø 特徴は, 数値の「比較」をしない こと
69, 21, 96, 93, 12, 13, 52, 10
アルゴリズム
21 , 69, 93, 96, 12, 13, 10, 52
21 , 69, 93, 96, 10, 12, 13, 52
10, 12, 13, 21 , =
52,
69, 93, 96
69, 21, 96, 93, 12, 13, 52, 10
0 1 2
3 4 5
6 7 8
9
10, 21, 12, 52, 93, 13, 96, 69
0 1 2
3 4 5
6 7 8
9
10, 12, 13, 21, 52, 69, 93, 96
バケットへ
取出し
バケットへ
取出し
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml; charset="utf-8"
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image078.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsAALAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACu
AAoAgAAAADMzmQJzDI6py412oJuUSXCrnjLvrwQeSHbkmVwjqpnsKb7wI5dpDbp4u+7h7auogpQh
kdM7Go+NJfNHe1qSxAw16JRGoFradWftRoHisBizLS++OA9b5j6j593Rm2U/5+spkf8PGCg46DBo
eEjYhLi4WMj4KIhQAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image079.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsAAzAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACu
ADEAgQAAADMzmWZmmQECAwL/hH+CyyvaooNS0oqz3uly4G1h9nxNaY7myp5q9ZIf2nZzjecIrcW9
6JsFDUOdEVYsYoI8Y/N0jNaeDKXMYuVQE9Iua0vsqsC6bdaLNqer51SojfY+4T9bfHeh36U8fZ0s
BuG3F4Uy2AMol0jI2HGI2MgWOYm0hgdCibmYubZ5Y4cZ50HRxynnABqKQzqampM3wWXKtxMbtio4
klsoa/s4e6t6KfylAGb8+GCMBfJrqkx86ekCqHxovQQNXKaNNT1hrRvuNM6Gvf1aDt69Es7erD7l
PjqPLu++ft6uHxFf/G7umz1H1fhp+SbQ1sGBxdwwfAgxosSJFCtavIgxo8aNaRw7evwIMqTIkSRL
mjyJMqXKlSxbunwJM6bMmTRr2ryJs2aAlzsP9GwZ4CdLoUJXBuWJoKjKoy6JIlV6UilUkz2nlpQK
1KfRCFZFFu36sStYj1CDmj2LNq3atWzbun2b4a3cuXTrqkVQAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image080.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsAAzAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACu
ADIAgQAAADMzmWZmmQECAwL/hI+pe8KPHIRyvmoVzpGvbYEeIHJldqIptX4tNZJx8jL1N9O37gm7
HfvRcgZhgxgxklo+5HCkLCKj0SSxaatqgk7q1GnNYcPgZ6/7vZYbyvF43YGi1XT4G+rTTn5Vb91u
lAd3wZUmZjh4tyehOCgjh1h46Fj0ctdoJzm5OaOXxfJJKQX5p2nq2IjJJvq4d/R6VkrK+qbKQ1nD
COs6mgvr26oH0mTrEjdZkUJcGetQbOV8s9wqivVMRuU8yhKNl7fzLdgTXjbcfR3WR774HdTujc4m
3oVROz9+755/sR/Szx5PnhZxqf5xU4funT4xAeWVU7gk3DWJBlWAa4MRIxiIkzo4AqzoD0+kWaf0
eUzSMGIfVrRY+qO4wo/LmTRr2ryJM6fOnTx7+vwJNKjQoUSLGj2KNKnSpUybOn0KNarUqVSrWr2K
NavWrVy7ev0KNqzYsWTLmp0ZIMDZs2nXmm3rdqxaAHPjgq1b1y7XvHT1boWbIC1fv1ABPxBM2Cni
EYIbO34MObLkyZQrW76MObPmxhAKAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image081.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhoAAcAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAACc
ABkAgAAAAGZmmQL/TICpu3YMm4sUzSofZk7v1H2cYZFi5old+oWQewLwucbgldnKrPLtaor5NjWd
DFdB6oaYIhHIijCT02dQeDVWpT5mV/kDY7PGY9S2fQHH4mbaTS7n5Lf4iOSkuNL58ptecrakNJVX
NdPn1wZoxVhnp/e3Iwkn6EgDaaWxBZM4iUP5aXmplSla+Vj54HmqSfp6p2YqO4tSi3I3CksKNZhV
iBhqJrwr19tTG8Iqqhu4XMw41CZ8zBYlvQiNmV03/EIFxpn73EpjHraJPHGWQp7a8F3d9E7UgioB
ziIm73tAxvPsXzZTcYDRiuTPhLt+zsxw2ScI28NN3Bw2hPNo1S1kSsM8cHNSsZPANeoqZkRCMpoh
fggXOkPp8mUzZi031owYKqbMjiZ53oKiDygdoO1Y3pzps6jNi9a6aQuUEQ21nkhHGHtaz48xQQUA
ADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image082.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image083.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhXwBbAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAQBe
AFoAgwAAAAAAAFl8/3f3hKqMTK+qdbr0+f8tOP///wECAwECAwECAwECAwECAwECAwECAwT/EMhJ
q70gaI27xxv3jaQXnmU6nZvqmmz7jrE839lW7LuIgzXfT6Xj8QJDkPEoTNI0vUCv56SEotFqSSpd
HrWSrrfABX/GU7JZLDYizR20ey0nN+Er9lUNbntteBZ6XXdDUAEICFB2hYE5Y290f42OOYuAa5dS
lSZLkZV+nBcBAgKJiooCn5l+mIGkpaWJiBqqeAEDA4tkubqcsLGyG7GrSRq9hL29jsClsMPAa7m4
XNPKxU61wc6q2rFauMi6uuHXcMBI297EVcrTx+/K584Z6tvfxu76uWHTa6Vh7gVrZuiaOHkZ/IGh
V08gQHR8UoRAVq6cwmULbTUUyIIKkR3I/xLu4yfSzI4JzkIYWMmyZY1RLFqyZIGxDLgoGmTq3Kkz
Js+fLjkQAhfAQFGgSHduSMrUaAhjOZtKnZljKlNsEo9atYok6lakWD9o/Zr0aRiyTImMRcsT61q2
Sp/ABQtzblkYdn8We5u3LZCpMdJa6St1L9+2zbp2A/rpMOG4HZYqbWYLHePBjwWTYCFB3UZVl614
zdzzR+LPo2ViS903xo2XBFkbjWz3pSG96M6qDusY8LmyPt6GrQp3+OurItZS0s3WeJgggZtGci12
t+S7NEg7RbHFLObQ2bXvhrH8Oe4t4kvTXumqAnQi6V1GFl7+tvQTXNdDfoW8RmH9O/0CnP9/9xkG
niCcudAbdLKBZSBPQFCnFmLQkbWXXggG8cJhDPZGl3tAZSghfD0xiNZqB3a4IX1BWIhNfx22N591
BMLoVmEmsidjXTq2KJ2IHpZYIY2bcbGdT/dV0FyOJW7Ww5H44fidizWqRwMfMZAB2CdzDdkkCQcc
0BiSyK1QW3Rf0hBmGGG26aaYQTplZpeMOOacFWEG8Oaebl6n3BsNbolmjyrwaeihUoyXR5xBBUDA
o5BG+uiOHhxq6ZtcJCjadS5tJ+mnn94Z4QaX7uldd1c4CuqqkooqlqGuvnAEq7ROmg2somxQa6Sn
moarKBjQusavwFogbB/EFrvCseAkq2yPBsxWoQGfsfZBa7WvOlvsrs0i+uwE3EprKbbGhHurt9+q
em0VpZJr2q7uutfuszHWt9m89EoKbaTslnpAuvqq+2g29cY7w6f7QmrwCkuEMUe+CidsqxMPs/Gt
xG/oexOWPFyMsQS89uHRUBcLnHHEJhUggUclhwyAy9Jq6LG6JxOwsMcrCkUpzuc8xd0IEQAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image084.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh3AACAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAADZ
AAEAgAAAAMDAwAISDIynyesNn4x02oqvznz7Dj4FADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image085.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhvgAhAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAC8
ACAAggAAAAAAAJqamsDAwP///wECAwECAwECAwP/CLoQ/jDKSau9OOvNu7eM8hBkaZ6Eg66lyq7B
y7pym9ZmHOMkze+8XrAnCIRUQJxuuAz6lLefUBqFJmtXKFNQZLiys6kWDKuOqeYXkHzasdtD8Y/b
Fa3Rb5tcvef3UUl5ZoJ3WkxxAXR1PoQ5hmllf4COMld5lliUlXGQaomKRk+XcJuaYXqlqJGmk6Sn
qqtOTJ+gH7a3uLm6u7yKdLzAwcLDxBa+XA4DysvMzQMBztHM0NLS1NXO19jT283a3c/g3OLK3+C0
teTh6ubb7djv1fHR8/Tq6+T19MdF+uP59/z9EyewXMCD7O4945cMYMKHDiOeQyhxYkCGBfERpLgR
6qLFit0yaiSI0ePHjiDdmQzJ8STJYw1RynTJciW8ljVTuiupUx5OlTZ9BhXaUx7PmTmRAi2a7efN
oUZhZhRJ1SlRmkuVPmV3FOtWrVe9WrM6Fqq1rknFlmXalK03svYuSjXb1u1AtXXBrtV7dq7dZVXp
vv1rUPDdc2iz4s27eDBfxmkjh0z8tfFhxZLDZtaMebKvUIYBw4XcmXPlzXtf/hIRujDhkahJny5t
Gh6oBVNHO368O7bs2qkRI/PSGjbt4Md/I5/N3HYd3MUDv84dXbe359CnWxfdWjrvy+6MhGhQrLz5
8+grjFeQAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image086.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhnwAcAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACb
ABoAgAAAAGZmmQL/jAOpy4oNoYnU1ftunLp7eRxV9jXix5VnCazs+4YrCTsppt55zfe27PuNUDqP
K4hkkWTFnalzNDaTVCiGqUzRQLVo9YuLYTUhipc8Bas3SeY2cTyj13QU3Z0BwuT1vsX/45b1BlgI
Z5iXqLeRZghIqLYIgtfoWAj5xcdwQmmJ+BcJV8k4JegJ9oAZJKJqcjPaMnbKM9G6x7k5Utq4ZToL
xQG7QMiK8Eoq9Tbq+zssCbz56lIkHN1ra13mg+2q6eo86euNprgqSyRWLWqc1jk++A6vGb8uf1Ws
vfasfx5bre5vnpZ9Vfpd6mQlBzNdBpEg/NXwDrdoBScepNcsoyOMBho7PopQAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image087.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhvgAhAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAC8
ACAAggAAAAAAAJqamsDAwP///wECAwECAwECAwP/CLoa/jDKSau9OOvNu6/M4hBkaZ7EiK6kyqLB
y7pySddxXNv63vqmnu8RAjyAqSQwh7zhlEPoUypjLpG/ZkAQCOmE1ezuewWHqS/y2BZFz7Du9JbL
6JlX9nb8pF6Lz3tsgoB3MHCFM3N0DUF+f2+DaZGSk3iNgI+GlZpNWA4CoItgiI+kVKZCpqdTm5Wk
o6xXWqGgXR+3uLm6u7y9tLW9wcLDxMUVv8ADysvMzQMBztHM0NLS1NXO19jT283a3c/g3OLK3+CK
tA7k4evm2+7Y8NXy0fT16+zk9vXIXPvj+vD9AyhuYDmBCNvhe9ZPXUCFEB9KPJdwIkWBDQ3mK1iR
62PEixa7adxYMONHkB5DvjspsiPKksgcppz5siXLeC5tqnxncue8nCtv/hQ61Oe8njR1Jg1qNBtQ
nESPxtQ4surTojWZLoXaDmlWrluxfrV2lWxUa16VjjXb1Glbb2XvYZx61u1bgmvthmW7Fy3du8us
1oUL+OBgvOfSas2rlzHhvo3VShapGKxjxIsni9W8OTPlX7YOB44b2XNny5z5wgzVxYhow4VJpi6N
2vTpeOlEvJZtW/Xsx5CBX57Gus5uwbGpkhb+O1stL8eXY65923dvuV1bG08uffRr5MGnx9Nex5j5
8+jTgygCIAEAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0031_image088.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhoAAYAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACc
ABUAgAAAAGZmmQL/DI6pa+vcnjwhzlftzfpCD2UgNiJVOXUowCncuUqwJ5qxqTrz/fHJm/O5Uruf
L/hD8oqjV1IpZGlqqSMxeqW1NlRsUgrFWXveqsu57EbVzaOFWcYA4zg4iBpmjMF0ObqvwxaoYmdG
gVKTt/InNgRIISj4hRihiOc1R+P4+LR1N7UBqXcmypLmSdnIWYeqaRPKNPUmVcIoBFPYJgPXKldK
JCsmW2gbd5LrGvKJfEwINCOCC5kJJvnY2zR8mlM87bnV9Wy96n2TiEy5083a4BROTR7yvLheJs7c
fK+GHg+vNQ7IHwl9SBTFo7UM27V55uod7OcQU8RaAB9aXMXv1sWNBBwfFAAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0015.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• 並び替えの計算量
•
•
=
span>
– 演習 =
2 : それぞれのアルゴリズムは 実行にどのぐらいの時 間が掛かり ますか?
• 反復に要する回数は?
• 最悪計算量は?
• 最良計算量は?
• 平均計算量は?
–
=
span>
– 演習=
span>3 : それぞれのアルゴリズ=
ムは どのぐらいのメモリ容量 が必要 ですか?
0 1 2
3 4 5
6 7
a
69
21 96 93
12 13 52
10
例では
<=
/span>
k=3D0: i=
=3D1,2, … ,8
k=3D1: i=
=3D2,3, … ,8
k=3D2: i=
=3D3,4, … ,8
…
k=3D7:i=
=3D8 → 36 =
回 , n(n+1)/2=
=3DO(n2 ) <=
/div>
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0015_image089.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhrQAvAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALBMADACY
ACAAggAAAAAAAJqamsDAwP///wECAwECAwECAwP/CLoa/jDKSau9OOvNKVtdKI5kaUYfEBAr4b5w
7MS03Nb0euOwzuesnywofM2KroAg8GnthD5k8MlzSq1IbFELJW4FS8aNiuP+zGVjVr1ld5Nr7xkc
bvTi8qpbv0/3aztkQ39AcFB0dU+Cd4SDhnyNfYuPlICOfpU5iGEnnZ6foBqbS6Glpqclo6QDrK2u
r6wBsLOusrSztrewubq1vbu/r7zBSqMOwb7IA8O/zL3OutC30rjKrcWbx9bUwNvWy9/c3cjiu6ra
yuXX4eze7uTfy+fq6+nt9u/w+Nvz98T+//IF1MfPGL1YApsBVJgwWjxsiNARHDiRokWGFYn1azht
nuEzjw73pdsoEmPGjxw7ltRoECStg+BSvnRZLRzJkypXotQZEme0mxd7+pwps+bQl0BNKl268+i4
oM+SNmUqFGpOp8kKZoN5kCtNo1jraY3oledVq0TNgiVnTMVXYW/hFn1K9WfEBnHFhtWLdu1UlmCY
4J2bdS9CwoXrTqMjeLBauor9/p18lmVjx4bLPoZMOe3Iyw1QiR5NWkIKAAkAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0015_image090.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0015_image091.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• 数当てゲーム
プレイヤー=
span>A
プレイヤー=
span>B
手順@:
B は 1 〜 100 までの中の好きな数を一つ思い浮かべる →用紙に記入
手順A:
A はその数を当てる(数字を 1 つ言う) →用紙に記入
手順B:
B は A が言った数に=
対し「当たり」「大きい」「小さい」を言う
手順C:
Bの結果が「当たり」なら終了,そうでなければABを繰=
り返し
プレイヤー A と B の役割を交互に3回ずつ行い,3回の平均点で争おう.=
span>=
13;
もちろん,当てる回数が少ないほうが勝ちだ!
26
=
b>
63
大きい
18
小さい
32
大きい
26
当たり
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023_image092.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023_image093.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhNgB0AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAIAAgAy
AHIAgQAAAAAAAP8AAAECAwL/hI+pK+sPj2huxnunpsjir2wiSELiWKaStnqJq1assb1zLHNAjff0
7YvxgkLgD0YMGY+6pA3p/CyjmSnVZL3mmlostLsFS79iJbeMToNRavO5PWx3svK6/Y7PiwMBPf/P
hxBYBljYBzAIZmiItrhI6HgIuBdp8BiUiBhZ6VNouenY6akJOok5Wjoqapp6mMRIypmJA/sZSnrq
mrBpK/gH8vuQ6mt6ESzMe3AZcQzBqbyMTHXr0EyUrDBLolpt/ZmC3T2rzVzqPK5r3HqeTr7Q6g69
m44MXz8fDw1P35vtbbuPn6Z6AUH5ywewoD1aCmsxDNhFoRaJVyhOKzgRY0WNfRchbvTYcV9Gjk4a
fgRZ0mJKkq9UtmR5zWVMkysbCtxmkxu4nJIQ3oslEmCJYzT14SSGsp86XeGW3jQaEeG/lecgPfV5
qiokrZTYbeUatdxXsBsxYFVx9uxOs1N7+NTZkp3aoTcdRmlb7CPZsnnatsl7B7AdwXUIyzH8l08B
ADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023_image094.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023_image095.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQgBNAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAgBC
AEsAhgAAAAAAAAMLDAMKCwUTFgIJCwUTFQIKCxE+RxVMVxVMVRhXYxhVYhhVYSFcaSBbZyeLnyqZ
syqZqiyZsDORsyuZrzWftSqZrjSftTOetDKetDGdsyybsTWgtjmjuUCpv2XA12/H3W7G3W3G3G3F
3GzF3GzF22jC2Xf/AJnd/4j/AIP/AIL/AID/AIH/AJnu/5/m/5nm/5/o/7vu/6Dq/6ru/6Hp/6Do
/6Dn/6Dp/6Hn/6Dm/6Lo/6Ho/6Lm/6r3/6Lu/wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhoeI
iYqGNIuOj5CQNjeRlZaRODeUl5ydhJqanqKVNgCgNzujqos8pzc9q7GHrpqwsremtK+4q6W6obyj
Pb+gwaLEp8acOcjJypG+zcXPj5PS09SLzNfY2YgdICAh3JvehxXoFRYgItLmiBfp6RjsyO+IFRAJ
+/wOICO/7h1KgCCAwYMCFmQgoUugoYMQDQpI8ABEiVOpHA6KyDHAAAYenN0LsLEjRwIaTHR7RxKA
SY4FGmxQWU7QCgA3vR10+TKAgQobThxqAYBFNoiCev5EpzEp0p4+0zWF2vEAgAtXHVI1iehmzmdb
OSZiQdZYy40uefZUZJQX0odp/18W+qosYqGdcguVrWu35NpDLva6FUuIZMe0iIji+gvXsNanBhGj
PatxZ+G7aiNX1pxILmWdn+9uHbkobGiznB+aZtnZ9GnUiFxHdvxalWXRsgkPpp1Zdm/UuQ8njZs6
Fu/gr2/z9R27+OLcpZ0bD+5I+nTmiqzbph69dudH3LNrb34cN/bW3s1zPRu+NaTydvG2b/4+dV+1
vcOKH1+Ys/D8ru0XSXGa3YYce7i9J5lT7PkHHYPEpZcghP21xB1XlSi3oF8AUsXgfQNOqB5z/w3o
YG0H+sWfe2jth91b2cUVIYcurnZZdYxtqNqDlsAnWXopwlajjcEAiZxb+MUIXxReqxgGYyc+juIk
Xjo2VeFsViYSCAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023_image096.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhRQA7AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABD
ADoAhgAAABr//xn//zNm/zr//zX//zP//zT//zn//y///yj//yP//yf//y3//zf//yH//yz//1j/
/1P//1H//1L//1b//1///1f//07//0f//0L//0X//03//1T//0T//0H//0z//0P//3///3j//3L/
/3H//3b//37//3f//2z//2X//2H//2D//2T//2r//3T//2L//2n//53//5///57//5X//5D//47/
/5P//5v//5T//4v//4T//4D//4L//4r//5H//4H//4n//73//7r//7n//7z//7L//67//6z//6v/
/63//7D//7j//7H//6j//6H//6b//7f//6X//93//9r//9n//9z//9f//9P//9D//9L//9b//8r/
/8f//8X//8b//8j//8///8n//8L//8H//8D//9T///7///v///j///T///D//+v//+r//+z///P/
/+j//+T//+L//+f//+////X//+P///r///b///3///z///L//+3//+b//////wf/gACCg4SFhoeI
hAMDiYuJj5CRjYt/f4uMgpeVl5Kdk5ecmWijpKOMA6WlmJ6sAANpsLGwp7K1aa+2sautio6KasDB
wgPCxWrExsW7rJdrzpwDztLTz9TW19bLkYts3d7e3N/i4+Tl4r6SA21u7O3u7APv8vP09G8DcOiN
b3Fyc/8AAwocSLBgQTl02tSBY+fYowFs+N2hUsWKxYsYM2rcyBFjlStzEi5siEfbIIgSqWDJoqWl
y5cwY8qc2XILF5AiGaopiQhfxDgTsWjp4uWL0aNIkypdqhRMGDE3QyrUiefWIZ8phY4hM4RIka9g
w4odSxaskTJeoOKcStKqIaxA/1Vq2UrkCJIkSvLq3cu3b98lTJqYSRs1Z1uTcIPOJUPEyRMoMiJL
nky5MuUZUZBIGaxW6sidbnvB+amYrmMaNWzcWM26tevXN2zgyDFFM+fCbEHvWnRsdNbFjZ/Q0LGD
Rw8RyJMrX67cxw8gtG0TXvuZ58k0eNTk8R1XK+PTxIOMIFGivPnz6MubOCEEeu3N0z1T9TVAD3bt
3Et/Fx4eRQoVK7Ag4IAEDtiCCy+w5550nRl2jFWo2JfddqTJZRp/OwThHwwRSDDBhyCGSEEFFsSQ
YHvRwdcgWwNUpcciaEiIX4XeBTdchhtegEEGGvToY48bcNBBiScuqCJu1aXxYv+E91H424U3apgC
DDp6QEABBmRpwAEIfADCkCYqmOJt1FGlJIwyOtkdcODhOGWVCCSgwAILMNCAA16CWeSY8TnoIppN
5mfhflHmiIEHcS4QgAAPQIDnl0SK+R6Z8rX1oitpClpjm1JSeWicc9Z5Z56RojipFwMgaeal9QVK
I5sYdlrllVpu2SWkYZrK4ABlWorJIhNqCmuhb+4Ywo8+BqmnpAxyMUCluvVyyatQ9jdlhyFmO4EE
JOZqJJkD+BnaK8FSS6i1AK6g7rrsrnvgnqd2pk51u7n65LkZjpfevuaRsJ6uR4I0L0P6tFruvTYS
ZxxzDDPn3LfxzatPJpmaa2P/arBlDJtsfDY4sSL2rnkhZJaVbLIMmDUrMCTkzoiwXXj5JfPMeQEm
WMTbHCwyV16V5fPPZqEl7zbEqKkYUWAwpfTSTT11k0k9cXNPUCzRZDVNA8xk0xVQPzRAXBV1JLbY
A3T0sScDyHGHQWy3PcezBHWNdj3txEP3PKeAEgovb5kDjt/kyM33VYtcAwo2hg8+uN4FJ2OM4Ior
jksut0AeOdF6ZwIjKXtfLnkqpqwCiuekD7DH6ainbjnprbSIx+uww74662jnYfvtuM9OeycD8OH7
777rvjvvA/RhvPHCD0+0H5krT/sAVEQvffLOP3TG9dhTX31PXXTfvfbbR915DviXD3DE+eCTT3j6
lwcCADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0023_image097.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsQCeAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAACt
AJwAhgAAAAAAAACAAG3/bXT/dJaWloD/gIz/jJv/m43/jar/qrr/uqv/q8n/ydb/1v/MAP/OLP/P
Of/RTP/SVP/TZf/Zfv/Vbf/el//ahv//aP//a///cP//df//e///ev//dP//b///af//bf//cv//
eP//fv//g///iv//k///m///mv//kf//if//gf//hv//jv//l//gn///pP//rf//tv//v///vv//
tf//rP//o///oP//qP//sf//uv/krv/mtv//yP//0f//2P//3///3v//1///z///xv//w///zP//
1P//2//qw//w1v/y2//syuL/4uv/6/L/8vf/9/v/+/7//v//5f//6v//7///8///9v//+f//+///
/P///v//+v//+P//9f//8v//7v//6f//5P//4v//5///7P//8f//9P//9////f/15P/47//79v/+
/P/+/f/9+f/68v/26AECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFgwKI
iYqLjI2OjYaRkpOUlZaXmJmahokDnp+goaKjpKOIm6ipqquskQIEsLGys7S1trexAq27vL27AgbB
wsPExcbHyMS6vszNzoUCB9LT1NXW19jZ18vP3d6rAgji4+Tl5ufo6efc3+3ulQIK8vP09fb3+Pn3
7O/9/gACFggcSLCgwYMIEx7k96+hNwENIkqcSLGixYsYLTJ0yJGZAAcgQ4ocSbKkyZMlN3Zc2UoA
lJcwY8qcSbOmTZoqWepEJSCKz59AgwodSrTo0Jw7k14SIKWp06dQo0qdSlUqUqVYJQmYwrWr169g
w4odG5ZdAH8P0qpdy7at27dw/+GCo0K3rt27ePPq3ZuXX4C/Z789yEC4sOHDiBMrXpz4AbgqkCNL
nky5suXLlVUCDnyJ86UHGkKLHk26tOnTqE07ViUAs+vXsClfBbDZkudKDzbo3s27t+/fwIP/Xp1K
AN/jyJPjnT2otqS/mB5wmE69uvXr2LNrx06cJ9nv4MODZW7IOSHolh50WM++vfv38OPLh99dE9Oq
+PPrj0r+OeDm6FHygAkEFmjggQgmqOCCCdaHSU9GRSjhhEf1stl/Ap6g4YYcdujhhyCG+KGD8Lh0
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
m7KpeyoYnGoxCYEAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0021.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• 数当てゲーム
プレイヤー A
プレイヤー B
26
=
b>
63
大きい
18
小さい
32
大きい
26
当たり
<=
span
style=3D'font-size:111%;mso-fareast-hint:yes'>=
Ø プレイヤーAの役割の人は,何回言えば当たる?
<=
span
style=3D'font-size:111%;mso-fareast-hint:yes'>=
Ø プレイヤーAの アルゴリズム を考えよう.
<=
span
style=3D'font-size:111%;visibility:hidden'>Ø=
;
<=
span
style=3D'font-size:111%;mso-fareast-hint:yes'>&=
Oslash; プレイヤーBの役割の人は,どんな数字が当てられ=
ノくい?
<=
span
style=3D'font-size:111%;mso-fareast-hint:yes'>=
Ø プレイヤーBの 戦略 を考えよう. =
コンピュータで対戦!誰のアルゴリズムが勝つかな?
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0021_image098.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhNgB0AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAIAAgAy
AHIAgQAAAAAAAP8AAAECAwL/hI+pK+sPj2huxnunpsjir2wiSELiWKaStnqJq1assb1zLHNAjff0
7YvxgkLgD0YMGY+6pA3p/CyjmSnVZL3mmlostLsFS79iJbeMToNRavO5PWx3svK6/Y7PiwMBPf/P
hxBYBljYBzAIZmiItrhI6HgIuBdp8BiUiBhZ6VNouenY6akJOok5Wjoqapp6mMRIypmJA/sZSnrq
mrBpK/gH8vuQ6mt6ESzMe3AZcQzBqbyMTHXr0EyUrDBLolpt/ZmC3T2rzVzqPK5r3HqeTr7Q6g69
m44MXz8fDw1P35vtbbuPn6Z6AUH5ywewoD1aCmsxDNhFoRaJVyhOKzgRY0WNfRchbvTYcV9Gjk4a
fgRZ0mJKkq9UtmR5zWVMkysbCtxmkxu4nJIQ3oslEmCJYzT14SSGsp86XeGW3jQaEeG/lecgPfV5
qiokrZTYbeUatdxXsBsxYFVx9uxOs1N7+NTZkp3aoTcdRmlb7CPZsnnatsl7B7AdwXUIyzH8l08B
ADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0021_image099.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQgBNAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAgBC
AEsAhgAAAAAAAAMLDAMKCwUTFgIJCwUTFQIKCxE+RxVMVxVMVRhXYxhVYhhVYSFcaSBbZyeLnyqZ
syqZqiyZsDORsyuZrzWftSqZrjSftTOetDKetDGdsyybsTWgtjmjuUCpv2XA12/H3W7G3W3G3G3F
3GzF3GzF22jC2Xf/AJnd/4j/AIP/AIL/AID/AIH/AJnu/5/m/5nm/5/o/7vu/6Dq/6ru/6Hp/6Do
/6Dn/6Dp/6Hn/6Dm/6Lo/6Ho/6Lm/6r3/6Lu/wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhoeI
iYqGNIuOj5CQNjeRlZaRODeUl5ydhJqanqKVNgCgNzujqos8pzc9q7GHrpqwsremtK+4q6W6obyj
Pb+gwaLEp8acOcjJypG+zcXPj5PS09SLzNfY2YgdICAh3JvehxXoFRYgItLmiBfp6RjsyO+IFRAJ
+/wOICO/7h1KgCCAwYMCFmQgoUugoYMQDQpI8ABEiVOpHA6KyDHAAAYenN0LsLEjRwIaTHR7RxKA
SY4FGmxQWU7QCgA3vR10+TKAgQobThxqAYBFNoiCev5EpzEp0p4+0zWF2vEAgAtXHVI1iehmzmdb
OSZiQdZYy40uefZUZJQX0odp/18W+qosYqGdcguVrWu35NpDLva6FUuIZMe0iIji+gvXsNanBhGj
PatxZ+G7aiNX1pxILmWdn+9uHbkobGiznB+aZtnZ9GnUiFxHdvxalWXRsgkPpp1Zdm/UuQ8njZs6
Fu/gr2/z9R27+OLcpZ0bD+5I+nTmiqzbph69dudH3LNrb34cN/bW3s1zPRu+NaTydvG2b/4+dV+1
vcOKH1+Ys/D8ru0XSXGa3YYce7i9J5lT7PkHHYPEpZcghP21xB1XlSi3oF8AUsXgfQNOqB5z/w3o
YG0H+sWfe2jth91b2cUVIYcurnZZdYxtqNqDlsAnWXopwlajjcEAiZxb+MUIXxReqxgGYyc+juIk
Xjo2VeFsViYSCAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0021_image100.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhRQA7AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABD
ADoAhgAAABr//xn//zNm/zr//zX//zP//zT//zn//y///yj//yP//yf//y3//zf//yH//yz//1j/
/1P//1H//1L//1b//1///1f//07//0f//0L//0X//03//1T//0T//0H//0z//0P//3///3j//3L/
/3H//3b//37//3f//2z//2X//2H//2D//2T//2r//3T//2L//2n//53//5///57//5X//5D//47/
/5P//5v//5T//4v//4T//4D//4L//4r//5H//4H//4n//73//7r//7n//7z//7L//67//6z//6v/
/63//7D//7j//7H//6j//6H//6b//7f//6X//93//9r//9n//9z//9f//9P//9D//9L//9b//8r/
/8f//8X//8b//8j//8///8n//8L//8H//8D//9T///7///v///j///T///D//+v//+r//+z///P/
/+j//+T//+L//+f//+////X//+P///r///b///3///z///L//+3//+b//////wf/gACCg4SFhoeI
hAMDiYuJj5CRjYt/f4uMgpeVl5Kdk5ecmWijpKOMA6WlmJ6sAANpsLGwp7K1aa+2sautio6KasDB
wgPCxWrExsW7rJdrzpwDztLTz9TW19bLkYts3d7e3N/i4+Tl4r6SA21u7O3u7APv8vP09G8DcOiN
b3Fyc/8AAwocSLBgQTl02tSBY+fYowFs+N2hUsWKxYsYM2rcyBFjlStzEi5siEfbIIgSqWDJoqWl
y5cwY8qc2XILF5AiGaopiQhfxDgTsWjp4uWL0aNIkypdqhRMGDE3QyrUiefWIZ8phY4hM4RIka9g
w4odSxaskTJeoOKcStKqIaxA/1Vq2UrkCJIkSvLq3cu3b98lTJqYSRs1Z1uTcIPOJUPEyRMoMiJL
nky5MuUZUZBIGaxW6sidbnvB+amYrmMaNWzcWM26tevXN2zgyDFFM+fCbEHvWnRsdNbFjZ/Q0LGD
Rw8RyJMrX67cxw8gtG0TXvuZ58k0eNTk8R1XK+PTxIOMIFGivPnz6MubOCEEeu3N0z1T9TVAD3bt
3Et/Fx4eRQoVK7Ag4IAEDtiCCy+w5550nRl2jFWo2JfddqTJZRp/OwThHwwRSDDBhyCGSEEFFsSQ
YHvRwdcgWwNUpcciaEiIX4XeBTdchhtegEEGGvToY48bcNBBiScuqCJu1aXxYv+E91H424U3apgC
DDp6QEABBmRpwAEIfADCkCYqmOJt1FGlJIwyOtkdcODhOGWVCCSgwAILMNCAA16CWeSY8TnoIppN
5mfhflHmiIEHcS4QgAAPQIDnl0SK+R6Z8rX1oitpClpjm1JSeWicc9Z5Z56RojipFwMgaeal9QVK
I5sYdlrllVpu2SWkYZrK4ABlWorJIhNqCmuhb+4Ywo8+BqmnpAxyMUCluvVyyatQ9jdlhyFmO4EE
JOZqJJkD+BnaK8FSS6i1AK6g7rrsrnvgnqd2pk51u7n65LkZjpfevuaRsJ6uR4I0L0P6tFruvTYS
ZxxzDDPn3LfxzatPJpmaa2P/arBlDJtsfDY4sSL2rnkhZJaVbLIMmDUrMCTkzoiwXXj5JfPMeQEm
WMTbHCwyV16V5fPPZqEl7zbEqKkYUWAwpfTSTT11k0k9cXNPUCzRZDVNA8xk0xVQPzRAXBV1JLbY
A3T0sScDyHGHQWy3PcezBHWNdj3txEP3PKeAEgovb5kDjt/kyM33VYtcAwo2hg8+uN4FJ2OM4Ior
jksut0AeOdF6ZwIjKXtfLnkqpqwCiuekD7DH6ainbjnprbSIx+uww74662jnYfvtuM9OeycD8OH7
777rvjvvA/RhvPHCD0+0H5krT/sAVEQvffLOP3TG9dhTX31PXXTfvfbbR915DviXD3DE+eCTT3j6
lwcCADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0021_image101.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhsgEvAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAACx
ASwBhwAAAAAAAAAA/wCAAG3/bXT/dJaWloCAgID/gIz/jJv/m43/jafS/7TY/7zc/63U/6LQ/6r/
qrr/uqv/q8n/ydb/1sTg/9Xo/93s/83k///MAP/OLP/POf/RTP/SVP/TZf/Zfv/Vbf/el//ahv//
aP//a///cP//df//e///ev//dP//b///af//bf//cv//eP//fv//g///iv//k///m///mv//kf//
if//gf//hv//jv//l//gn///pP//rf//tv//v///vv//tf//rP//o///oP//qP//sf//uv/krv/m
tv//yP//0f//2P//3///3v//1///z///xv//w///zP//1P//2//qw//w1v/y2//syuL/4uv/6/L/
8vf/9/v/+/7//v//5f//6v//7///8///9v//+f//+////P///v//+v//+P//9f//8v//7v//6f//
5P//4v//5///7P//8f//9P//9////f/15P/47//79v/+/P/+/f/9+f/68v/26OTw//D2//j7//3+
//7///v9//X5/+vz/wECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDCBMqXMiwocOHDwdInEix
osWLGC9C3Mixo8ePIEOKHEmypMmTKFMunEigpcuXMGPKnClTosqbOHPq3Mmzp8+fHQcUGEq0qNGj
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
DZ3MD/AAEj3RDiEAEHDRGN0QjdzRChEQADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• 数当てゲーム
<=
/div>
– 2 分探索
• 探索範囲を半分( 2 分割)に減らすことを繰り返し
– a[0], … , a[n-1]
– <=
span
lang=3DEN-US style=3D'font-family:"MS Pゴシック";mso-ascii-font-family:=
"Times New Roman";
mso-fareast-font-family:"MS Pゴシック";mso-hansi-font-family:"Times New=
Roman";
mso-fareast-language:JA;display:none'>
– <=
span
lang=3DEN-US style=3D'font-family:"MS Pゴシック";mso-ascii-font-family:=
"Times New Roman";
mso-fareast-font-family:"MS Pゴシック";mso-hansi-font-family:"Times New=
Roman";
mso-fareast-language:JA;display:none'>
– <=
span
lang=3DEN-US style=3D'font-family:"MS Pゴシック";mso-ascii-font-family:=
"Times New Roman";
mso-fareast-font-family:"MS Pゴシック";mso-hansi-font-family:"Times New=
Roman";
mso-fareast-language:JA;display:none'>
– ク=
イック(?)探索
• 探索範囲を 2 分割するが,
=
226; 分割基準はランダムに選ぶ
1, 2, 3, 4, 5, 6, … , 97, 98, 99, 100
1, 2, … , =
48,
49
51,52 … ,9=
9,100
50
25
75
1, … ,24
26, … ,4=
9
51,..,74
76,..,100
…
log 2 n 回の分割
1, 2, 3, 4, 5, 6, … , 97, 98, 99, 100
1,.., 26, 27
29, 30, 31, … , =
99,
100
28
25
59
1,..,24
26,27
29,..,58
60 , … ,100
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image102.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
H4sIAAAAAAACC5WTPSxDURTHzz3vKX0t6hGRxlADaXw0dDBISEcLg9owVFJBFAlJU9MbpREhMRm7
ETGLySQWgxg0YjCUAfGxCaLuue86aYXBS+7L//fOxzv/d++7OD3eBnU5dswEL6mzQUHCOBfyBs0q
WiGXF78VCqGVwGKxqFRENOlnPs7zY8x0bFuqNk8tBKFIyRCQfCTVgVwxGXw1ZI3O8cNQYnl6NLOY
BLiGKvn0Dd0Kuky5uoTbuwFDuOIjVS9Vto7mfEfn083coAHRRAjEM6nJhTmAybB1c1KwYXXnKb0p
V6j7JS1ap/JuT6HeFbWCRq6OSt80X2p+17wryuNBI28R33G+y/ecXx5fFw/VxB2aHTS9xPvM7ZXE
XcwfJnE/c69w+Re/QH5HZ1LJpdBwMh0aWUgl5v/wi+pbPrPvPSNcQy2iPKelfE4wH9YSjzEPVJfH
B/2lcQcbqoh7mHPKRx9zo0HcyTyOxN3MV+Dm//Qp/uVTaJ/Ic64FqMMss0f5SjAfKx8zzFu+0riD
YQ/xPPOjUdrPwQi49ZY+0ZY69Wp7tBdb5eo9cwQixjNLy8kU5GlukBUtkFUF9CMVbm34uWeGqv8C
Ds5c6LwDAAA=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image103.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhswAqAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAMABACt
ACMAgAAAAAAAAAL/hI+py+0P4wuy2rso3rx7oH0iF47m2ZVOwCaser2NrMDojc+SGtqVX7L5csTc
0KVLRYTFpnPYogR7mZVUGKw6tzigIYr8arW0GoLJTZvQIPEhax5LGfCw+q60t/fuPuhVxtfG5veG
d7gB06NRJ2gY9+dYSIhYORHX0sczdvbFyCkZahFo2Zl3FvXpaar3lhq6iZn4mMSVSbJTO9sK60FV
yjuaS+fbqVh1Kwp5lKzsuvqzRLzUTBqTWd3sdlTLzU08F00NCTwLBFhNO+2CzqM6DF9YLvy9zozr
1x7rqg/I6tkvoMCBBPUhOYfOzr0M7RQKE6du3qh69lbscgZqxjGJYxhIUfyziJy8ZR+tiYzIUdqN
fSkttoS4xtjLS0RMxiyibWawEb+66Cz18dTKn5aC4vNJFJHRi0OTHloaA6fTp0+kTr0DFSbSq2my
qvRKk6utmv6MiO169l/ammtHtj1R1im6AgA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image104.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh1wAPAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQDX
AA4AgAAAAICAgAJdjI+py+0Po5y02osV2Lz7D4biSJbmiabqyrac4cbyTNf2rcL4zvf+L9MBh8Si
sSY8KpfMZrIJjUptz6n1ih1Vs9zudOsNi4vgsfl8K6PX7JW6DY+HMvS6/Y7P6zEFADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image105.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh2AAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAADX
AA4AgAAAAICAgAJ/jI+py+0P4wG02ouv3Lx7noXiSJbmGQYoqa7uC8eUIdf2PeNAq/f+SPsJhzsd
j4jEBZNM2bH2bEpRy6m1FI1lr1zNttv9usTga7VcJlPR7Jm6jXyb5PDhuT6ls/DgO5+pB/TH5TdI
FCiCaOikuPjSiAHpuPJRaXkZYYS5yXlZAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image106.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhMgAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQAy
AA4AgAAAAICAgAIvjI+py60Ao5y02hsN3rxD7YXiF4xmB55qla4u+cZAK590Pd54qO9o6TM5hsRi
ogAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image107.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhNwAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQA3
AA4AgAAAAICAgAIwjI+py+0Bopy02ouvybx7u33iCELkSYbo2qnsW8Jy5c5ybb94vu786fuNHsSi
UVEAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image108.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhMwAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAQAy
AA4AgAAAAICAgAIvjI+py60Ao5y02hsN3rxD7YXiF4xmB55qla4u+cZAK590Pd54qO9o6TM5hsRi
ogAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image109.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhNwAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQA3
AA4AgAAAAICAgAIwjI+py+0Bopy02ouvybx7u33iCELkSYbo2qnsW8Jy5c5ybb94vu786fuNHsSi
UVEAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image110.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhJwAnAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAkABwAF
ABcAgQAAAAAAAMDAwAECAwIYjAMXonwChISg2ouvSq+1OGWiuHndA0oFADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image111.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhCgCHAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAAAJ
AIYAgAAAAP8AAAJlhG+BqQu9YHSPVipRPjvZfjng+JWYKaLTyabt6sbwrKn1e8s5zdk9/tMFeR5g
UXgkhpQk43IHHUaT06f0SsVas9ytt4kEM31cMdZc/VrUTnSXjYSP22R51W3X4vd1Pt2Z9wZSUQAA
Ow==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image112.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh1wAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQDX
AA4AgAAAAICAgAJdjI+py+0Po5y02osV2Lz7D4biSJbmiabqyrac4cbyTNf2rcL4zvf+L9MBh8Si
sSY8KpfMZrIJjUptz6n1ih1Vs9zudOsNi4vgsfl8K6PX7JW6DY+HMvS6/Y7P6zEFADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image113.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlh2AAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAADX
AA4AgAAAAICAgAJ9jI+py+1vgJxUwouz3rzDCobiSJZkYKLmyrbuC8diJNe2ld76zvez6guGgCOi
8IhMTmhKoXHYjEp3zCk1Z81qU88trFsBe8fTKvklXp7XWTN7lca950k3vYi963n2fTjvFxjTJwgQ
Z1iY6EIoeHioCOkhOanARXmJmanJUAAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image114.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhKgAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQAp
AA4AgAAAAICAgAIrjI+pywoPo5y0QmOztnh7331iFY7mFZzqU65i64JpPMJ0Zt/krG/NDwwWAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image115.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhJgAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQAl
AA4AgAAAAICAgAIojI+pywYPo5yUuoqzDbr364UTKJYAaYZo+nGsuL5YLG+1R99Rw/dMAQA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image116.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhMwAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQAy
AA4AgAAAAICAgAIvjI+py60Ao5y02hsN3rxD7YXiF4xmB55qla4u+cZAK590Pd54qO9o6TM5hsRi
ogAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0030_image117.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhQAAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAQBA
AA4AgAAAAICAgAIzjI+py+0Oopy02ouzNbr733HgSHpiiabSqbYj68YaLNcVbecArtd8H/sBW8Jh
6oFMKpcFADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• ハノイの塔
<=
/span>
– <=
span
lang=3DEN-US style=3D'font-family:"Times New Roman";mso-ascii-font-family:=
"Times New Roman";
mso-hansi-font-family:"Times New Roman";font-size:86%;mso-fareast-language:
JA'>Aにある 3 つの円盤を,全て C に移したい
<=
/span>
– ただし,以下のルールを守らねばならない=
• 円盤は,一度に 1 枚のみ移動できる
• 小さな円盤の上に,大きな円盤を置くこと=
はできない
– =
最小回数 で円盤を移動させるアルゴリズムを書け=
span>
<=
/div>
A <=
/div>
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image118.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
/9j/4AAQSkZJRgABAQEASwBLAAD/4wMOTVNPIFBhbGV0dGUgjVQwnWI6pGxBrm9Dr3VIsntNuXlK
uYJTu35Pv4NTv4dXwItbxYhVxoxaxo9eyZJgyo9cypVjzZRgzpdjzplmz5to0ppm051p059r1KFu
16Ft2KRw2adz3Kh03qx35LR+ekUlhk4siVMvjlcykVQvkVs1lVo0lV84mmQ8ml83mmI6m1s0nmU8
nmE5n2g+oGpBo2xCpGI5pWY7pWg+pXBFpmpAp21Cp3FFqnFFqnRIq29Dq3ZJrHFFrWo+rW1BrnRI
rndKrnlMsHFEsHRHsHlLsW5BsXtOsndJsn1Qs3RGs3hLs3pMtH1OtXJDtYFTt3VGt3lLt3tMt3xO
t35RuHdIuH5NuH9QuIJTuIRWuYFRunlJuntMu4FRu4NUu4VVu4dYvH1OvH9PvIJTvXtKvYRVvYdX
vYlavoNTv39Nv4FPv4JRv4VVv4ZWv4dYv4tcwINSwIlawYRRwYVVwYZUwYZYwYhXwY9fwolXwopb
woxbwo1dxIhWxIlWxIlaxItZxIxdxI5cxI5fxYNQxYZTxYxaxY9dxZBgxZJhxohUx4pXx45bx45e
x5Bdx5Bgx5JiyIxZyI9eyJBfyJFgyJNiyJRjyJVkyY5ayZBcyoxYyo5bypBdypJdypJfypJhypRh
ypVky5Rgy5Rjy5Zky5hnzJBczJJezJVkzJVgzJlmzZZlzZZhzZdmzZdjzZpnzpJezphkzphozpxp
z5Rfz5Vhz5djz5hjz5po0Jlk0Jln0Jpl0Jpp0J1p0J5s0Zdj0Zlj0Zpn0Ztl0Zxq0ptp0p1m0p1p
0p1r0p9s05li05po05tm055p059t06Bt06Jv1Jxm1J1q1KBs1Z1o1Z5p1Z9t1aBq1aBr1aFw1aJv
1aNu1p9r1qJs159r16Jv16Nu16Ny16Rw16Zx2KJu2Kh02aFt2aNu2aRy2aZy2qVw2qZw2qZ02qh0
26Zz26t13Kdy3Khz3Kpy3Kp33ah03ax23a143qp13qt236x437B74K544LF84rF847R+5LJ85rV/
5riC6ryH/9sAQwALCAgKCAcLCgkKDQwLDREcEhEPDxEiGRoUHCkkKyooJCcnLTJANy0wPTAnJzhM
OT1DRUhJSCs2T1VORlRAR0hF/9sAQwEMDQ0RDxEhEhIhRS4nLkVFRUVFRUVFRUVFRUVFRUVFRUVF
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image119.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhcwE7AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABy
ATsAhwAAAAAAAJpiMZxkM55mNahwP6NrOqZuPaVtPKJqOadvPrd/Tq52RatzQqpyQax0Q7V9TLF9
Ta97S615Sax4SLF9TLZ+Ta93RrF5SLR8S7J6SalxQK11RLJ+Tq56SrN7Sr6KWr+HVr2FVLuDUr6I
VraCUriEVLqGVrSAULmFVbuHV7+LW7WBUbuGVL6KWL+LWb2JV7eDUbqCUbmBULeDU72JWbyEU76K
Wb6GVbyIVsiQX8OLWsKKWcWNXMaOXcSQXsCMXMGNXcKOXsGNW8KOXMOPXcWRX8ePXsSMW8CIV8OP
X8GJWMSOXcGNXMmVZcSQYMiUZM6aas2ZadKebtCcbMyYaM+ba9Ofb9GdbceTY8aSYtaebdWdbNOb
atefbs2VZNCYZ8+XZsyUY8mVY9Gda9KebM6aaMyYZs2ZZ8qWZMuXZcqWZcWRYdSca9GZaM2XZcqW
ZtKaacmRYMuXZ9KcatOebM+baceTYc6WZcuTYsmUYtKebdKdbtKcbdefb9SfbdOfbc2ke9ejc9ai
ctSgcNqmdt6mdd2ldNykc9qicdujctSgbtikdNmldd+re9+ndtmhcNyoeNund96qet2pedymdN2p
d9+redyodtikctaicNWhb9mldNWhcdigb96qeNaicdikc9undt6qedahcteic9WgcdWgbtWhcOGt
feCod+GpeOKqeeevfuWtfOSse+KufuCsfOCseuOvfeOvf+OreuKse+Wxf+KufOGte+Swf+aufeex
f+CreeqygemxgOaygui0hOSwgOm1he25iey4iOm0guezgf/WrQECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDCBMSDMCwocOHECNKnEix
osWLGDNq3Mixo8ePIEOK/KiwpMmTAgMgW8mypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIP2DICyqNGU
QpMqXcq0qdOnUKMKZXi0akmVUrNq3cq1q9evNAMEImq1bEGsYNOqXcu2rVqxY83KBYDWrd27ePPq
jQk37lyrdfcKHky4sNO+fv8aDWy4sePHkF0iTqz4JOPImDNrbjuZcmWFlzeLHk36cKDTqD1/Phi6
tOvXsG92Pk12NcLWsXPrjj1bte2BuHcLH565d+3fZ4krX67ZOHLWzKNLL+z8efLp2LO7rW4duPbv
4L1y/+9ON7z580/Hdw+Ovr37muqts39Pv/7K+M/n29+PHj9y/fwF+J1/vwEo4IHSEWibgQg2SJyC
qzHo4IS5QfiZhBRmWJqFlWGo4YfNpZbaceuBaOKDIqJGonwntqgbh4p56OKMe8H4l4w05miXjXPh
qOOPb6VIG3neAWmkYzzK5eORTGaVpFlLNimlaUKumN+UWN71ZFlRZunlT1sC9uWYYIVZVZdkpmmT
mUehqeabfAnp239w1kllilbSaeeeSbG5GJ+AAuVnUW4GquagKBVqKJmIWrboozg1apKikGYp6VWV
ZirTpaBp6qlkcuZZ4EiklmrqqaimquqqrJIaKpHAOf/xxBNQRCHFFIJQAcUgUVRhhRVSUHEFIVj8
OqwUWWiRBQhPREFIIalsIS0XXXShyiqrqGLIKocgwooXiSjSxRdf6BDCDjzssIMIC4zQAxjgetFF
GGL4EAIDDTjwAAQk/DAGGWWYccYiaKShRhpryEqrrbjqyquvwApLrLGEIKsss85CK+0W1FqLrbbc
eguuuOSai6667LoLbyLy0msvvvry6y/AAhNsMMIK13prrrv2+muwwxZrxbHJLtvss9FOW+212W7b
7bfhjlvuuemu2+678c5b77357tvvvwEPXPDBCc+qc8M9Qwz0xENXXDSzViC9ccdMqzKbqP+VAIQW
QZj/EMEJJ6CQggoqnDDrCkKswAYbQQCxggkoSDABBSywcQUjjTjSCiuGIPLII5AocsghiiQCCSRe
bNFGIogk4noirbjSii+/vOIKt1604YUikBjyyu+GbNGFG2+04MIQRLwAAxFFGDFEDBXozbffgAtO
uOFPIK44445DLjnllmOuOeeegy466aajrjrrr8MuO+224647774DLzzxxiOvPPPOQy99338L3OAK
d7jELa5xj4vc5Cp3ucxtrnOfC93oSne61K2uda+L3exqd7tD5G53vfvdK4I3vOIdL3nLa97zorc3
AFZvgNjT3gG7p0DwNXB8EDTf6DqDt/9EQhKTSEUq/yYRiULAAhiRiAUlIjGIKwxiEsFIBSEI0QjM
NeIKcFgBCIQABSc44Qg+8IEMZnAEJIhABknQgRjC0AY3xMELh9iCG74ghy3ICwxvLB0XuACJCUIC
EYdIXx8NUQlLyGIWs7gEJjKhiUVsQhOc+GEQh1jEIyZxiU18YhSnWMVGXDGLW+ziF8M4xjKeMY1r
bOMb4zjHOt4xj4nYYx9J98dAnm6QhTxkIhfZyEdGEohCJKIRkahEJjoRilKkohWxqEUuehGMYiSj
GdGoRja6EY5ypKMdu4DH3cWSj34EpCAPQUhDIlKRjHQkJCUZzEoSE5PH3KQyPcnMUD6TlNI85WR6
+P8fEwBhDlPsBCEGQQlHRIISg3DCCoLgBCwMYgpzmAMctMAGJayABjVIQQlqIAQg9CAENrAABETA
gAIY4AAPuAAGMnCBB2gAAQnIwAw20AABDGAABEAAB8bIUg1c4AAFaMAGEGCDI7CRC3SoQxmWSgYy
2KEMZEDDHW7gT4ASQqAENShCFcpQh0JUohS1KEY1ylGPghQCIy3pSVO60pa+NKYzrelNc7rTGfT0
p0EdalGPmtSlQtWpUJUqVf8Z0IEW9KAJXWhDHxrRiVb0ohndaEc/agO0ktSkKFUpS10KU5nS1KY4
1SlPL+BToAqVqEZtA1KVylTARnWqVS1sVhHL1cX/ftWxYo1sWSlrWbUeADH8/M8TtDAHKThBC0oQ
AhuyAIVldWACHTCBByRQg1sRghFXcKJAowCHKkhhDkfowRLCgAgvgKt1XuCCFzzRRi/UCw9ywIAD
FPAABjAAAxYIQQ9w8IEPyCAES+DBEkAagiPkQQ5M0AMRYJCDFyTPX3cgQhOGW9zjJne5zQXBc6M7
3epO4brZHcR2u/vd8I63vOdlmXrZ6wb3+gC+8qWvffGrX/76F8ACJrCBEaxgBjv4BRCWMIWNi1zl
Mte50JUuda2LXe0SgrveBa94yWte9qV3ve19b3znW9/75ne//f1vgAdsgwIfOMELbvCDxxDhCROX
/8gXPrKGk9xhJod4xFE2MZVT3Jfg/ocSBVUiMIBBi0k4IhUGlQQlYkELSkgiFsKghTAGPQxiFKPQ
ByXiI1yRCE8gwg29w9YjAGmI0a2iFoZQhCEe0QrXqc7TnlAEerfQx04n4lqsYEUtbGGMW+AiF7LI
xSdkgYtbHEMXgHaEoAltaET/cNGNfnSkJw2MSl+aiJTQNKf/COptrWLU5DQ1qlXNale3AdayZhmt
A+mJW68i17vu9a+DPexiHzvZyy70oRMNbUdDWtKUtjSmsx2JTZvu06H+NqnFnepVtzoRr0ZErGdd
63bjWte89jWwhU1sYyM70JQYtL6drWhG+3vaAf+/dqYLvm2Eexsufv6PEmOB6EJEoohApIUjHAEL
RMNCGKn4oSRsngpaxELokki6F16xC11zWtaje0TnXFc6T3jiEJ/bxStUgQhV1EIRqibfI2rxCEWo
YtSiqwUvepGLX38CE7hQpCFxMfOa37wQOd95z3kOdKET3ehIVzrTnR4uQGJ96uHq9NWzvvWufz3s
ECS72dF+CLWz3e1wlzux6+4Im+N8Ejrnuc/7nvS/Hz3pqF9602vxdMNLHYNVX/wjtM51r4PdEGKX
/NkRkfa1t13YmcfE3DnvebyDXu+jD3rpI1H006NeEqonPNTFEvP/DGKgVbyCIIpYiGyDYg+dCEX/
JqooilEUkRGkYEQhGlEKQQjCFHzogx+64AU35GELnkhvHMAABjeAoQvqtTGmEwdbwD6JZwiQEAcK
SH9ugAdtYEeQ8Dp18AeAQIGAAAiLcAqbcAqocH2DkH3bVwjdNwnfBwriR37mVwjop37s537wJ38M
eH/5xwX713//F4DSMoAFCHuJgIAKGAcM6IAQKIEUaIEYqIEc6IEgyH3etwcmOH6MUH7nl37r137v
F3/zV38yqH/8538AmDo5mIA7SHU9mIALWH9C6AUR6DoTWIEXeIQb2IHYh10hOIIleIJRmIIrWIUu
iIUxiH/6RxWwkhCtUoiGeIiImIiKuIgYMYgKAhEQADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image120.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
/9j/4AAQSkZJRgABAQEASwBLAAD/4wMOTVNPIFBhbGV0dGUgZEgwLB4WMiMYMyAWNCUaNyMYNyYa
OCgbOSYaOSodOykcPCYaPCsdPSkcPisdPi0fQCocQDAgQSwdQS4eQjAgRS8fRTIiRjEhRzUjSDMi
STclTDclUDklUDwpVj4pWUMtZEsyaksxbE80JxsTKx4VLB8WLCEXLRwULx4VLx8WLyEXLyMYMB8V
MSAWMSEYMSIZMSUaMiIXMiUaMx8VMyEXMyIXMyMYNCEXNCIZNCQYNCUZNCYbNSIXNSQYNSQaNSUY
NSYaNScaNSgcNiEWNiMYNiUbNigcNyQYNyUYNyUZNyUaNyYYNycaNyccNygaNygdNykcNyseOCkc
OCocOSMXOSUYOSUaOSYYOSYbOScYOSccOSgaOSgdOiYbOigcOikdOiocOiscOiwgOyUZOycaOyga
OygcOykbOykeOyoeOy0fPCUZPCcaPCgaPCobPCoePCsbPCwePSgaPSgcPSoePSwcPSwePS0fPicZ
PikbPioaPiocPisbPisePiwcPiwePiwfPi0gPi4fPykbPyscPywdPywfPy0dPy0gPy4dPy4gPy8h
PzAgPzEhQCkbQCscQCseQCwfQC4gQC8gQSsdQSwcQS0dQS4dQS4gQS8eQS8hQTEhQiwcQiwfQi0d
Qi0gQi4fQi8fQjEgQjEiQjIiQjMiQy8hQzAeQzQkRCwdRC0eRC4fRC8eRC8hRDAfRDAiRDIgRDIj
RDMkRTAfRTEhRTIgRTMhRTUjRi4eRjAgRjIhRjIjRjMkRjQjRjUkRzAfRzEhRzIgRzMiRzclSDEg
SDIiSDQlSDYjSDYmSDgmSTIiSTMiSTQiSTUiSTUlSjMhSjYiSjYmSjckSjgnSzMiSzcmTDUjTDYk
TDcjTDgkTDgnTDkmTDsoTjkmTjolTj0qTzYjTzgkTzooTzsoUTonUTsmUTspUT4qUj0pUj8qUzol
VDwnVD0oVD4qVD8rVEEsVj0oVj8qV0EsV0MtWD4qWEEsWj8pW0ErW0MtW0UuW0YwX0MrX0UtX0cw
YkkxY0cu/9sAQwALCAgKCAcLCgkKDQwLDREcEhEPDxEiGRoUHCkkKyooJCcnLTJANy0wPTAnJzhM
OT1DRUhJSCs2T1VORlRAR0hF/9sAQwEMDQ0RDxEhEhIhRS4nLkVFRUVFRUVFRUVFRUVFRUVFRUVF
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image121.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhDwB1AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAO
AHUAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHBig4MCDBQta0WMlIUE9UCBKjAgl
AIAAejIu1JiRYcEnDPWAjAhyYcGQC1OiTDixZcWCLFhyLLiiYAkWJV4mxBkzAIsVLIIKhSKUJpSc
K6AkTZoTJgulQaE+rRkgKQsrVpUSffmzK9CvQW0e1boUa0OfT59C2TpVLFOtSLkCDTqXaNgAOfOO
ZdpTKNi5P23i3EsY5t8Vf8XqvZm3L9ipUakuJTu2aQC2azOv7dlY72TDOBF3pSuYMc+4oP96VTyY
8dG+kGMrpWnl6oraWImetaIZCm/ea1l3fk0TaAnRx40bfcvXstfRQjkTXgx7tFSibqePBU03alG8
p183/y4eWnWJ0qfTp37+Vbh44lWNI0ee3bTpgpjTsl1O+XZSp9cNRVVcBGq1nmrSuaZgT6IB5qBg
zYV3IHvZLfWTgWhJBd2AcHX4n0+qJYZXZe/dRl5Sm63Fm1tm+XbbVQpppl9aRt3EHFRObegXhNp9
qKOIwynIVXdEBjbijaiB6NeSfeF21ZO4AVjXlBW2NlhqWkEmWX+UGQbVUojNVtVvL5oF42UzsnWX
f/3lJmVkkdXnoVzsrVYViWX5qF+KNN5pm25WnVUnkO8tCFpyG8p5I3eD8jfZWwAK6B1/cWWF31DR
zeUegbBd9yB4nu3lGJPROUqZc7J9GuiqW01IaKVKmSt1aX6ZnXdkj0Myud+Ii1VWnYM7gjrYokqG
GNhFoBZqEUEJ6bTsQQRBC0BAADt=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image122.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhEAB1AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAAAO
AHUAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHBig4MCDBQta0WMlIUE9UCBKjAgl
AIAAejIu1JiRYcEnDPWAjAhyYcGQC1OiTDixZcWCLFhyLLiiYAkWJV4mxBkzAIsVLIIKhSKUJpSc
K6AkTZoTJgulQaE+rRlghRUWVpJOJfryp1egYH/aPKq0rFWrTrlC4fq0xFimZZF2BRqULtGgY3Pq
jdtTaFi6YgPc3As3Kcy/K/7mJTv4aN+wU/0aXRqXbEG2azOv7akXJ1nKNIGWSOy1rk2egz0b9vn3
a+DOsB2ntUub5tWst7U2DGBFM5Tevdfm9dz4ZmicpEeLnvzZcVPWroXiFdx8r3GfdaPa5VwZ7vPS
pe9y/0btXHZV0aTDuhWMuv11162pxi7eM7n95dSZuu+J+al/osxRdlZXkfmn3VvVlXUYfF8NN199
kIEn30/OkbdgfK+ZlRWFQM3ml2T5Jbgag4pRZ51qu6Xn228vIYXbb1ZhpZBm//ln1E2FQeWUhCDi
KOJcH5b44F47AmYkgnLJtWB2TMJ0G1ZQ3uZhgUohKFp5F1IYGVUCmqUga1AtlViVVQEXI24yBtAf
W9MNKGBWBEolp3zdNZdlfDc2N2BaNbJlFFa66XYnfA6W955o0WWYo5LQZVdil5R9ZyCV9dWp1Uvi
iVdaoUn2ReWR7BH22WMfSlcppJZhNyeIgRIF51ODCjCpp1K4XdbnU2utl2SdOzLpp4mMMeYpj6aF
qpqd0GFY00WhGmoRQQnp9OxBBFELQEAAO0==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image123.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
/9j/4AAQSkZJRgABAQEASwBLAAD/4wMOTVNPIFBhbGV0dGUgZDsiakMncEMlcEsrc0cndVAveUsp
fFEtgk8pglUug1Isg1kxhl41ilUsi1kvjF4zkVsukl8xkmI0lGc5mGMymWk3nmk1n3A8oG04p3I6
qHc+r35DQSgcVDIfWTkkYkIoZT0jZT8lZUAmZUInZjshZkYraEImaUAmaUMnaUouaj4iakAiakIl
akUoakcqbUssbkAjbkIkbkQmbkUnbkYobkgpb04vcEorcEwscUIkcUUmcUgpckYnc0Mkc0kpc0oq
c0wqc0wuc1IxdE8udUcndkwqd0Qkd0kod0spd04seE8seFEueFQxeUcmekwpe0ooe0soe04se1It
e1Uwe1kzfEwnfEwqfE4pfFArf0snf04pf1Asf1Iuf1Quf1kygE8pgFIqgFMrgFMvgFYwgVQtgVw1
glgxgloygl84g04og1Aqg1Irg1MshFQrhFQvhFYshFYwhlAphlcvhlgvhlkvhlozhlwyhmA3h1Qq
h1Quh1Ysh1YviFIqiVgtiVgxiVouiVoyiVsxiV0ziV41iWE2jFgsjFgwjFoxjFwvjFwzjF0wjF0z
jF8zjGA1jGI3jVotjlUrj2Y6j1gtj1ovj1wwj140kF4wkF8ykGE2kWQ4kWEykWMzkmg6kms9klou
klwvk2Y3k14xk2AylGEwlGE0lGMzlVoslVwulV8wlmQ0lmY0lmY4lmg4lmIyl2s6mF8vmWY3mWc2
mWk5mW08mXA/mmYymmk2mms6nGQynGYznGg1nGIwnWo0nWo4nWw4nW08nXA9nmcznm03n286n3I+
oWczoWo1oWw2oW03oXZBom86onI9pW02pW84pXE6pXM8pXZAp3A4p3U9qHM6qHhAqXE4qXtDqnY8
qng+q3M6rXc8rX9FrntAsXs+sn9CtIVILRoWOSQbQSUaQygbQyodSC4fSSsdSjEiTi4eTzEgUDQi
UjckUzAfVDQgVTomWDEdWDQgWDciWDslXDciXDkiXDsjXD0mXEApXTQfYDggYDwkYToiYT0kYUAm
YUIpYUUr/9sAQwALCAgKCAcLCgkKDQwLDREcEhEPDxEiGRoUHCkkKyooJCcnLTJANy0wPTAnJzhM
OT1DRUhJSCs2T1VORlRAR0hF/9sAQwEMDQ0RDxEhEhIhRS4nLkVFRUVFRUVFRUVFRUVFRUVFRUVF
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
f//Z
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0026_image124.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhYACDAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABf
AIEAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDCA0GWKjniR4oCwMknEix
osWLGAPosbKxI0crCzGKHEky48OTUFA+lFiypcuWATjq6ThTph6WL3PqnLjQYcqfDVfuHEp0YIAV
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• ハノイの塔
<=
/span>
– 円盤が 4 枚 あったらどうなるか?
– 円盤が 5 枚 あったらどうなるか?
–
– 宿題=
span>1 : 円盤が n 枚 あったらどうなるか?( n=3D3,4,5, … ,100, … )
<=
/span>
– 宿題=
span>2 : 円盤が 100 枚 あったら 何秒かかる か?( 1 回 =3D 1 秒として)
A <=
/div>
B <=
/div>
C
Hanoi.vbs
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027_image125.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhdAFFAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABy
AUMAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDCBMqPBigocOHEAOU0jOx
IsWLFidG3OhwocePIEOKHEmypMmTKFOqXMlSJMdApfYEgimT5syYN2vitMlzp0+dOjkGaEm0qNGj
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
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027_image126.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhDwB1AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAO
AHUAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHBig4MCDBQta0WMlIUE9UCBKjAgl
AIAAejIu1JiRYcEnDPWAjAhyYcGQC1OiTDixZcWCLFhyLLiiYAkWJV4mxBkzAIsVLIIKhSKUJpSc
K6AkTZoTJgulQaE+rRkgKQsrVpUSffmzK9CvQW0e1boUa0OfT59C2TpVLFOtSLkCDTqXaNgAOfOO
ZdpTKNi5P23i3EsY5t8Vf8XqvZm3L9ipUakuJTu2aQC2azOv7dlY72TDOBF3pSuYMc+4oP96VTyY
8dG+kGMrpWnl6oraWImetaIZCm/ea1l3fk0TaAnRx40bfcvXstfRQjkTXgx7tFSibqePBU03alG8
p183/y4eWnWJ0qfTp37+Vbh44lWNI0ee3bTpgpjTsl1O+XZSp9cNRVVcBGq1nmrSuaZgT6IB5qBg
zYV3IHvZLfWTgWhJBd2AcHX4n0+qJYZXZe/dRl5Sm63Fm1tm+XbbVQpppl9aRt3EHFRObegXhNp9
qKOIwynIVXdEBjbijaiB6NeSfeF21ZO4AVjXlBW2NlhqWkEmWX+UGQbVUojNVtVvL5oF42UzsnWX
f/3lJmVkkdXnoVzsrVYViWX5qF+KNN5pm25WnVUnkO8tCFpyG8p5I3eD8jfZWwAK6B1/cWWF31DR
zeUegbBd9yB4nu3lGJPROUqZc7J9GuiqW01IaKVKmSt1aX6ZnXdkj0Myud+Ii1VWnYM7gjrYokqG
GNhFoBZqEUEJ6bTsQQRBC0BAADt=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027_image127.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhYABAAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABf
AD4AhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDBAMoXMgwUKBSexxClMiw
YgCEGDNq3JiRoZ5SH0OCHCmyJMmTehhyXMlS48JAeybGjDgTpsybNHHazLmwpU+WClEKNUl0qNGP
F38qxRhg4sOITyVCdUp1qlWpWKMmXcpVoEKRMU2GPTkWrNCyI8Nu7bp0Yc23OuHmnLuz7luFbLsG
2AMlaNG/RwOn/Lo2r88AT6Akrlg1a+OokCd61EO5sGGgiqGUeLLCyhMrFr8KBhka8efTep5Yvswx
AGXKUKxAeU3Zih7boEtbtML79mvbtCuz/hkgkJU9x2cfx21cj/LbyPfoAWS7SiA9140DCkkZ5HaQ
11cP/+8YXDpl83rQ01YfvP317deDix9f0CPqJ6lTe95/2kpn/IklVoJinmU2YIDOWXGgZxXRZ5BC
NAUARWYBcsaZYk8EiGFiE3bo4YcdypZZhynthJeDfo20l3J8tTjbbPhBwZdzNMr4Yo0z3mijczm6
dtKJrBXXmGuzwfZbe0gmqSSSTV0VyHxKNVWUQjKmh116wKF0HUjd6UGKl3lsR0oeX5L05ZcpmgTl
YXvZJdNCS9KGH3BLxkcbQ3KZGKRogA1mH434URbojMnxeBxSDI02WJCKKeSYk5LpJiljkEKqkGpB
HrrHQmd1KpanZIGKaHHYrdmSa7TZhmdcrNKV56tvLv+0HWXbmQoUdlZklyuuofWpKEq9Nrdrdrau
JGGGyFJoIbIZTupsaYmtkCEU0go4LbLFdrQQjPp9tgKBCALoWX73TZgftzciqGOO56amWH4qsdnk
k761R2eRNBpp5I21+YYvnbY9195zOu4FUbzaAotuu0VeJ118y7X3pR55UJxfxVUAgjEpVVA8MWUd
h1kxxt1J+aN4EDqGapzcXSnxa7MG93HMSc4M82ttRrZpYU2e5dqWrzWnL5eC5idnl9KBF5J5Rc4Y
Y9J/bZqWUFvNm6drn/GWtX62BVrvevg2/Zp06gns3Ig1ykYjb33BGtFFJv+FWLft3kcuoOS+G6N+
OwL/qPfffvv9rYB9CQZ3pVJJOOKHHIoYcIeNNx7bhByOWCDlicmm+daST5jzY6V4FBiRdeNYKLcB
Q6cj3qiXDiDrdfvYJ5xtwvoVy7jnrnt7tbfq2ld9+eqnpkYGCtLDttGhh/JWQv2wlVyu/nTzL8I5
uoSDYeso6FAxdDmBMAL3BB38Bre6oOYGnqG7DXHvEJVdQ1glX9aj9dFYFd299+v8381t/69jjFnE
sq38HOd297pNolylk0kpCV+VkVSr6jIZJrkGN+cBjnksIjyqPStuv/ITnIJDNC7dzmVKIlpodPao
FrLwhb2iDdGSFB6s+WZOBswhDgfVlw/6cFKt2xWt/3BFmey4TFWK+wyJ2Jag59AJNpoLEb+Q4y+1
TU5Ek6PQ4ipUgi5ei3HM0mKAFDKu/pRLXOE7DeASZEb+dItaenMjjMBFrQKpUVx4LNC39rgfKk0I
ix7KVxPXdhvgTM5fhUxdbTYXmwRhEIqpC1hvvJYktmFRNsBjWgZVx7oZYYlsYbublV6TrtfgsJTc
Ktrr/oe3/UHnhHF6Yu7Yc57d2bI9tJTPsegGQP21sl3KY2Xqeoks/a0vXAQaHC/1V0b2IcZcJOLQ
ICmnQzooz2s6gib53DVHv8EoQ3TwWjE1tENokvKP0uyhL3vJSleys3TtXKc8V+nLUvYSlv26pT73
yf9PC/oPdlNsGvNoFMxfDqxGrpsnj1DJMNjh51JH6hopkRRKfQlydxX9WiPdRc4tmtOiSZlb67CJ
I1UqVA+emIMp9aBSYv7TlfF8pytBM5CV2Ylso2yekjQ5m4FSRnnBTN82z9fPJPGMlTKCqZ2I9omx
IVWhLn2R03SI0HUNc1EPIuPZqDnHVHLtq7QZqNd8eiRBGZKRL1Jb5KL4x9jkZiML2RVO86W0Gb6O
MhVTaUuXx1KKecJrVthOdK70sFJKNFeI5VtPTuWWnNYFhV97jSdQijv0qAc3IqqcW/3VQyBxxSKo
Uc5Sr4SSph6PO6vrTBr9s59vpdEiDqqpRb6poYMV7is10/KQayHnodDEFig/DK5vLxMQADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027_image128.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhEAB1AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAAAO
AHUAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHBig4MCDBQta0WMlIUE9UCBKjAgl
AIAAejIu1JiRYcEnDPWAjAhyYcGQC1OiTDixZcWCLFhyLLiiYAkWJV4mxBkzAIsVLIIKhSKUJpSc
K6AkTZoTJgulQaE+rRlghRUWVpJOJfryp1egYH/aPKq0rFWrTrlC4fq0xFimZZF2BRqULtGgY3Pq
jdtTaFi6YgPc3As3Kcy/K/7mJTv4aN+wU/0aXRqXbEG2azOv7akXJ1nKNIGWSOy1rk2egz0b9vn3
a+DOsB2ntUub5tWst7U2DGBFM5Tevdfm9dz4ZmicpEeLnvzZcVPWroXiFdx8r3GfdaPa5VwZ7vPS
pe9y/0btXHZV0aTDuhWMuv11162pxi7eM7n95dSZuu+J+al/osxRdlZXkfmn3VvVlXUYfF8NN199
kIEn30/OkbdgfK+ZlRWFQM3ml2T5Jbgag4pRZ51qu6Xn228vIYXbb1ZhpZBm//ln1E2FQeWUhCDi
KOJcH5b44F47AmYkgnLJtWB2TMJ0G1ZQ3uZhgUohKFp5F1IYGVUCmqUga1AtlViVVQEXI24yBtAf
W9MNKGBWBEolp3zdNZdlfDc2N2BaNbJlFFa66XYnfA6W955o0WWYo5LQZVdil5R9ZyCV9dWp1Uvi
iVdaoUn2ReWR7BH22WMfSlcppJZhNyeIgRIF51ODCjCpp1K4XdbnU2utl2SdOzLpp4mMMeYpj6aF
qpqd0GFY00WhGmoRQQnp9OxBBFELQEAAO0==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027_image129.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhIQAxAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAg
AC8AhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEgQQICDeqAkPBigoMOHAwPomWhl
op6Keg5C3GhQz5OEIBV+hNKQ48MAFVNeXFmxpMmCBxXKDLnwpcMAKxBiXMnQJkwoK0gyZAjUpU+D
K1gkXaq0qVGfAZQCnRq06lObOFloTcoCqFYWV18GgFJiatmgZ8OajAqlq9u2cNVyjFq2Llmqcjdm
7coVLhQreSGODcrCCmGzgU+61dqWcdfEN81Ktno0ItO+TCH/tHv2bs7KAgOUYFFixeWvmgnSJUua
dd3Ulr+aTlo6KezQnnOnBW2QL9zTtw0CNdzWsPHPoEWbVrq8b/Cxo+2iLco7a23STW1Xbx3dNdnn
TK+P19b6XPfk8nDfvoU89KCVwvCvwH/fXqPqAIFK7QmUH+fS5dfhl99+gdgXQCl6IKhgggdFhx1D
C0Z4UCB76EehhRXuUR+GHO6nIUMJhhihiCSOiCCIQgVAoIUD8sfii0NlJNEeCslY343t7RFigRJZ
5OOPQFqkI5ANPtFZVVB8pCRIH1mhI40eReneE1RSCcVfT1xpRZVJdpnll1Y+gVAgToqkI5l7VNRk
mitBcWaNGnZkkUpA7hTkShmFhtCZepCJZp8YkXkRlGLad199Rla5QqH1JdeoSQEBADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0027_image130.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhUAAkAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAABP
ACIAggAAAHCGiJa0t7vg49ft78nm6QECAwECAwOKSLXc/jDKSWkgqurNewsXMYxkaZ5oqq6sCmJt
LM+0+Yp1ru/37v+tHnBIHAmLSF4oycwdm1DWM0o9TavYwTVL3XKh3i8zLEaSy8QzGqhe+9puHTxe
m9Nn9nssr5cu+0V8gCmCg1Z/hj+FiSSLjFqIj06RkjQvApiZmpucnZ6foKGgIKKlpqeongEJADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
アルゴリズム
• ウサギと猟師
– 周回する狩場で,ウサギ・猟師は毎時刻ど=
こか 1 マスに存在
– ウサギは最初に確率=
span>1/2 で右か左に行くことを決め,以降はその方=
向に毎 時間 1 マスずつ進む
– 猟師はウサギと同じマス目に入れば,ウサ=
ギを狩れる
–
– ウサギを捕まえるため
=
211; の猟師のアルゴリズムを
=
211; 考えよ
<=
/span>
=
211;
=
211;
=
211;
– 捕まらないようウサギ
=
211; のアルゴリズムを考えよ
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028_image131.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhSQAyAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAAABI
ADIAgQAAAAAAAP///wECAwKKjI+py+2/hJy02ouz3tTwD4aiJ5amSZ7qiqXsy7rwXMr0zdn4fun8
L/EBecIhrmikIZOwJTMWeA6d0hO1Wotid9ctqOvNacMzMDljPvfG6lW63WHDUfL5qG7/4vNiPt2f
BXgnGPJmZziHCKfYxqjmeAZJJhlG6WW5hYmlWcUp5fkEygRBWmp6elAAADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028_image132.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhHwHGAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAe
AcUAgQAAAAAAAP///wECAwL/jI+py+0Po5yUgYuz3rz7D2bVSJLCiabqyrbuC6tBTNf2HYT6zvfz
DQwGDcKiEfY7KpW5nvP5TC6nQyn1WrNit60m9AvuaLlkFLGMlqXXAm/4HR6zr+d5WW5fuuF8Jz5/
VAeI9TcotNeXGFJoCCTYqAdJhahYycEoSfOYWYTJ+UJpKXrh+dlVasqCmpoSOmq5ynqyKatZ6/ia
ixErS3sL+mvjqtvHy+obrJqsSZxrnIq83CqN1Pz6bBpN3bbtMmwd130q3kW+8g3+hf2pTb3OiZ4e
ZS7zDk/fKl9pL9kuzQ8pnj4eABv5W1bQkMCBOhIOOpjMIaCFDEFIzAMx2EU7/xQretg4J+MvkGw6
eryEzwzJkilnnXyzMo3IWzHRmHwpomWbmjZ13sRJyifPOz6BqhOqk1vLn0CHcplZy+kWpjilErJK
qKjReUux0tG61QdSn2DD7vA6BWqvsmYXjV3Ktu0HtHroRloq9+zblHYD5W24F19fI1RfDu50uFPc
vxsSV0nqGBfjuYHpRcYxmXJXyIszB91MFq9nlKDhih6t4bIw1cI6e2atCbat06h3VTYnu1rtnKX5
us6cG1RwYLR3Dx8Xmu9u3nxLOH8OPbr0Bst3Tb9u4nf10cdVdVe1Pfzn5pDFh/9er7z56uhbtc+3
fvn7WfNdxjd+m1zh+wPrq/89xl9t/tXXRoCoDaiegcDlJ85+ClqDoHYPNsVgNw5OqEuExWFolobK
cZiXh4KBGGKF21xIIiwmupNiWyJa1mKHK/4TY1gv4lbjVjfql6NROzbYI4W9jRikYTMiVKSRQ8KY
pEc/Wtikk0dGFGVFT55YJUNXspilPlvS2KU8XyIZZjpjUlkmOGdqlKaaU7LZZjNrjhSnnG/SWWeG
d9KUp55L4tjnNXtGFaigf/JYqChz8pmoiocC2eg+g/YSqaSPQllpIosSmmkxkwLYKR+bUhoqHANi
h+oEpZqaaqsPJLjqUZdiGSsYo4JaKxS3QpOrrORJ2Ctpv24YrFuzclksQZ//8pqssseC2Sxgz5IZ
rbHDflitRctmk621ghGIYqa7ctutZtcSWa4Y27KT7kfrwtOuutOiGW9q72YSbqXjsluvvfPC2a9t
/+IZ8HjfwhrwvvAWbLBl4DLcMG4PQ6wwvhADUHE/F2cc0Mb3akzxxx2HPDCjDHNskMclc3qyyCmT
fC6TLa9M6swxA2rzwcBWi7JCKt+MaM4OI9xvzw/9rDOx8Ro9EdJD7xwt0xg5LTHR9Z7qatZab811
115/DW5ygrmskNiWkf2Q2bihPZHa+rGNkdsNws2R3BbSHZLdJ+LNkmm+0XyM3u7wvYZ/gv8Ttt9j
Aw7N4QgRLpPjEUHek+JnuzOejeQaUU6U5Wtjzo7mI3FOhuGe65f436onvfrlrVctOk2xR5X64q+j
ztnpc4N+j+53847v7GsB34/wgRMfkPGNI2+Q8pkzX7bve0OftvSDU9+29f+Q/pTzoWMft/aPg1+3
+JOTn7f5m6Pf9+27A/2+7fI/rf7o9dNUu+vzw35/VN7Dk7/Puc9CAXxb/3pRwPjpj34DnF4D3ZHA
3z0Qcbmb4PjgJ8H9GRCDDtSgAnEEthCKcIQkLGGqCgAAOw==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028_image133.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
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
8eV/AG3XtM22LwAA
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028_image134.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhLgAsAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAMAAQAq
ACsAggAAAAAAAP8ZAP9W/////wECAwECAwECAwP/CLoc7iy2J2t8JJNg1fudFWgaVI1kZoZeWp6o
y7GA46rnjdPxFs8XFUbIKw0GKGBDdbTtQskj8rncSH9Fa5MY1CKTWUdztFpEx9QOOYAut7xOpZr5
TdfoU3tOG5ec824ieEkfQ2x5PnKCYoA6NzYUFxRrR46OTlwehD2WnTKanpaFoyQznKMfMg4CrAGs
rwI9NT0Pr66tcbewu62ltLq8uBvBvJg+KcDBP7WxqMiciajGQoUlmM6hoUMvm9C+pNqgntLT1n2a
azpJQseictWPKuzTqJJm5PjSNF0l1OmZ+/jJY0dQzz5o3owFOvjtGcKAkvo5HGiQh7cNyEpB9INQ
Koa1jZLAZYwE0kw2DIo2XlRVkUW5RCMXMnx0h2bJe79m6bs5AURPmRESAAA7
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028_image135.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz
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
/5/3HPwfLPRvMV2/FooZAAA=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0028_image136.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhRgBSAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAgBG
AFAAhgAAAAAAABsJARsbGxIGARISEg0VAggOAQsRBBMdBggMAgwVAhIbAhUjAygNAS0PAi4OAiwO
AiM3CyQ3CygoKC0tLSQkJCwsLC9QBzVRECtCDS9RBydDBitDDTBSBzpkCDtlCTxmCTljCFMbA0Fd
IVNTU1RUVEZ5Ckx2Gkt1GkBjFEZ4CkV3Ck+HC06GC1iIG2UhBGBpVWFpVn9/f2VlZX5+fm9vb2Zm
ZmdnZ227EGCmDmi0D2ulIXXJEYotBZszBoAqBZGFgJqamoCAgJmZmYGBgYiIiIeMgJiYmK05B6Q3
Bqw5B6U2BqysrKampqWlpaurq9JFCNLS0srKyu1OCf9UCuRLCe3t7eTk5P///wECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhQGI
hoqLjI2OjwABAD4/PwKSkJmam5GIQD9UVVVJApymp4efoKKsSZGHr6iyhJKUoay4o6WDnruLmLGz
i0C3ubkPrwFApRDCwgFRxtJLl4hMztgA0dKsQDAwQUIDwKjA5KbQ3N7gQkJXWU3j2c4jVrneBDPu
Wfz88efosAWoV2VduH39EjZpN08WohEw8iFMSLFfk2CZAD7T967iECwJP/qTp0njrABSKvarkHJl
CZDwhFAo2TBSS5UVXq5EqZCCyZqGeKqM2ZEoxXiOfp68ObRpz2fomDqdWkFp0hkzNwmdyrVqOZT/
rPKSynWo13IpFw7IqLPs0CE0/yyc4umk6EVIiMg6hUujLw2MvBhJcjKRL421ePU2rSrpZ4AZiF+l
JFyUb4HGJRWbtRqgho3LAKQ8IVI0S5EbN5JFdcuvQlKUFWoQId3v9I0pgE+ZgFn2LCxENa6wrJ36
Qu6vmiu6poWoM5EBKSuYQH2jAFBBW7ti79Q8ekoos0lez061ufPw0wvcLGL9OvbkFGPPpm1aLqLp
qOW6f896eMIi+kVSw1pinRQJfrwtxhSAvATn23hGPPfBCSfEgFqC8bV0WoCdXcHgeAJ6iEIOPfTQ
AoUW3oBhFsMVEUyHLLoHHG0V6FDijSaieOFK0x1ixDsuXhchfUWMiOORLRgQAP9+1Z0DY4wNSfJE
aSzaeOSNIGBwQHMTGhDYkx9mk1dFRZJ4ZZZHzDcbCVo25lxRy4kpG5VVXtkDCAcEx49tl51H355R
/miWlUc2oCc/4KlJp2mBLtoaoTeGcAB8OEWZXI1XGupoU+xFudtQRaRgJo4NUKocUEviAFIROLSK
QwGQ3lgqa6bhIGOql9WABBIDxFpiA59yxWqAIDZmQquw2umCAZqximyB87jp66/B7ulqn4ns14gI
ox65bLVQjBNABiqogAC0NQUw7Y0urCCDq6+KYMALPPCQALo1rYtjuyv0u0IODUiggQYKZKttUPra
ya6/K3h58CIJKxzCBhRTvOXDwwgrrHEPDYxbbrkIYGxIxHZ2TG+99opMC8mZBiDwwASrTAjL3jZM
rrn4isnBDhtr3MDJ98rMC82FTtBBBwULjR3R+7LgNAsLKB0J0wo3IHUAHHig9dZcd+311lInY97Y
ZJdt8NVmpz122Lyo7TbbbbttNtzYyT033dzZvTbee6uGWd9sAy6YeXSTjRfhgSP+iOJoN1cS40JD
fnjOUZ79OOViWq6V5iJz/njjJ2HOiUaixw1L5dx14szajkd7N1SCyxIIADs=
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/slide0033.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
参考文献
• 浅野孝夫 「情報の構造・上」=
span> 日本評論社( 1994 )
– ソート,アルゴリズム全般,計算量について=
• 浅野孝夫・今井浩 「計算とアルゴリズム」 オーム社( 2000 )
<=
/span>
– ソート,ラディックスソート,計算量,ハノ=
イの塔などについて
• 杉原厚吉 「データ構造とアルゴ=
リズム」 共立出版( 2001 )
<=
/span>
– ソートについて
• 茨木俊秀 「 C によるアルゴリズムとデータ構造」 昭晃堂( 1999 )
<=
/span>
– ソートなどのアルゴリズムの C への効率的実装について
• 河西朝雄 「 C 言語によるはじめてのアルゴリズム入門」=
技術評論 社( 1992 )
<=
/span>
– ソートの分類,ソート・ハノイの塔などの=
span>C プログラムについて
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/master01.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
<=
/div>
<=
/div>
<=
/div>
<=
/div>
マスタ
テキストの書式設定
第
2 レベル
第
3 レベル
第
4 レベル
第
5 レベル
<=
/div>
<=
/div>
<=
/div>
<=
/div>
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/master03_stylesheet.css
Content-Transfer-Encoding: base64
Content-Type: text/css
Ym9keQ0KCXt3aWR0aDo1MzRweDsNCgloZWlnaHQ6NDAwcHg7fQ0KLlRCDQoJe21zby1zcGVjaWFs
LWZvcm1hdDpub2J1bGxldFwyMDIyO30NCi5UDQoJe3RleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQt
ZmFtaWx5OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiKCbIJy
IIJvg1ODVoNig04iOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxv
dzp2ZXJ0aWNhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MzsNCglmb250LXNp
emU6MjA5JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQou
QkINCgl7bXNvLXNwZWNpYWwtZm9ybWF0OmJ1bGxldFwyMDIyO30NCi5CDQoJe3RleHQtYWxpZ246
bGVmdDsNCglmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250
LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7
DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7DQoJbXNvLWNvbG9yLWluZGV4
OjE7DQoJZm9udC1zaXplOjE1MiU7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92
ZXJmbG93OjE7fQ0KLkIxQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6YnVsbGV0XDIwMTM7fQ0KLkIx
DQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCglt
c28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9u
dC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7DQoJ
bXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjEzMyU7DQoJbXNvLWNoYXItd3JhcDoxOw0K
CW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLkIyQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6YnVs
bGV0XDIwMjI7fQ0KLkIyDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseToigmyCciCC
b4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsN
Cgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJ
Y29sb3I6YmxhY2s7DQoJbXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjExNCU7DQoJbXNv
LWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLkIzQg0KCXttc28tc3Bl
Y2lhbC1mb3JtYXQ6YnVsbGV0XDIwMTM7fQ0KLkIzDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250
LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyC
ciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZs
b3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7DQoJbXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1z
aXplOjk1JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQou
QjRCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRcMDBCQjt9DQouQjQNCgl7dGV4dC1hbGln
bjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1mYXJlYXN0LWZv
bnQtZmFtaWx5OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlh
bDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5k
ZXg6MTsNCglmb250LXNpemU6OTUlOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1v
dmVyZmxvdzoxO30NCi5OQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjt9DQou
Tg0KCXt0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1mYW1pbHk6IoJsgnIggm+WvpKpIjsNCgltc28t
ZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb5a+kqkiOw0KCW1zby1oYW5zaS1mb250LWZhbWls
eTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29s
b3ItaW5kZXg6MTsNCglmb250LXNpemU6NTclOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2lu
c29rdS1vdmVyZmxvdzoxO30NCi5OMUINCgl7bXNvLXNwZWNpYWwtZm9ybWF0Om5vYnVsbGV0XDIw
MjI7fQ0KLk4xDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseToigmyCciCCb5a+kqki
Ow0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiKCbIJyIIJvlr6SqSI7DQoJbXNvLWhhbnNpLWZv
bnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0K
CW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo1NyU7DQoJbXNvLWNoYXItd3JhcDoxOw0K
CW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk4yQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9i
dWxsZXRcMjAyMjt9DQouTjINCgl7dGV4dC1hbGlnbjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OiKCbIJy
IIJvlr6SqSI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+WvpKpIjsNCgltc28t
aGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6
YmxhY2s7DQoJbXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjU3JTsNCgltc28tY2hhci13
cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouTjNCDQoJe21zby1zcGVjaWFsLWZv
cm1hdDpub2J1bGxldFwyMDIyO30NCi5OMw0KCXt0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1mYW1p
bHk6IoJsgnIggm+WvpKpIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb5a+kqki
Ow0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsN
Cgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MTsNCglmb250LXNpemU6NTclOw0KCW1z
by1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5ONE4NCgl7bXNvLXNw
ZWNpYWwtZm9ybWF0Om5vYnVsbGV0XDIwMjI7fQ0KLk40DQoJe3RleHQtYWxpZ246bGVmdDsNCglm
b250LWZhbWlseToigmyCciCCb5a+kqkiOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiKCbIJy
IIJvlr6SqSI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZl
cnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0KCW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo1
NyU7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk9CDQoJ
e21zby1zcGVjaWFsLWZvcm1hdDpub2J1bGxldFwyMDIyO30NCi5PDQoJe3RleHQtYWxpZ246bGVm
dDsNCglmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZh
bWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJ
bGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7DQoJbXNvLWNvbG9yLWluZGV4OjE7
DQoJZm9udC1zaXplOjg1JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZs
b3c6MTt9DQouTzFCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpub2J1bGxldFwyMDIyO30NCi5PMQ0K
CXt0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNv
LWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQt
ZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0KCW1z
by1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo4NSU7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1z
by1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk8yDQoJe2ZvbnQtZmFtaWx5OiKCbIJyIIJvg1ODVoNi
g04iOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1o
YW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hh
ci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouTzMNCgl7Zm9udC1mYW1pbHk6
IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NW
g2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRp
Y2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5PNA0K
CXtmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWls
eToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5
b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJm
bG93OjE7fQ0KLkNCQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjt9DQouQ0IN
Cgl7dGV4dC1hbGlnbjpjZW50ZXI7DQoJZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJ
bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZv
bnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0K
CW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZToxNTIlOw0KCW1zby1jaGFyLXdyYXA6MTsN
Cgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5DQjENCgl7Zm9udC1mYW1pbHk6IoJsgnIggm+D
U4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJ
bXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1z
by1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5DQjINCgl7Zm9udC1m
YW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIg
gm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93
OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30N
Ci5DQjMNCgl7Zm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9u
dC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFs
Ow0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29r
dS1vdmVyZmxvdzoxO30NCi5DQjQNCgl7Zm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJ
bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZv
bnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6
MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5DVEINCgl7bXNvLXNwZWNpYWwtZm9ybWF0
Om5vYnVsbGV0XDIwMjI7fQ0KLkNUDQoJe3RleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtZmFtaWx5
OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiKCbIJyIIJvg1OD
VoNig04iOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0
aWNhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MzsNCglmb250LXNpemU6MjA5
JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouSEINCgl7
Zm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6
IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91
dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxv
dzoxO30NCi5IQjENCgl7Zm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVh
c3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5
OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28t
a2luc29rdS1vdmVyZmxvdzoxO30NCi5IQjINCgl7Zm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KD
TiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhh
bnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFy
LXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5IQjMNCgl7Zm9udC1mYW1pbHk6
IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NW
g2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRp
Y2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5IQjQN
Cgl7Zm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1p
bHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxh
eW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVy
ZmxvdzoxO30NCi5RQg0KCXtmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFy
ZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1p
bHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1z
by1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlFCMQ0KCXtmb250LWZhbWlseToigmyCciCCb4NTg1aD
YoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28t
aGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNo
YXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlFCMg0KCXtmb250LWZhbWls
eToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NT
g1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVy
dGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlFC
Mw0KCXtmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZh
bWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJ
bGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92
ZXJmbG93OjE7fQ0KLlFCNA0KCXtmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28t
ZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2ktZm9udC1m
YW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0K
CW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlRibA0KCXtmb250LWZhbWlseToigmyCciCCb4NT
g1aDYoNOIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCglt
c28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNv
LWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlRibDENCgl7Zm9udC1m
YW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIg
gm+DU4NWg2KDTiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93
OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30N
Ci5UYmwyDQoJe2ZvbnQtZmFtaWx5OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1mYXJlYXN0LWZv
bnQtZmFtaWx5OiKCbIJyIIJvg1ODVoNig04iOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlh
bDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNv
a3Utb3ZlcmZsb3c6MTt9DQouVGJsMw0KCXtmb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsN
Cgltc28tZmFyZWFzdC1mb250LWZhbWlseToigmyCciCCb4NTg1aDYoNOIjsNCgltc28taGFuc2kt
Zm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3Jh
cDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlRibDQNCgl7Zm9udC1mYW1pbHk6IoJs
gnIggm+DU4NWg2KDTiI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KD
TiI7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2Fs
Ow0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5kZWZhdWx0
Qg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjt9DQouZGVmYXVsdA0KCXt0ZXh0
LWFsaWduOmxlZnQ7DQoJZm9udC1mYW1pbHk6IoJsgnIggm+DU4NWg2KDTiI7DQoJbXNvLWFzY2lp
LWZvbnQtZmFtaWx5OkFyaWFsOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiKCbIJyIIJvg1OD
VoNig04iOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglmb250LXdlaWdodDpib2xk
Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hh
ZG93Om5vbmU7DQoJdGV4dC1lZmZlY3Q6bm9uZTsNCgltc28tZmFyZWFzdC1oaW50Om5vOw0KCWxh
eW91dC1mbG93OnZlcnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0KCW1zby1jb2xvci1pbmRleDoxOw0K
CWZvbnQtc2l6ZTo4NSU7DQoJbXNvLXRleHQtcmFpc2U6MCU7DQoJbXNvLWxpbmUtc3BhY2luZzoi
MTAwIDAgMCI7DQoJbXNvLW1hcmdpbi1sZWZ0LWFsdDowOw0KCW1zby10ZXh0LWluZGVudC1hbHQ6
MDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTsNCglkaXJlY3Rp
b246bHRyOw0KCW1zby13b3JkLXdyYXA6MTsNCgltc28tdmVydGljYWwtYWxpZ24tc3BlY2lhbDpi
YXNlbGluZTsNCgltc28tZmFyZWFzdC1sYW5ndWFnZTpKQTsNCgltc28tYW5zaS1sYW5ndWFnZTpF
Ti1VUzt9DQphOmxpbmsNCgl7Y29sb3I6IzAwOTk5OSAhaW1wb3J0YW50O30NCmE6YWN0aXZlDQoJ
e2NvbG9yOiMzMzMzOTkgIWltcG9ydGFudDt9DQphOnZpc2l0ZWQNCgl7Y29sb3I6Izk5Q0MwMCAh
aW1wb3J0YW50O30NCn==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/script.js
Content-Transfer-Encoding: quoted-printable
Content-Type: application/javascript; charset="shift_jis"
function LoadSld()
{
var sld=3DGetObj("SlideObj")
if( !g_supportsPPTHTML ) { =09
sld.style.visibility=3D"visible"
return
}
if( MakeNotesVis() ) return
runAnimations =3D _InitAnimations();
=09
if( IsWin("PPTSld") )
parent.SldUpdated(GetSldId())
g_origSz=3DparseInt(SlideObj.style.fontSize)
g_origH=3Dsld.style.posHeight
g_origW=3Dsld.style.posWidth
g_scaleHyperlinks=3D(document.all.tags("AREA").length>0)
if( g_scaleHyperlinks )
InitHLinkArray()
if( g_scaleInFrame||(IsWin("PPTSld") && parent.IsFullScrMode() ) )
document.body.scroll=3D"no"
_RSW()
if( IsWin("PPTSld") && parent.IsFullScrMode() )
FullScrInit();
=09
MakeSldVis();
ChkAutoAdv()
if( runAnimations )
{
if( document.all("NSPlay") )
document.all("NSPlay").autoStart =3D false;
if( sld.filters && sld.filters.revealtrans )
setTimeout( "document.body.start()", sld.filters.revealtrans.duration * =
1000 );
else
document.body.start();
}
}
function MakeSldVis()=20
{
var fTrans=3Dg_showAnimation && SldHasTrans()
if( fTrans )=09
{
if( g_bgSound ) {
idx=3Dg_bgSound.indexOf(",");
pptSound.src=3Dg_bgSound.substr( 0, idx );
pptSound.loop=3D -(parseInt(g_bgSound.substr(idx+1)));
}
SlideObj.filters.revealtrans.Apply()=09
}
SlideObj.style.visibility=3D"visible"
if( fTrans )
SlideObj.filters.revealtrans.Play()
}
function MakeNotesVis()=20
{
if( !IsNts() ) return false=20
SlideObj.style.display=3D"none"
nObj =3D document.all.item("NotesObj")
parent.SetHasNts(0)
if( nObj ) {=20
nObj.style.display=3D""
parent.SetHasNts(1)
}
return 1
}
function ChkAutoAdv()
{
if(SldHasTrans())
SlideObj.onfilterchange=3DAutoAdv
else
AutoAdv()
}
function AutoAdv()
{
if(!IsWin("PPTSld") || !gUseSldTimings )return
var sld=3DGetCurSld()
if( (sld.mAdvDelay>0) && !parent.IsFramesMode() )
setTimeout("parent.GoToNextSld()",sld.mAdvDelay)
}
function GetObj(id)
{
if(g_supportsPPTHTML) return document.all(id);
else return document.getElementById(id);
}
function SldHasTrans() { return SlideObj.style.filter !=3D ""; }
function GetSldId()=20
{
var regExp =3D /file:\/\/\//i
var pos =3D location.href.search(regExp)
if (MHTMLPrefix !=3D "" && pos !=3D -1)
sId =3D location.href.substring(pos)
else
{
sId =3D RemoveFilePrefixFromHref(location.href);
var regExp =3D /\//
var fixedHref =3D sId
var pos =3D -1
=09
pos =3D fixedHref.search(regExp)
while (pos !=3D -1)
{
fixedHref =3D fixedHref.replace(regExp, "\\")
pos =3D fixedHref.search(regExp)
}
=09
if (g_fBaseHyperlink =3D=3D true)
sId =3D "file:///" + fixedHref;
else
sId =3D fixedHref.substring(fixedHref.lastIndexOf('\\') + 1)
}
=09
return sId
}
function HideMenu() { if( frames["PPTSld"] && PPTSld.document.all.item("ctx=
tmenu") && PPTSld.ctxtmenu.style.display!=3D"none" ) { PPTSld.ctxtmenu.styl=
e.display=3D'none'; return true } return false }
function IsWin( name ) { return window.name =3D=3D name }
function IsNts() { return IsWin("PPTNts") }
function IsSldOrNts() { return( IsWin("PPTSld")||IsWin("PPTNts") ) }
function SupportsPPTAnimation() { return( navigator.platform =3D=3D "Win32"=
&& navigator.appVersion.indexOf("Windows")>0 ) }
function SupportsPPTHTML()
{
var appVer=3Dnavigator.appVersion, msie=3DappVer.indexOf("MSIE "), ver=3D0
if( msie >=3D 0 )
ver=3DparseFloat( appVer.substring( msie+5, appVer.indexOf(";",msie) ) )
else
ver=3DparseInt(appVer)
return( ver >=3D 4 && msie >=3D 0 )
}
function _RSW()
{
if( !g_supportsPPTHTML || IsNts() ||
( !g_scaleInFrame && (!IsWin("PPTSld") || !parent.IsFullScrMode()) ) )
return
var padding=3D0;
if( IsWin("PPTSld") && parent.IsFramesMode() ) padding=3D6
cltWidth=3Ddocument.body.clientWidth-padding
cltHeight=3Ddocument.body.clientHeight-padding
factor=3D(1.0*cltWidth)/g_origW
if( cltHeight < g_origH*factor )
factor=3D(1.0*cltHeight)/g_origH
newSize =3D g_origSz * factor
if( newSize < 1 ) newSize=3D1
s=3DSlideObj.style
s.fontSize=3DnewSize+"px"
s.posWidth=3Dg_origW*factor
s.posHeight=3Dg_origH*factor
s.posLeft=3D(cltWidth-s.posWidth+padding)/2
s.posTop=3D(cltHeight-s.posHeight+padding)/2
if( g_scaleHyperlinks )
ScaleHyperlinks( factor )
}
function _InitAnimations()
{
animRuntimeInstalled =3D ''+document.body.localTime !=3D 'undefined';
isFullScreen =3D (window.name =3D=3D "PPTSld") && !parent.IsFramesMode();
g_animUseRuntime =3D g_showAnimation && animRuntimeInstalled && !(isFullSc=
reen && parent.IsSldVisited());
if( g_animUseRuntime ) {
collSeq =3D document.all.tags("seq");
if( collSeq !=3D null ) {
for(ii=3D0;ii
numSlds )
gSldJumpIdx =3D numSlds;
if ( gSldJumpIdx >=3D 0 ) {
if ( gSldJumpIdx =3D=3D 0 )
gSldJumpIdx =3D 1;
var jumpTo =3D parseInt(gSldJumpIdx);
gSldJump =3D 0; gSldJumpIdx =3D "";
win.GoToSld( parent.GetSldList().mList[jumpTo-1].mSldHref )
}
}
}
function _KDH()
{
if( event.keyCode =3D=3D 8 ) {
event.returnValue =3D 0;
parent.GoToPrevSld();
}
}function DocumentOnClick()
{
if( IsNts() || parent.HideMenu() ) return;
if( ( g_allowAdvOnClick && (window.name=3D=3D"PPTSld") && !parent.IsFrames=
Mode() ) ||
(event && event.keyCode=3D=3D32) ) {
=09
if( g_animUseRuntime && g_animMainSequence && g_animMainSequence.cangonex=
t )
return;
parent.GoToNextSld();
}
}
var g_supportsPPTHTML =3D SupportsPPTHTML(), g_scaleInFrame =3D 1, gId=3D""=
, g_bgSound=3D"",
g_scaleHyperlinks =3D false, g_allowAdvOnClick =3D 1, g_showInBrowser =
=3D 0, gLoopCont =3D 0, gUseSldTimings =3D 1;
var g_showAnimation =3D g_supportsPPTHTML && SupportsPPTAnimation() && ( (w=
indow.name=3D=3D"PPTSld" && !parent.IsFramesMode()) || g_showInBrowser );va=
r g_animManager =3D null;
var g_animUseRuntime =3D false;
var g_animItemsToHide, g_animInteractiveItems, g_animSlideTime;
var g_animMainSequence =3D null;
var ENDSHOW_MESG=3D"スライド ショーの最後です。 クリックすると終了します。"=
, SCREEN_MODE=3D"Frames", gIsEndShow=3D0, NUM_VIS_SLDS=3D16, SCRIPT_HREF=3D=
"script.js", FULLSCR_HREF=3D"fullscreen.htm";
var gCurSld =3D gPrevSld =3D 1, g_offset =3D 0, gNtsOpen =3D gHasNts =3D gO=
tlTxtExp =3D 0, gHasNarration =3D 0, gOtlOpen =3D true
window.gPPTHTML=3DSupportsPPTHTML()
var g_fBaseHyperlink =3D false;
var gMainDoc=3Dnew Array(new hrefList("slide0001.htm",1,-1,1),new hrefList(=
"slide0024.htm",1,-1,1),new hrefList("slide0022.htm",1,-1,1),new hrefList("=
slide0025.htm",1,-1,1),new hrefList("slide0014.htm",1,-1,1),new hrefList("s=
lide0016.htm",1,-1,1),new hrefList("slide0029.htm",1,-1,1),new hrefList("sl=
ide0031.htm",1,-1,1),new hrefList("slide0015.htm",1,-1,1),new hrefList("sli=
de0023.htm",1,-1,1),new hrefList("slide0021.htm",1,-1,1),new hrefList("slid=
e0030.htm",1,-1,1),new hrefList("slide0026.htm",1,-1,1),new hrefList("slide=
0027.htm",1,-1,1),new hrefList("slide0028.htm",1,-1,1),new hrefList("slide0=
033.htm",1,-1,1));
/*********************************************
Frameset functions
These functions control slide navigation
and state of the frameset.
**********************************************/
function RemoveFilePrefixFromHref(href)
{
var regExp =3D /^file:\/\/\//i;
return href.replace(regExp, "")
}
function FullScrInit()
{
g_allowAdvOnClick =3D GetCurSld().mAdvOnClk
document.body.style.backgroundColor=3D"black"
document.oncontextmenu=3Dparent._CM;
document.onkeydown =3D _KDH;
document.ondragstart=3DCancel
document.onselectstart=3DCancel
self.focus()
}
function Redirect( frmId )
{=09
var str=3Ddocument.location.hash,idx=3Dstr.indexOf('#'), sId=3DGetSldId()
if(idx>=3D0) str=3Dstr.substr(1);
if( window.name !=3D frmId && ( sId !=3D str) ) {
obj =3D GetObj("Main-File")
window.location.href=3Dobj.href+"#"+sId
return 1
}
return 0
}
var MHTMLPrefix =3D CalculateMHTMLPrefix();=20
function CalculateMHTMLPrefix()
{
if ( document.location.protocol =3D=3D 'mhtml:') {=20
href=3Dnew String(document.location.href)=20
Start=3Dhref.indexOf('!')+1=20
End=3Dhref.lastIndexOf('/')+1=20
if (End < Start)=20
return href.substring(0, Start)=20
else=20
return href.substring(0, End)=20
}
return '';
}
function GetTags(base,tag)
{
if(g_supportsPPTHTML) return base.all.tags(tag);
else return base.getElementsByTagName(tag);
}
function UpdNtsPane(){ if(frames["PPTNts"]) PPTNts.location.replace( MHTMLP=
refix+GetHrefObj( gCurSld ).mNtsHref ) }
function UpdNavPane( sldIndex ){ if(gNavLoaded) PPTNav.UpdNav() }
function UpdOtNavPane(){ if(gOtlNavLoaded) PPTOtlNav.UpdOtlNav() }
function UpdOtlPane(){ if(gOtlLoaded) PPTOtl.UpdOtl() }
function SetHasNts( fVal )
{
if( gHasNts !=3D fVal ) {
gHasNts=3DfVal
UpdNavPane()
}
}
function ToggleOtlText()
{
gOtlTxtExp=3D!gOtlTxtExp
UpdOtlPane()
}
function ClearMedia()
{
// Clear any sounds playing before launching another browser window. Other=
wise,
// in fullscreen mode, you'll continue to hear the sound in the frames mod=
e.
if (PPTSld.pptSound) PPTSld.pptSound.loop =3D 0;
}
function FullScreen()
{=20
if ( PPTSld.g_animUseRuntime )
PPTSld.document.body.pause();
ClearMedia();
var href =3D ( document.location.protocol =3D=3D 'mhtml:') ? FULLSCR_HREF =
: FULLSCR_HREF+"#"+GetHrefObj(gCurSld).mSldHref;
if (MHTMLPrefix !=3D "")
href =3D RemoveFilePrefixFromHref(href)
if(PPTNav.event.ctrlKey) {
var w =3D (window.screen.availWidth * 1.0) / 2.0
var h =3D w * (PPTSld.g_origH * 1.0) / PPTSld.g_origW
win =3D window.open( MHTMLPrefix+href,null,"toolbar=3D0,resizable=3D1,top=
=3D0,left=3D0," + "width=3D"+ w + ",height=3D" + h );
if( win.document.body && PPTSld.g_animUseRuntime )
win.document.body.PPTSldFrameset=3Dwindow;
}
else
{
win =3D window.open( MHTMLPrefix+href,null,"fullscreen=3Dyes" );
if( win.document.body && PPTSld.g_animUseRuntime )
win.document.body.PPTSldFrameset=3Dwindow;
}
}
function ToggleVNarration()
{
rObj=3DPPTSld.document.all("NSPlay")
if( rObj && !PPTSld.g_animUseRuntime ) {
if( (rObj.playState =3D=3D 1)||(rObj.playState =3D=3D 0) )
rObj.Play()
else if( rObj.playState =3D=3D 2 )
rObj.Pause()
else
return;
}
else if( PPTSld.g_animUseRuntime )
{
narObj =3D PPTSld.document.all("narrationID")
if( narObj )
narObj.togglePause()
}
}
function GetCurSldNum()
{ =20
obj=3DGetHrefObj(gCurSld)
if( obj.mOrigVis =3D=3D 1 )
return obj.mSldIdx
else =20
return gCurSld
}
function GetNumSlds()
{ =20
if( GetHrefObj(gCurSld).mOrigVis =3D=3D 1 )
return GetSldList().mNumVisSlds;
else
return GetSldList().mList.length
}
function GetSldNum( href )
{
for(ii=3D0; ii 1 )
PopSldList();
else if( !IsFramesMode() ) {
if( gLoopCont )
GoToFirst()
else
EndShow()
}
}
function GoToPrevSld()
{
ii=3DgCurSld-1
if( ii > 0 ) {
obj=3DGetHrefObj(ii)
while ( obj && ( obj.mVis =3D=3D 0 ) && ( ii>0 ) )
obj=3DGetHrefObj(--ii)
if( ii =3D=3D 0 ) ii=3D1
GoToSldNum(ii)
}
}
function GoToFirst(){ GoToSld( GetHrefObj(1).mSldHref ) }
function GoToLast()
{
ii=3DGetSldList().mList.length
if( ii !=3D gCurSld )
GoToSld( GetHrefObj(ii).mSldHref )
}
function GoToSldNum( num )
{
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
obj =3D GetHrefObj( num )
obj.mVis=3D1
gPrevSld=3DgCurSld
gCurSld =3D num;
=09
if (MHTMLPrefix !=3D "")
PPTSld.location.replace(MHTMLPrefix+RemoveFilePrefixFromHref(obj.mSldHref=
))
else
PPTSld.location.replace(obj.mSldHref)
=09
if( IsFramesMode() ) {
UpdNavPane(); UpdOtlPane(); UpdNtsPane()
}
}
function GoToSld( href )
{
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
GetHrefObj( GetSldNum(href) ).mVis=3D1
if (MHTMLPrefix !=3D "")
PPTSld.location.replace(MHTMLPrefix+RemoveFilePrefixFromHref(href))
else
PPTSld.location.replace(href)
}
function SldUpdated( id )
{
if( id =3D=3D GetHrefObj(gCurSld).mSldHref ) return
gPrevSld=3DgCurSld
gCurSld=3DGetSldNum(id)
if( IsFramesMode() ) {
UpdNavPane(); UpdOtlPane(); UpdNtsPane()
}
}
function PrevSldViewed(){ GoToSld( GetHrefObj(gPrevSld).mSldHref ) }
function HasPrevSld() { return ( gIsEndShow || ( gCurSld !=3D 1 && GetHrefO=
bj( gCurSld-1 ).mVis =3D=3D 1 )||( GetCurSldNum() > 1 ) ) }
function HasNextSld() { return (GetCurSldNum() !=3D GetNumSlds()) }
function CloseWindow() {
if( HideMenu() ) return;
=09
var event =3D PPTSld.event;
if( !IsFramesMode() && event && (event.keyCode=3D=3D27 || event.keyCode=3D=
=3D32 || event.type=3D=3D"click" ) )
window.close( self );
CatchNumKeys( self, event );
}
function Unload() { gIsEndShow=3D0; }
function SetupEndShow() {
gIsEndShow=3D1;
PPTSld.document.body.scroll=3D"no";
PPTSld.document.onkeypress=3DCloseWindow;
PPTSld.document.onclick=3DCloseWindow;
PPTSld.document.oncontextmenu=3D_CM;
}
function EndShow()
{
if( IsFramesMode() ) return
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
doc=3DPPTSld.document
var dir =3D doc.body.dir
if( dir !=3D "rtl" ) dir =3D "ltr";
doc.open()
doc.writeln('' + ENDSHOW_MESG + '
=
body>')
doc.close()
}
function SetSldVisited(){ GetSldList().mList[gCurSld-1].mVisited=3Dtrue }
function IsSldVisited(){ return GetSldList().mList[gCurSld-1].mVisited }
function hrefList( sldHref, visible, advDelay, advClk )
{
this.mSldHref=3D this.mNtsHref =3D sldHref
this.mOrigVis=3D this.mVis =3D visible
this.mVisited=3D false
this.mAdvDelay=3D advDelay
this.mAdvOnClk=3D advClk
}
function SldList(arr,curSld,fEnd)
{
this.mCurSld =3D curSld;
this.mList =3D new Array();
var idx =3D 1;
for(ii=3D0;ii 0) {
PushSldList(sldList,fEnd);
gCurSld =3D 1;
}
else
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
}
function PushSldList(arr,fEnd) {
var ii =3D gSldStack.length;
gSldStack[ii] =3D new SldList(arr,gCurSld,fEnd);
GoToSld( gSldStack[ii].mList[0].mSldHref );
}
function PopSldList() {
if (gSldStack[gSldStack.length-1].fEndShow)
EndShow()
else {
gCurSld =3D gSldStack[gSldStack.length-1].mCurSld;
gSldStack[gSldStack.length-1] =3D null;
gSldStack.length--;
var sldList =3D gSldStack[gSldStack.length-1];
GoToSld( sldList.mList[gCurSld - 1].mSldHref );
}
}
var custShowList=3Dnew Array();
/*********************************************
Navigation button implementation
There are 2 types of buttons: ImgBtn, TxtBtn
implemented as function objects. They share
a similiar interface so the event handlers
can call SetActive, for example, on a button=20
object without needing to know exactly=20
what type of button it is.
**********************************************/
//----------------------------------
function ImgBtn( oId,bId,w,action )
//----------------------------------
{
var t=3Dthis
t.Perform =3D _IBP
t.SetActive =3D _IBSetA
t.SetInactive=3D _IBSetI
t.SetPressed =3D _IBSetP
t.SetDisabled=3D _IBSetD
t.Enabled =3D _IBSetE
t.ChangeIcon =3D null
t.UserAction =3D action
t.ChgState =3D _IBUI
t.mObjId =3D oId
t.mBorderId=3D bId
t.mWidth =3D w
t.mIsOn =3D t.mCurState =3D 0
}
function _IBSetA()
{
if( this.mIsOn ) {
obj=3Dthis.ChgState( gHiliteClr,gShadowClr,2 )
obj.style.posTop=3D0
}
}
function _IBSetI()
{
if( this.mIsOn ) {
obj=3Dthis.ChgState( gFaceClr,gFaceClr,1 )
obj.style.posTop=3D0=20
}
}
function _IBSetP()
{
if( this.mIsOn ) {
obj=3Dthis.ChgState( gShadowClr,gHiliteClr,2 )
obj.style.posLeft+=3D1; obj.style.posTop+=3D1
}
}
function _IBSetD()
{ =20
obj=3Dthis.ChgState( gFaceClr,gFaceClr,0 )
obj.style.posTop=3D0=20
}
function _IBSetE( state )
{
var t=3Dthis
GetObj( t.mBorderId ).style.visibility=3D"visible"
if( state !=3D t.mIsOn ) {
t.mIsOn=3Dstate
if( state )
t.SetInactive()
else
t.SetDisabled()
}
}
function _IBP()
{
var t=3Dthis
if( t.mIsOn ) {
if( t.UserAction !=3D null )
t.UserAction()
if( t.ChangeIcon ) {
obj=3DGetObj(t.mObjId)
if( t.ChangeIcon() )
obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-4)*t.mWidth
else
obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-0)*t.mWidth
}
t.SetActive()
} =20
}
function _IBUI( clr1,clr2,nextState )
{
var t=3Dthis
SetBorder( GetObj( t.mBorderId ),clr1,clr2 )
obj=3DGetObj( t.mObjId )
obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-nextState)*t.mWidth-obj=
.style.posTop
t.mCurState=3DnextState
return obj
}
//-----------------------------------------
function TxtBtn( oId,oeId,action,chkState )
//-----------------------------------------
{
var t=3Dthis
t.Perform =3D _TBP
t.SetActive =3D _TBSetA
t.SetInactive=3D _TBSetI
t.SetPressed =3D _TBSetP
t.SetDisabled=3D _TBSetD
t.SetEnabled =3D _TBSetE
t.GetState =3D chkState
t.UserAction =3D action
t.ChgState =3D _TBUI
t.mObjId =3D oId
t.m_elementsId=3D oeId
t.mIsOn =3D 1
}
function _TBSetA()
{
var t=3Dthis
if( t.mIsOn && !t.GetState() )
t.ChgState( gHiliteClr,gShadowClr,0,0 )
}
function _TBSetI()
{
var t=3Dthis
if( t.mIsOn && !t.GetState() )
t.ChgState( gFaceClr,gFaceClr,0,0 )
}
function _TBSetP()
{
if( this.mIsOn )
this.ChgState( gShadowClr,gHiliteClr,1,1 )
}
function _TBSetD()
{ =20
this.ChgState( gFaceClr,gFaceClr,0,0 )
this.mIsOn =3D 0
}
function _TBSetE()
{
var t=3Dthis
if( !t.GetState() )
t.ChgState( gFaceClr,gFaceClr,0,0 )
else
t.ChgState( gShadowClr,gHiliteClr,1,1 )
t.mIsOn =3D 1
}
function _TBP()
{
var t=3Dthis
if( t.mIsOn ) {=20
if( t.UserAction !=3D null )
t.UserAction()
if( !t.GetState )
return
if( t.GetState() )
t.SetPressed()
else
t.SetActive()
} =20
}
function _TBUI( clr1,clr2,lOffset,tOffset )
{
SetBorder( GetObj( this.mObjId ),clr1,clr2 )
Offset( GetObj( this.m_elementsId ),lOffset,tOffset )
}
function Offset( obj, top, left ){ obj.style.top=3Dtop; obj.style.left=3Dle=
ft }
function SetBorder( obj, upperLeft, lowerRight )
{
s=3Dobj.style;
s.borderStyle =3D "solid"
s.borderWidth =3D 1=20
s.borderLeftColor =3D s.borderTopColor =3D upperLeft
s.borderBottomColor=3D s.borderRightColor =3D lowerRight
}
function GetBtnObj(){ return gBtnArr[window.event.srcElement.id] }
function BtnOnOver(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetActive() }
function BtnOnDown(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetPressed() }
function BtnOnOut(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetInactive() }
function BtnOnUp()
{
b=3DGetBtnObj()
if( b !=3D null )
b.Perform()
else
Upd()
}
function GetNtsState(){ return parent.gNtsOpen }
function GetOtlState(){ return parent.gOtlOpen }
function GetOtlTxtState(){ return parent.gOtlTxtExp }
function NtsBtnSetFlag( fVal )
{
s=3Ddocument.all.item( this.m_flagId ).style
s.display=3D"none"
if( fVal )
s.display=3D""
else
s.display=3D"none"
}
function _BSetA_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S=
etActive() }
function _BSetI_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S=
etInactive() }
function _BSetP_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S=
etPressed() }
function _BSetA_BorderImg()
{=20
b =3D gBtnArr[this.mBorderId]=20
if( b !=3D null && this.mIsOn && !b.GetState() ) {
obj=3Dthis.ChgState( gHiliteClr,gShadowClr,2 )
obj.style.posTop=3D0
}
}
function _BSetI_BorderImg()
{=20
b =3D gBtnArr[this.mBorderId]
if( b !=3D null && this.mIsOn && !b.GetState() ) {
obj=3Dthis.ChgState( gFaceClr,gFaceClr,1 )
obj.style.posTop=3D0
}
}
var gHiliteClr=3D"THREEDHIGHLIGHT",gShadowClr=3D"THREEDSHADOW",gFaceClr=3D"=
THREEDFACE"
var gBtnArr =3D new Array()
gBtnArr["nb_otl"] =3D new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPan=
e,GetOtlState )
gBtnArr["nb_otlElem"] =3D new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOt=
lPane,GetOtlState )
gBtnArr["nb_nts"] =3D new ImgBtn( "nb_nts","nb_ntsBorder",10,parent.ToggleN=
tsPane )
gBtnArr["nb_nts"].SetActive =3D _BSetA_BorderImg;
gBtnArr["nb_nts"].SetInactive =3D _BSetI_BorderImg;
gBtnArr["nb_ntsBorder"] =3D new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.=
ToggleNtsPane,GetNtsState )
gBtnArr["nb_ntsElem"] =3D new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.To=
ggleNtsPane,GetNtsState )
gBtnArr["nb_prevBorder"] =3D gBtnArr["nb_prev"]=3D new ImgBtn( "nb_prev","n=
b_prevBorder",30,parent.GoToPrevSld )
gBtnArr["nb_nextBorder"] =3D gBtnArr["nb_next"]=3D new ImgBtn( "nb_next","n=
b_nextBorder",30,parent.GoToNextSld )
gBtnArr["nb_sldshw"]=3D new ImgBtn( "nb_sldshw","nb_sldshwBorder",18,parent=
.FullScreen )
gBtnArr["nb_sldshwBorder"] =3D new TxtBtn( "nb_sldshw","nb_sldshwBorder",pa=
rent.FullScreen,null )
gBtnArr["nb_sldshwBorder"].SetActive =3D _BSetA_Border;
gBtnArr["nb_sldshwBorder"].SetInactive =3D _BSetI_Border;
gBtnArr["nb_sldshwText"] =3D new TxtBtn( "nb_sldshw","nb_sldshwText",parent=
.FullScreen,null )
gBtnArr["nb_sldshwText"].SetActive =3D _BSetA_Border;
gBtnArr["nb_sldshwText"].SetInactive =3D _BSetI_Border;
gBtnArr["nb_voice"] =3D gBtnArr["nb_voiceBorder"] =3D new ImgBtn( "nb_voice=
","nb_voiceBorder",18,parent.ToggleVNarration )
gBtnArr["nb_otlTxtBorder"] =3D gBtnArr["nb_otlTxt"]=3D new ImgBtn( "nb_otlT=
xt","nb_otlTxtBorder",23,parent.ToggleOtlText )
gBtnArr["nb_ntsBorder"].m_flagId=3D "nb_nts"
gBtnArr["nb_ntsBorder"].SetFlag =3D NtsBtnSetFlag
gBtnArr["nb_otlTxt"].ChangeIcon=3D GetOtlTxtState
/*********************************************
Context menu implementation
_CM() is the function that's hooked up to
the oncontextmenu event. Once we're asked to
show the menu, we first build it by creating
DIVs on-the-fly. Then we position it=20
within the screen area so it doesn't get
clipped.
Creating the DIVs using createElement() means
we don't have to write out any extra HTML
into the slide HTML files.
**********************************************/
var sNext=3D"次へ",sPrev=3D"前へ",sEnd=3D"スライド ショーの終了",sFont=3D"=
lS 明朝",sArrow=3D"矢印",sFreeform=3D"フリーフォーム",sRect=3D"四角形",sOv=
al=3D"楕円"
function ShowMenu()
{
BuildMenu();
var doc=3DPPTSld.document.body,x=3DPPTSld.event.clientX+doc.scrollLeft,y=
=3DPPTSld.event.clientY+doc.scrollTop
m =3D PPTSld.document.all.item("ctxtmenu")
m.style.pixelLeft=3Dx
if( (x+m.scrollWidth > doc.clientWidth)&&(x-m.scrollWidth > 0) )
m.style.pixelLeft=3Dx-m.scrollWidth
m.style.pixelTop=3Dy
if( (y+m.scrollHeight > doc.clientHeight)&&(y-m.scrollHeight > 0) )
m.style.pixelTop=3Dy-m.scrollHeight
m.style.display=3D""
}
function _CM()
{
if( !parent.IsFullScrMode() ) return;
if(!PPTSld.event.ctrlKey) {
ShowMenu()
return false
} else
HideMenu()
}
function BuildMenu()
{
if( PPTSld.document.all.item("ctxtmenu") ) return
var mObj=3DCreateItem( PPTSld.document.body )
mObj.id=3D"ctxtmenu"
mObj.style.visibility=3D"hidden"
var s=3DmObj.style
s.position=3D"absolute"
s.cursor=3D"default"
s.width=3D"120px"
SetCMBorder(mObj,"menu","black")
var iObj=3DCreateItem( mObj )
SetCMBorder( iObj, "threedhighlight","threedshadow" )
iObj.style.padding=3D2
CreateMenuItem( iObj,sNext,M_GoNextSld,M_True )
CreateMenuItem( iObj,sPrev,M_GoPrevSld,M_HasPrevSld )
=09
CreateSeparator( iObj )
CreateMenuItem( iObj,sEnd,M_End,M_True )
mObj.style.visibility=3D"visible"
}
function Cancel() { window.event.cancelBubble=3Dtrue; window.event.returnVa=
lue=3Dfalse }
function Highlight() { ChangeClr("activecaption","threedhighlight") }
function Deselect() { ChangeClr("threedface","menutext") }
function Perform()
{
e=3DPPTSld.event.srcElement
if( e.type=3D=3D"menuitem" && e.IsActive() )
e.Action()
else
PPTSld.event.cancelBubble=3Dtrue
}
function ChangeClr( bg,clr )
{
e=3DPPTSld.event.srcElement
if( e.type=3D=3D"menuitem" && e.IsActive() ) {
e.style.backgroundColor=3Dbg
e.style.color=3Dclr
}
}
function M_HasPrevSld() { return( parent.HasPrevSld() ) }
function M_GoNextSld() { if( gIsEndShow ) M_End(); else GoToNextSld() }
function M_GoPrevSld() { if( gIsEndShow ) { gIsEndShow=3D0; history.back();=
PPTSld.event.cancelBubble=3Dtrue; } else GoToPrevSld() }
function M_True() { return true }
function M_End() { window.close( self ) }
function CreateMenuItem( node,text,action,eval )
{
var e=3DCreateItem( node )
e.type=3D"menuitem"
e.Action=3Daction
e.IsActive=3Deval
e.innerHTML=3Dtext
if( !e.IsActive() )
e.style.color=3D"threedshadow"
e.onclick=3DPerform
e.onmouseover=3DHighlight
e.onmouseout=3DDeselect
s=3De.style;
s.fontFamily=3DsFont
s.fontSize=3D"9pt"
s.paddingLeft=3D2
}
function CreateSeparator( node )
{
var sObj=3DCreateItem( node )
SetCMBorder(sObj,"menu","menu")
var s=3DsObj.style
s.borderTopColor=3D"threedshadow"
s.borderBottomColor=3D"threedhighlight"
s.height=3D1
s.fontSize=3D"0px"
}
function CreateItem( node )
{
var elem=3DPPTSld.document.createElement("DIV")
node.insertBefore( elem )
return elem
}
function SetCMBorder( o,ltClr,rbClr )
{
var s=3Do.style
s.backgroundColor=3D"menu"
s.borderStyle=3D"solid"
s.borderWidth=3D1
s.borderColor=3DltClr+" "+rbClr+" "+rbClr+" "+ltClr
}
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/fullscreen.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/buttons.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhWAESAPf4AAAAAIAAAACAAICAAAAAgIAAgACAgICAgAQEBISEBASEBISEhAQEhMTExAQE
/KTM9Pz8/ERERPz8BAT8/KSkpGRkhMTcxCRkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAMDAwP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAPgALAAAAABYARIA
QAj/APEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGCEiQKCRo8YDIEHig2DxAD4LKD1avDDhgUuV
GUOGbHBR5QGYFBG4fHAB58EKECJEwCfUYAWPFGAygLCRKQIIUKM6WAohKUGgCikcFWh1INWoYKVS
7SrQ41GbIhGYLAuVQVOoC+IyXUuUAkG1HE3KFDhAwkgJc5/qDZmxsOHDiBMrXsy4sePDGyP7lChT
5MULmDPnlDw5YmW6FTNrfgi0aNGEZPEtbfo2bNTUpYeeRph69dPWrqvCNFuBIGG1A59CYPAVQtwF
cw0OxWdTIOiBCQAjaAB17fOFII8voGmRc+eOkilm/z9OvTtnjN4hYk1YoT3H2rnBOphPAB9skgq3
2lcaX/5YnJVt9BloAar12UEIRGCZdQghMABI1Tn32IQUVthYexhmqGGGMBHAgIfEhSiiiATAtOGJ
GnYI4ogsEldicAYOGNJGZaml3Y0L3NTZUBz1xlB0PUoUI0jlVWRSVN89xBKSGB1YU1TMoRfVBEle
hR9HQs1GEHxQ3RZZbveZthxt/LEmXHyp5XWABSCpaRJwbM13gAACPHVccgJFgF+NEhqUAEkQSCfc
ddhVhh5dVTaEAEsTUNlkZUWKN9BNGDE6QU8OrSdbllzpxyVTTrU21Uj3scfhp7nNpyoDaTIEJ3P9
If8J2kbLNYegg9JRBwGhFvbq66+ZUiDssMQWK2yHxiZLrInKNotss8l+B5yBrr5p2UIJvortANoC
6+234IbLla/elRtZjeamh5CC3Sb0YLvixivvYkDFGlZqBNh7r4n6goVvv6/ZlCicN+kL71ALTnpQ
dCIZp7CihkLA3UQmoWRBogyxtBPGCTnZncVR1rSTo5nuydC/Eo8kUH+lOoTyyvjoCuZu+PjYIKLD
rZybtrM1d10C0QXKEVz48GrQkEeWdFJKlbb0UmEeV0SzyC6RvNB646LWIVjUNeC1zAFb+RDKXksM
9r531bwmpQW9+hQDDsx5pqwDRWBXcFES2hc+gEn/wJGdEEWdE6LoWcoxQweaTNmkhydkKaYMYY2Q
p1unbLl/pPKbn3v7EZRvrKvqlja2ONvrtoIw9tn2g32/tQBlhtYkU+MNikZ7QYlPDPuMldpOmuJX
nVo5VF3HjI+q89mteX5IDd/fVFClma5kiE4f2XUJhlz09gj2NbTDRifkmu7zXjR++RVJ/lPznuvr
QH2iD6S+UewP9Dnon6d2NLwN8n90BB6hC68cFMCHoe+ACASP9c4DowUyEF0OPFcDI0ij/VXPaAKC
UfhS95AKGoQ7IBRICI1HwhGaUIQoLGEKT6jCFrLwhSuMoQtlCMMZ2rCGOKShDm+4wxzy8Ic+DGIP
B4cIRCKGMCAAOy==
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/frame.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ITプランニング演習 アルゴリズム
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/outline.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="shift_jis"
ノ=
ート
1
2
3
並び替え
下記ルールの元,ロボットに昇順並替をさせる命令書を作れ.
8つの箱に8個の数字が入っている.
箱には名前がついていて,箱の名前は,a[0], a[1], …, a[7].
ロボットは数字を一つだけ記憶できる.
ロボットの記憶用箱の名前は m.新しい数字を記憶する場合は,前の数=
嘯ノ上書きされるが,一度覚えれば上書きされない限り記憶できる.
ロボットは箱の中の数字を「消去」「記憶」「上書」できる.
ロボットは,今見ている数字と記憶箱 m の数字の 大小を
「比較」できる.
4
並び替え
ロボットに昇順並替をさせる命令書を作れ.
8つの箱に入っている8個の数字の値を,我々は知らない(通常はこの通り=
,事前にわからないことが殆ど).前ページで,数値がわかっていることを前提と=
オたアルゴリズムだった場合は,書き直せ.
5
6
並び替えのアルゴリズム(基本編)
基本選択法(直接選択法)
a[i]〜a[n-1]で最小項を探しa[i]と交換,
を i=3D0,…,n-2 繰り返し
基本交換法(バブルソート)
a[i]〜a[n-1]で隣接2項を比較し交換(小左へ)
しつつ右へ移動(この操作で最大が最右へ),
を i=3D0,…,n-2 繰り返し
シェーカーソート〔バブルソートの改良版〕
基本挿入法
既整列部分列 a[0]〜a[i-1] に a[i] を挿入
(a[i-1]とa[i]を比較,a[i-2]とa[i]を比較,…)
を i=3D1,…,n-1 繰り返し
7
並び替えのアルゴリズム(改良版)
改良選択法(ヒープソート)
ヒープ(親<子を満たす完全2分木)作成,
交換(ルートと最後)・切り離し(最後)
修正(ヒープの保持)の繰り返し
改良交換法(クイックソート)
数列中の適当な値を選び,その値
より小さい数を左,大きい数を右に,
を繰り返し
改良挿入法(シェルソート)
gap毎に基本挿入法を行い,
gap縮小(例は1/2毎)を繰り返し
おおざっぱに → 詳細に
8
並び替えのアルゴリズム(その他のソート)
マージソート
数列を1つずつの数値から結合
(マージ)しつつ,ソートする
(結合の際,小さい数同士を比較)
ラディックスソート(基数ソート)
0〜9のバケットを用意し,数列の
各数値の1の位を見て,対応する
バケットに入れる
0〜9のバケット順に数値を取出し
並べる(各バケットは「キュー」)
10の位以降,桁を上げて繰り返し
特徴は,数値の「比較」をしないこと
9
並び替えの計算量
演習2:それぞれのアルゴリズムは実行にどのぐらいの時間が掛かりますか=
?
反復に要する回数は?
最悪計算量は?
最良計算量は?
平均計算量は?
演習3:それぞれのアルゴリズムはどのぐらいのメモリ容量が必要ですか?=
10
11
12
数当てゲーム
2分探索
クイック(?)探索
探索範囲を2分割するが,
分割基準はランダムに選ぶ
13
ハノイの塔
Aにある3つの円盤を,全てCに移したい
ただし,以下のルールを守らねばならない
円盤は,一度に1枚のみ移動できる
小さな円盤の上に,大きな円盤を置くことはできない
最小回数で円盤を移動させるアルゴリズムを書け
14
ハノイの塔
円盤が4枚あったらどうなるか?
円盤が5枚あったらどうなるか?
宿題1:円盤がn枚あったらどうなるか?(n=3D3,4,5,…,100,…)
宿題2:円盤が100枚あったら何秒かかるか?(1回=3D1秒として)
15
ウサギと猟師
周回する狩場で,ウサギ・猟師は毎時刻どこか1マスに存在
ウサギは最初に確率1/2で右か左に行くことを決め,以降はその方向に毎時=
間1マスずつ進む
猟師はウサギと同じマス目に入れば,ウサギを狩れる
ウサギを捕まえるため
の猟師のアルゴリズムを
考えよ
捕まらないようウサギ
のアルゴリズムを考えよ
16
浅野孝夫 「情報の構造・上」 日本評論社(1994)
浅野孝夫・今井浩 「計算とアルゴリズム」 オーム社(2000)
ソート,ラディックスソート,計算量,ハノイの塔などについて
杉原厚吉 「データ構造とアルゴリズム」 共立出版(2001)
茨木俊秀 「Cによるアルゴリズムとデータ構造」 昭晃堂(1999)
ソートなどのアルゴリズムのCへの効率的実装について
河西朝雄 「C言語によるはじめてのアルゴリズム入門」 技術評論社(1992=
j
ソートの分類,ソート・ハノイの塔などのCプログラムについて
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/oledata.mso
Content-Transfer-Encoding: base64
Content-Type: application/x-mso
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
EAAAAgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////9
/////v////7///8EAAAA/v//////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////1IA
bwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAc2Mn1JMgB
AwAAAMADAAAAAAAAMgA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAYAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAvwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAD+////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////8AFAAA
eJztWE1IVFEUPve+adTn5M9LLQYXr6CQ1GFUCBSUooxaNIm2KxdjjDTizKgzJbZpSIhBIiqqVQS5
CIrobxWtpEW0qqAWEgUGFv1RBi3EKadz3r3vOg6Vo0SkzRnue+e75/68c8/PPcyTx6UTl2+7X0EG
tYAGs6kCcKb1MWzcBiUADtk3m0qlqEvDlsrRsqJ2iOAvBia0QhjfAzCU6Qq/pQpYpWxO/sAfCQ8Z
E+Kd6WPjjRNt78yHbDXxq2yf2gu9EFjUnumkA2e0t+172cwpxVYm+Vboh8PgR82DeA5hPAefREey
+ioTIyL9PLPZvxjbeckz2I77hqAPz6ELerKZPo+MJexP598teR3b9wV8ZFY2F4hYL4RcnK8U+pvx
f/rls3aK/3zIxf+/Ev/2PDIH5QE71vNAxLoTcrG+ksmu6Sh+KH7JD8jmZH+K0wIQdwTlfMr/a7AV
Sd8osfxP8NQopsolztHyIC7zbxtm/gBEwWv9sqd1mH9tH6L1sp33VlvEJgtQuj5/btX/Y3+2sXuc
4r6WcSv+p9CaFPf1+nWtqogsWy/xKaaXEu5U+F4x4f0Kt6yeL9/lSpfHeVk+4TqFRx2EmxSu0AjX
KHyAE/Yq/ALE+Ep8Jnl8Vmhw2vI/B4eSfcFQIGr6AoNmeyTkD0Pi6ufBM9hM75fBOT2Z1JOr7zxZ
Qiv0KOy09PIr/MDSI6jwucI5OcNsp+nCBpm1z1p87AkeHIhEI90xs7X/sD8WjITNBo/XSqU7OlSf
lV5t4GmAr413+rOzH50Fh4v37art1jE3OC6VW7zGmKbrzBgOAj/eBPxEM/CEF/kaMIZ7VJ8xHMa3
sYEn6vB9dr2G+Z9pmORxph9H7QexQidKq2Guj1boZGl/CSyNGE/U05tfmJrmF5LTi5tNflHlJHuE
lZ980tLtGeceEPaje2yTsxjfZC2mzi/JDWss+RI+4oxz3jEUjQVCME5+QzfgehixJpCyk28MyIyZ
X6Uz3zbf7sVp9HeJTsK++5nEtkEDeKHfRMEVjWRYCWhPGVUKlZaUKoUCbnPiFiCOcUpDxHnYOtlX
qMa5+FZH3KCqgSzhlncGVRJjyN3FthWF05qoOGiMC/b4Y4f2DfVhOT5h2WmGixkgv7uWibXLuMmP
FhK3BrmR0sw8QZ9JeaJjKNQV6QXoqtJfP5w0fpknhP+4tVEr781I/FzipMTX2Hy5WxvXCb9X4wX+
oMbPl59iH628Wa381VFA+IbCm/MI1yr8zcqbzQpvYQL/RN8F8+IPvxPNlP//////8fjy+PP4///i
BAAArfv//+cEAACn+///6gQAAKH7///rBAAAmvv//+kEAACZ+///7AQAAJX7///xBAAA
------=_NextPart_01C82541.38D3B680
Content-Location: file:///C:/A5565D6D/07IT_algorithm.files/filelist.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml; charset="utf-8"