²¬» . . . . . . . . . . . . . . . . . . . . . . . . . · 2016-10-31 · 2 5.5.1. ¥° ¥¢¼¿...
TRANSCRIPT
-
£« ¢«¥¨¥
1 ¢¥¤¥¨¥ 7
1.1. «£®°¨²¬» . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. «¨§ «£®°¨²¬®¢ . . . . . . . . . . . . . . . . . . . . 11
1.3. ®±²°®¥¨¥ «£®°¨²¬®¢ . . . . . . . . . . . . . . . . . 15
1.3.1. °¨¶¨¯ À° §¤¥«¿© ¨ ¢« ±²¢³©Á . . . . . . . . . 16
1.3.2. «¨§ «£®°¨²¬®¢ ²¨¯ À° §¤¥«¿© ¨ ¢« ±²¢³©Á 17
I ²¥¬ ²¨·¥±ª¨¥ ®±®¢» «¨§ «£®°¨²¬®¢ 24
¢¥¤¥¨¥25
2 ª®°®±²¼ °®±² ´³ª¶¨© 26
2.1. ±¨¬¯²®²¨·¥±ª¨¥ ®¡®§ ·¥¨¿ . . . . . . . . . . . . . 26
2.2. ² ¤ °²»¥ ´³ª¶¨¨ ¨ ®¡®§ ·¥¨¿ . . . . . . . . . 30
3 ³¬¬¨°®¢ ¨¥ 39
3.1. ³¬¬» ¨ ¨µ ±¢®©±²¢ . . . . . . . . . . . . . . . . . . . 39
3.2. ¶¥ª¨ ±³¬¬ . . . . . . . . . . . . . . . . . . . . . . . . 43
4 ¥ª³°°¥²»¥ ±®®²®¸¥¨¿ 49
4.1. ¥²®¤ ¯®¤±² ®¢ª¨ . . . . . . . . . . . . . . . . . . . . 50
4.2. °¥®¡° §®¢ ¨¥ ¢ ±³¬¬³ . . . . . . . . . . . . . . . . . 53
4.3. ¡¹¨© °¥¶¥¯² . . . . . . . . . . . . . . . . . . . . . . . 56
? 4.4 ®ª § ²¥«¼±²¢® ¥®°¥¬» 4.1 . . . . . . . . . . . . . . . 59
4.4.1. «³· © ²³° «¼»µ ±²¥¯¥¥© . . . . . . . . . 59
4.4.2. ¥«»¥ ¯°¨¡«¨¦¥¨¿ ±¢¥°µ³ ¨ ±¨§³ . . . . . . . 63
5 ®¦¥±²¢ 71
5.1. ®¦¥±²¢ . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2. ²®¸¥¨¿ . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3. ³ª¶¨¨ . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.4. ° ´» . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.5. ¥°¥¢¼¿ . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
-
2
5.5.1. ¥°¥¢¼¿ ¡¥§ ¢»¤¥«¥®£® ª®°¿ . . . . . . . . . 87
5.5.2. ¥°¥¢¼¿ ± ª®°¥¬. °¨¥²¨°®¢ »¥ ¤¥°¥¢¼¿ . 89
5.5.3. ¢®¨·»¥ ¤¥°¥¢¼¿. ®§¨¶¨®»¥ ¤¥°¥¢¼¿ . . . 91
6 ®¬¡¨ ²®°¨ª ¨ ¢¥°®¿²®±²¼ 96
6.1. ®¤±·¥² ª®«¨·¥±²¢ . . . . . . . . . . . . . . . . . . . . 96
6.2. ¥°®¿²®±²¼ . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2.1. ¨±ª°¥²®¥ ° ±¯°¥¤¥«¥¨¥ ¢¥°®¿²®±²¥© . . . 103
6.3. ¨±ª°¥²»¥ ±«³· ©»¥ ¢¥«¨·¨» . . . . . . . . . . . . 108
6.4. ¥®¬¥²°¨·¥±ª®¥ ¨ ¡¨®¬¨ «¼®¥ ° ±¯°¥¤¥«¥¨¿ . . . . 113
6.5. ¢®±²» ¡¨®¬¨ «¼®£® ° ±¯°¥¤¥«¥¨¿ . . . . . . . . . 118
6.6. ¥°®¿²®±²»© «¨§ . . . . . . . . . . . . . . . . . . 123
6.6.1. ° ¤®ª± ¤¿ °®¦¤¥¨¿ . . . . . . . . . . . . . 123
6.6.2. °» ¨ ³°» . . . . . . . . . . . . . . . . . . . 125
6.6.3. · ±²ª¨ ¯®¢²®°¿¾¹¨µ±¿ ¨±µ®¤®¢ . . . . . . . . 126
II ®°²¨°®¢ª ¨ ¯®°¿¤ª®¢»¥ ±² ²¨±²¨ª¨ 132
¢¥¤¥¨¥133
7 ®°²¨°®¢ª ± ¯®¬®¹¼¾ ª³·¨ 136
7.1. ³·¨ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.2. ®µ° ¥¨¥ ®±®¢®£® ±¢®©±²¢ ª³·¨ . . . . . . . . . . 138
7.3. ®±²°®¥¨¥ ª³·¨ . . . . . . . . . . . . . . . . . . . . . 140
7.4. «£®°¨²¬ ±®°²¨°®¢ª¨ ± ¯®¬®¹¼¾ ª³·¨ . . . . . . . . 143
7.5. ·¥°¥¤¨ ± ¯°¨®°¨²¥² ¬¨ . . . . . . . . . . . . . . . . . 143
8 »±²° ¿ ±®°²¨°®¢ª 148
8.1. ¯¨± ¨¥ ¡»±²°®© ±®°²¨°®¢ª¨ . . . . . . . . . . . . . 148
8.2. ¡®² ¡»±²°®© ±®°²¨°®¢ª¨ . . . . . . . . . . . . . . . 151
8.3. ¥°®¿²®±²»¥ «£®°¨²¬» ¡»±²°®© ±®°²¨°®¢ª¨ . . . 155
8.4. «¨§ ¡»±²°®© ±®°²¨°®¢ª¨ . . . . . . . . . . . . . . . 157
8.4.1. «¨§ ¨µ³¤¸¥£® ±«³· ¿ . . . . . . . . . . . . 157
8.4.2. «¨§ ±°¥¤¥£® ¢°¥¬¥¨ ° ¡®²» . . . . . . . . 158
9 ®°²¨°®¢ª § «¨¥©®¥ ¢°¥¬¿ 166
9.1. ¨¦¨¥ ®¶¥ª¨ ¤«¿ ±®°²¨°®¢ª¨ . . . . . . . . . . . . . 166
9.2. ®°²¨°®¢ª ¯®¤±·¥²®¬ . . . . . . . . . . . . . . . . . . 169
9.3. ¨´°®¢ ¿ ±®°²¨°®¢ª . . . . . . . . . . . . . . . . . . . 171
9.4. ®°²¨°®¢ª ¢»·¥°¯»¢ ¨¥¬ . . . . . . . . . . . . . . . 174
10 ¥¤¨ » ¨ ¯®°¿¤ª®¢»¥ ±² ²¨±²¨ª¨ 180
10.1. ¨¨¬³¬ ¨ ¬ ª±¨¬³¬ . . . . . . . . . . . . . . . . . . 181
10.2. »¡®° § «¨¥©®¥ ¢ ±°¥¤¥¬ ¢°¥¬¿ . . . . . . . . . . 182
10.3. »¡®° § «¨¥©®¥ ¢ µ³¤¸¥¬ ±«³· ¥ ¢°¥¬¿ . . . . . . 185
-
3
III ²°³ª²³°» ¤ »µ 192
¢¥¤¥¨¥193
11 «¥¬¥² °»¥ ±²°³ª²³°» ¤ »µ 197
11.1. ²¥ª¨ ¨ ®·¥°¥¤¨ . . . . . . . . . . . . . . . . . . . . . . 197
11.2. ¢¿§ »¥ ±¯¨±ª¨ . . . . . . . . . . . . . . . . . . . . . 201
11.3. ¥ «¨§ ¶¨¿ ³ª § ²¥«¥© ¨ § ¯¨±¥© ± ¥±ª®«¼ª¨¬¨ ¯®«¿¬¨206
11.4. °¥¤±² ¢«¥¨¥ ª®°¥¢»µ ¤¥°¥¢¼¥¢ . . . . . . . . . . . 210
12 ¥¸-² ¡«¨¶» 217
12.1. °¿¬ ¿ ¤°¥± ¶¨¿ . . . . . . . . . . . . . . . . . . . . . 217
12.2. ¥¸-² ¡«¨¶» . . . . . . . . . . . . . . . . . . . . . . . . 219
12.3. ¥¸-´³ª¶¨¨ . . . . . . . . . . . . . . . . . . . . . . . 225
12.3.1. ¥«¥¨¥ ± ®±² ²ª®¬ . . . . . . . . . . . . . . . . 226
12.3.2. ¬®¦¥¨¥ . . . . . . . . . . . . . . . . . . . . . 227
12.3.3. ¨¢¥°± «¼®¥ µ¥¸¨°®¢ ¨¥ . . . . . . . . . . . 228
12.4. ²ª°»² ¿ ¤°¥± ¶¨¿ . . . . . . . . . . . . . . . . . . . 231
13 ¢®¨·»¥ ¤¥°¥¢¼¿ ¯®¨±ª 242
13.1. ²® ² ª®¥ ¤¢®¨·®¥ ¤¥°¥¢® ¯®¨±ª ? . . . . . . . . . . 243
13.2. ®¨±ª ¢ ¤¢®¨·®¬ ¤¥°¥¢¥ . . . . . . . . . . . . . . . . . 245
13.3. ®¡ ¢«¥¨¥ ¨ ³¤ «¥¨¥ ½«¥¬¥² . . . . . . . . . . . . 248
? 13.4 «³· ©»¥ ¤¢®¨·»¥ ¤¥°¥¢¼¿ ¯®¨±ª . . . . . . . . . . 252
14 ° ±®-·¥°»¥ ¤¥°¥¢¼¿ 262
14.1. ¢®©±²¢ ª° ±®-·¥°»µ ¤¥°¥¢¼¥¢ . . . . . . . . . . . 262
14.2. ° ¹¥¨¿ . . . . . . . . . . . . . . . . . . . . . . . . . . 264
14.3. ®¡ ¢«¥¨¥ ¢¥°¸¨» . . . . . . . . . . . . . . . . . . . 267
14.4. ¤ «¥¨¥ . . . . . . . . . . . . . . . . . . . . . . . . . . 271
15 ®¯®«¥¨¥ ±²°³ª²³° ¤ »µ 280
15.1. ¨ ¬¨·¥±ª¨¥ ¯®°¿¤ª®¢»¥ ±² ²¨±²¨ª¨ . . . . . . . . . 280
15.2. ¡¹ ¿ ±µ¥¬ ° ¡®²» ± ¤®¯®«¨²¥«¼®© ¨´®°¬ ¶¨¥© 285
15.3. ¥°¥¢¼¿ ¯°®¬¥¦³²ª®¢ . . . . . . . . . . . . . . . . . . . 288
IV ¥²®¤» ¯®±²°®¥¨¿ ¨ «¨§ «£®°¨²¬®¢ 296
¢¥¤¥¨¥297
16 ¨ ¬¨·¥±ª®¥ ¯°®£° ¬¬¨°®¢ ¨¥ 299
16.1. ¥°¥¬®¦¥¨¥ ¥±ª®«¼ª¨µ ¬ ²°¨¶ . . . . . . . . . . . 300
16.2. ®£¤ ¯°¨¬¥¨¬® ¤¨ ¬¨·¥±ª®¥ ¯°®£° ¬¬¨°®¢ ¨¥ . 307
16.3. ¨¡®«¼¸ ¿ ®¡¹ ¿ ¯®¤¯®±«¥¤®¢ ²¥«¼®±²¼ . . . . . . 312
16.4. ¯²¨¬ «¼ ¿ ²°¨ £³«¿¶¨¿ ¬®£®³£®«¼¨ª . . . . . 317
-
4
17 ¤»¥ «£®°¨²¬» 326
17.1. ¤ · ® ¢»¡®°¥ § ¿¢®ª . . . . . . . . . . . . . . . . . . 326
17.2. ®£¤ ¯°¨¬¥¨¬ ¦ ¤»© «£®°¨²¬? . . . . . . . . . . 330
17.3. ®¤» ´´¬¥ . . . . . . . . . . . . . . . . . . . . . . 333
? 17.4 ¥®°¥²¨·¥±ª¨¥ ®±®¢» ¦ ¤»µ «£®°¨²¬®¢ . . . . . . 341
17.4.1. ²°®¨¤» . . . . . . . . . . . . . . . . . . . . . 341
17.4.2. ¤»¥ «£®°¨²¬» ¤«¿ ¢§¢¥¸¥®£® ¬ ²°®¨¤ 343
? 17.5 ¤ · ® ° ±¯¨± ¨¨ . . . . . . . . . . . . . . . . . . . 346
18 ¬®°²¨§ ¶¨®»© «¨§ 352
18.1. ¥²®¤ £°³¯¯¨°®¢ª¨ . . . . . . . . . . . . . . . . . . . . 353
18.2. ¥²®¤ ¯°¥¤®¯« ²» . . . . . . . . . . . . . . . . . . . . 356
18.3. ¥²®¤ ¯®²¥¶¨ «®¢ . . . . . . . . . . . . . . . . . . . . 359
18.4. ¨ ¬¨·¥±ª¨¥ ² ¡«¨¶» . . . . . . . . . . . . . . . . . . 362
18.4.1. ±¸¨°¥¨¥ ² ¡«¨¶» . . . . . . . . . . . . . . . 362
18.4.2. ±¸¨°¥¨¥ ¨ ±®ª° ¹¥¨¥ ² ¡«¨¶» . . . . . . 365
V ®«¥¥ ±«®¦»¥ ±²°³ª²³°» ¤ »µ 372
¢¥¤¥¨¥373
19 -¤¥°¥¢¼¿ 376
19.1. ¯°¥¤¥«¥¨¥ -¤¥°¥¢ . . . . . . . . . . . . . . . . . . 379
19.2. ±®¢»¥ ®¯¥° ¶¨¨ ± -¤¥°¥¢¼¿¬¨ . . . . . . . . . . . 381
19.3. ¤ «¥¨¥ ½«¥¬¥² ¨§ -¤¥°¥¢ . . . . . . . . . . . . . 388
20 ¨®¬¨ «¼»¥ ª³·¨ 394
20.1. ¨®¬¨ «¼»¥ ¤¥°¥¢¼¿ ¨ ¡¨®¬¨ «¼»¥ ª³·¨ . . . . . 395
20.1.1. ¨®¬¨ «¼»¥ ¤¥°¥¢¼¿ . . . . . . . . . . . . . . 395
20.1.2. ¨®¬¨ «¼»¥ ª³·¨ . . . . . . . . . . . . . . . . 397
20.2. ¯¥° ¶¨¨ ± ¡¨®¬¨ «¼»¬¨ ª³· ¬¨ . . . . . . . . . . 399
20.2.1. ¡º¥¤¨¥¨¥ ¤¢³µ ª³· . . . . . . . . . . . . . . 400
21 ¨¡® ··¨¥¢» ª³·¨ 413
21.1. ²°®¥¨¥ ´¨¡® ··¨¥¢®© ª³·¨ . . . . . . . . . . . . . 414
21.2. ¯¥° ¶¨¨, ¯°¥¤³±¬®²°¥»¥ ¤«¿ ±«¨¢ ¥¬»µ ª³· . . . 416
21.3. ¬¥¼¸¥¨¥ ª«¾· ¨ ³¤ «¥¨¥ ¢¥°¸¨» . . . . . . . . 425
21.4. ¶¥ª ¬ ª±¨¬ «¼®© ±²¥¯¥¨ . . . . . . . . . . . . . 429
22 ¨±²¥¬» ¥¯¥°¥±¥ª ¾¹¨µ±¿ ¬®¦¥±²¢ 434
22.1. ¯¥° ¶¨¨ ± ¥¯¥°¥±¥ª ¾¹¨¬¨±¿ ¬®¦¥±²¢ ¬¨ . . . . 434
22.2. ¥ «¨§ ¶¨¿ ± ¯®¬®¹¼¾ ±¯¨±ª®¢ . . . . . . . . . . . . . 437
22.2.1. °®£° ¬¬» . . . . . . . . . . . . . . . . . . . . 441
23 «£®°¨²¬» £° ´ µ 452
23.1. ±®¢»¥ «£®°¨²¬» £° ´ µ . . . . . . . . . . . . 453
-
5
23.1.1. °¥¤±² ¢«¥¨¥ £° ´®¢ . . . . . . . . . . . . . . 453
23.1.2. ®¨±ª ¢ ¸¨°¨³ . . . . . . . . . . . . . . . . . . 456
23.1.3. ®¨±ª ¢ £«³¡¨³ . . . . . . . . . . . . . . . . . . 464
23.1.4. ®¯®«®£¨·¥±ª ¿ ±®°²¨°®¢ª . . . . . . . . . . . 471
23.1.5. ¨«¼® ±¢¿§»¥ ª®¬¯®¥²» . . . . . . . . . . . 473
24 ¨¨¬ «¼»¥ ¯®ª°»¢ ¾¹¨¥ ¤¥°¥¢¼¿ 481
24.1. ®±²°®¥¨¥ ¬¨¨¬ «¼®£® ®±²®¢ . . . . . . . . . . . 482
24.2. «£®°¨²¬» °³±ª « ¨ °¨¬ . . . . . . . . . . . . . 486
25 ° ²· ©¸¨¥ ¯³²¨ ¨§ ®¤®© ¢¥°¸¨» 493
25.1. ° ²· ©¸¨¥ ¯³²¨ ¨ °¥« ª± ¶¨¿ . . . . . . . . . . . . . 497
25.2. «£®°¨²¬ ¥««¬ -®°¤ . . . . . . . . . . . . . . . 507
25.3. ° ²· ©¸¨¥ ¯³²¨ ¢ ¶¨ª«¨·¥±ª®¬ ®°¨¥²¨°®¢ ®¬
£° ´¥ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
25.4. £° ¨·¥¨¿ ° §®±²¨ ¨ ª° ²· ©¸¨¥ ¯³²¨ . . . . 512
26 ° ²· ©¸¨¥ ¯³²¨ ¤«¿ ¢±¥µ ¯ ° ¢¥°¸¨ 522
26.1. «£®°¨²¬ «®©¤ -®°¸®«« . . . . . . . . . . . . . . . 529
27 ª±¨¬ «¼»© ¯®²®ª 546
27.1. ®²®ª¨ ¢ ±¥²¿µ . . . . . . . . . . . . . . . . . . . . . . 547
27.2. ¥²®¤ ®°¤ { «ª¥°±® . . . . . . . . . . . . . . . . 552
27.3. ª±¨¬ «¼®¥ ¯ °®±®·¥² ¨¥ ¢ ¤¢³¤®«¼®¬ £° ´¥ . . 562
27.4. «£®°¨²¬ ¯°®² «ª¨¢ ¨¿ ¯°¥¤¯®²®ª . . . . . . . . . 565
27.5. «£®°¨²¬ ¯®¤¿²¼-¨-¢- · «® . . . . . . . . . . . . . . 574
28 ®°²¨°³¾¹¨¥ ±¥²¨ 586
28.1. ¥²¨ ª®¬¯ ° ²®°®¢ . . . . . . . . . . . . . . . . . . . . 587
28.2. ° ¢¨«® ³«¿ ¨ ¥¤¨¨¶» . . . . . . . . . . . . . . . . . 590
28.3. ¨²®¨·¥±ª¨© ±®°²¨°®¢¹¨ª . . . . . . . . . . . . . . . 592
28.4. «¨¢ ¾¹ ¿ ±¥²¼ . . . . . . . . . . . . . . . . . . . . . . 594
28.5. ®°²¨°³¾¹ ¿ ±¥²¼ . . . . . . . . . . . . . . . . . . . . 596
29 °¨´¬¥²¨·¥±ª¨¥ ±µ¥¬» 601
29.1. µ¥¬» ¨§ ´³ª¶¨® «¼»µ ½«¥¬¥²®¢ . . . . . . . . . 602
29.1.1. ³ª¶¨® «¼»¥ ½«¥¬¥²» . . . . . . . . . . . 602
29.1.2. µ¥¬» ¨§ ´³ª¶¨® «¼»µ ½«¥¬¥²®¢ . . . . . 603
29.1.3. ³¬¬ ²®° . . . . . . . . . . . . . . . . . . . . . 603
29.1.4. «³¡¨ ±µ¥¬» . . . . . . . . . . . . . . . . . . . 604
29.1.5. §¬¥° ±µ¥¬» . . . . . . . . . . . . . . . . . . . 605
29.1.6. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 605
29.2. Cµ¥¬» ¤«¿ ±«®¦¥¨¿ . . . . . . . . . . . . . . . . . . . 605
29.2.1. ±ª ¤®¥ ±«®¦¥¨¥ . . . . . . . . . . . . . . . 606
29.2.2. «®¦¥¨¥ ± ¯°¥¤¢»·¨±«¥¨¥¬ ¯¥°¥®±®¢ . . . . 607
29.2.3. »·¨±«¥¨¥ ²¨¯®¢ ¯¥°¥®± ± ¯®¬®¹¼¾ ¯ ° «-
«¥«¼®© ¯°¥´¨ª±®© ±µ¥¬» . . . . . . . . . . . . 608
-
6
29.2.4. ³¬¬ ²®° ± ¯°¥¤¢»·¨±«¥¨¥¬ ¯¥°¥®±®¢:
®ª®· ¨¥ . . . . . . . . . . . . . . . . . . . . . 609
29.2.5. «®¦¥¨¥ ± § ¯®¬¨ ¨¥¬ ¯¥°¥®±®¢ . . . . . . 610
29.3. µ¥¬» ¤«¿ ³¬®¦¥¨¿ . . . . . . . . . . . . . . . . . . 612
29.3.1. ²°¨·»© ³¬®¦¨²¥«¼ . . . . . . . . . . . . . 612
29.3.2. ° ª²¥°¨±²¨ª¨ ±µ¥¬» . . . . . . . . . . . . . . 614
29.3.3. ¬®¦¥¨¥ ± ¯®¬®¹¼¾ ¤¥°¥¢ ®««¥± . . . . . 614
29.3.4. ° ª²¥°¨±²¨ª¨ ±µ¥¬» . . . . . . . . . . . . . . 615
29.3.5. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 616
29.4. ª²¨°®¢ »¥ ±µ¥¬» . . . . . . . . . . . . . . . . . . 617
29.4.1. ±²°®©±²¢® ¯®¡¨²®¢®£® ±«®¦¥¨¿ . . . . . . . . 617
29.4.2. ° ª²¥°¨±²¨ª¨ ±µ¥¬» . . . . . . . . . . . . . . 618
29.4.3. ±ª ¤®¥ ±«®¦¥¨¥ ¨ ¯®¡¨²®¢®¥ ±«®¦¥¨¥ . . 618
29.4.4. ¤®¬¥°»© ³¬®¦¨²¥«¼ . . . . . . . . . . . . 619
29.4.5. °®±² ¿ °¥ «¨§ ¶¨¿ . . . . . . . . . . . . . . . . 619
29.4.6. »±²° ¿ °¥ «¨§ ¶¨¿ . . . . . . . . . . . . . . . 620
29.5. ¤ ·¨ . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
29.6. ®¬¬¥² °¨¨ . . . . . . . . . . . . . . . . . . . . . . . 623
30 «£®°¨²¬» ¯ ° ««¥«¼»µ ¢»·¨±«¥¨© 625
30.0.1. ° ««¥«¼ ¿ ¬ ¸¨ ± ¯°®¨§¢®«¼»¬ ¤®±²³-
¯®¬ (PRAM) . . . . . . . . . . . . . . . . . . . . 625
30.0.2. ° ««¥«¼»© ¨ ¨±ª«¾·¨²¥«¼»© ¤®±²³¯ ª ¯ -
¬¿²¨ . . . . . . . . . . . . . . . . . . . . . . . . . 626
30.0.3. ¨µ°®¨§ ¶¨¿ . . . . . . . . . . . . . . . . . . 627
30.0.4. « £« ¢» . . . . . . . . . . . . . . . . . . . . . 627
30.1. ¥°¥µ®¤» ¯® ³ª § ²¥«¿¬ . . . . . . . . . . . . . . . . . 628
30.1.1. ®¬¥° ¢ ±¯¨±ª¥ . . . . . . . . . . . . . . . . . . 628
30.1.2. ®°°¥ª²®±²¼ . . . . . . . . . . . . . . . . . . . 630
30.1.3. «¨§ . . . . . . . . . . . . . . . . . . . . . . . 630
30.1.4. ° ««¥«¼ ¿ ®¡° ¡®²ª ¯°¥´¨ª±®¢ ±¯¨±ª . . 631
30.1.5. ¥²®¤ ½©«¥°®¢ ¶¨ª« . . . . . . . . . . . . . . 633
30.2. CRCW- ¨ EREW- «£®°¨²¬» . . . . . . . . . . . . . . . 636
30.2.1. ®«¼§ ¯ ° ««¥«¼®£® ·²¥¨¿ . . . . . . . . . . 636
30.2.2. ®«¼§ ¯ ° ««¥«¼®© § ¯¨±¨ . . . . . . . . . . . 637
30.2.3. ®¤¥«¨°®¢ ¨¥ CRCW-¬ ¸¨» ± ¯®¬®¹¼¾
EREW-¬ ¸¨» . . . . . . . . . . . . . . . . . . 639
30.3. ¥®°¥¬ °¥² ¨ ½´´¥ª²¨¢®±²¼ ¯® § ²° ² ¬ . . . . 642
30.3.1. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 645
30.4. ´´¥ª²¨¢ ¿ ¯ ° ««¥«¼ ¿ ®¡° ¡®²ª ¯°¥´¨ª±®¢ . . 645
30.4.1. ¥ª³°±¨¢ ¿ ¯ ° ««¥«¼ ¿ ®¡° ¡®²ª ¯°¥´¨ª±®¢646
30.4.2. »¡®° ³¤ «¿¥¬»µ ®¡º¥ª²®¢ . . . . . . . . . . . 647
30.4.3. «¨§ . . . . . . . . . . . . . . . . . . . . . . . 647
30.4.4. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 649
30.5. °³¸¥¨¥ ±¨¬¬¥²°¨¨ (¤¥²¥°¬¨¨°®¢ »© «£®-
°¨²¬) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
-
7
30.5.1. ±ª° ±ª¨ ¨ ¬ ª±¨¬ «¼»¥ ¥§ ¢¨±¨¬»¥ ¬®-
¦¥±²¢ . . . . . . . . . . . . . . . . . . . . . . . 650
30.5.2. »·¨±«¥¨¥ 6-° ±ª° ±ª¨ . . . . . . . . . . . . . 651
30.5.3. ®«³·¥¨¥ ¬ ª±¨¬ «¼®£® ¥§ ¢¨±¨¬®£® ¬®-
¦¥±²¢ ¨§ 6-° ±ª° ±ª¨ . . . . . . . . . . . . . . 653
30.5.4. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 654
30.6. ¤ ·¨ . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
30.7. ®¬¬¥² °¨¨ . . . . . . . . . . . . . . . . . . . . . . . 657
31 ²°¨¶» ¨ ¤¥©±²¢¨¿ ± ¨¬¨ 659
31.1. ²°¨¶» ¨ ¨µ ±¢®©±²¢ . . . . . . . . . . . . . . . . . 659
31.2. «£®°¨²¬ ²° ±±¥ ³¬®¦¥¨¿ ¬ ²°¨¶ . . . . . . . 668
31.3. ¡° ¹¥¨¥ ¬ ²°¨¶ . . . . . . . . . . . . . . . . . . . . 675
31.4. ®«®¦¨²¥«¼® ®¯°¥¤¥«¥»¥ ±¨¬¬¥²°¨·¥±ª¨¥ ¬ ²°¨-
¶» ¨ ¬¥²®¤ ¨¬¥¼¸¨µ ª¢ ¤° ²®¢ . . . . . . . . . . . 679
33 ¥®p¥²¨ª®-·¨±«®¢»¥ «£®p¨²¬» 712
33.1. · «¼»¥ ±¢¥¤¥¨¿ ¨§ ²¥®°¨¨ ·¨±¥« . . . . . . . . . . 713
33.2. ¨¡®«¼¸¨© ®¡¹¨© ¤¥«¨²¥«¼ . . . . . . . . . . . . . . 718
33.3. ®¤³«¿° ¿ °¨´¬¥²¨ª . . . . . . . . . . . . . . . . . 722
33.4. ¥¸¥¨¥ «¨¥©»µ ¤¨®´ ²®¢»µ ³° ¢¥¨© . . . . . . 726
33.5. ¨² ©±ª ¿ ²¥®°¥¬ ®¡ ®±² ²ª µ . . . . . . . . . . . . . 729
33.6. ²¥¯¥¼ ½«¥¬¥² . . . . . . . . . . . . . . . . . . . . . 732
33.7. °¨¯²®±¨±²¥¬ RSA ± ®²ª°»²»¬ ª«¾·®¬ . . . . . . . 735
33.8. °®¢¥°ª ·¨±¥« ¯°®±²®²³ . . . . . . . . . . . . . . . 741
34 ®¨±ª ¯®¤±²°®ª 757
34.0.1. ¡®§ ·¥¨¿ ¨ ²¥°¬¨®«®£¨¿ . . . . . . . . . . 758
34.1. °®±²¥©¸¨© «£®°¨²¬ . . . . . . . . . . . . . . . . . . 759
34.2. «£®°¨²¬ ¡¨ | °¯ . . . . . . . . . . . . . . . 761
34.2.1. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 764
34.3. ®¨±ª ¯®¤±²°®ª ± ¯®¬®¹¼¾ ª®¥·»µ ¢²®¬ ²®¢ . . . 765
34.3.1. ®¥·»¥ ¢²®¬ ²» . . . . . . . . . . . . . . . 765
34.3.2. ¢²®¬ ²» ¤«¿ ¯®¨±ª ¯®¤±²°®ª . . . . . . . . . 766
34.3.3. »·¨±«¥¨¥ ´³ª¶¨¨ ¯¥°¥µ®¤ . . . . . . . . . 770
34.4. «£®°¨²¬ ³² | ®°°¨± | ° ²² . . . . . . . . 771
34.4.1. °¥´¨ª±-´³ª¶¨¿, ±±®¶¨¨°®¢ ¿ ± ®¡° §¶®¬771
34.4.2. °¥¬¿ ° ¡®²» . . . . . . . . . . . . . . . . . . . 773
34.4.3. °¥´¨ª±-´³ª¶¨¿ ¢»·¨±«¿¥²±¿ ¯° ¢¨«¼® . . 774
34.4.4. «£®°¨²¬ KMP ¯° ¢¨«¥ . . . . . . . . . . . . 776
34.5. «£®°¨²¬ ®©¥° | ³° . . . . . . . . . . . . . . . . 777
34.5.1. ¢°¨±²¨ª ±²®¯-±¨¬¢®« . . . . . . . . . . . . . 778
34.5.2. ¢°¨±²¨ª ¡¥§®¯ ±®£® ±³´´¨ª± . . . . . . . . 780
34.5.3. ¯° ¦¥¨¿ . . . . . . . . . . . . . . . . . . . . 784
34.6. ¬¥· ¨¿ . . . . . . . . . . . . . . . . . . . . . . . . . 785
-
8
35 »·¨±«¨²¥«¼ ¿ £¥®¬¥²°¨¿ 787
35.1. ¢®©±²¢ ®²°¥§ª®¢ . . . . . . . . . . . . . . . . . . . . 788
35.2. ±²¼ «¨ ¯¥°¥±¥ª ¾¹¨¥±¿ ®²°¥§ª¨? . . . . . . . . . . . 793
35.3. ®±²°®¥¨¥ ¢»¯³ª«®© ®¡®«®·ª¨ . . . . . . . . . . . . . 798
35.4. ²»±ª ¨¥ ¯ °» ¡«¨¦ ©¸¨µ ²®·¥ª . . . . . . . . . . . 804
35.5. ¤ ·¨ . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
36 NP-¯®«®² 811
36.1. ®«¨®¬¨ «¼®¥ ¢°¥¬¿ . . . . . . . . . . . . . . . . . . 812
36.2. °®¢¥°ª ¯°¨ ¤«¥¦®±²¨ ¿§»ª³ ¨ ª« ±± NP . . . . . 819
36.3. NP-¯®«®² ¨ ±¢®¤¨¬®±²¼ . . . . . . . . . . . . . . . . 824
36.4. NP-¯®«»¥ § ¤ ·¨ . . . . . . . . . . . . . . . . . . . . . 837
36.4.1. ¤ · ® ª«¨ª¥ . . . . . . . . . . . . . . . . . . . 837
36.4.2. ¤ · ® ¢¥°¸¨®¬ ¯®ª°»²¨¨ . . . . . . . . . 839
36.4.3. ¤ · ® £ ¬¨«¼²®®¢®¬ ¶¨ª«¥ . . . . . . . . . 842
36.4.4. ¤ · ª®¬¬¨¢®¿¦¥° . . . . . . . . . . . . . . 846
37 °¨¡«¨¦¥»¥ «£®°¨²¬» 850
37.1. ¤ · ® ¢¥°¸¨®¬ ¯®ª°»²¨¨ . . . . . . . . . . . . . 852
37.2. ¤ · ª®¬¬¨¢®¿¦¥° . . . . . . . . . . . . . . . . . . 854
37.2.1. ¤ · ª®¬¬¨¢®¿¦¥° (± ¥° ¢¥±²¢®¬ ²°¥-
³£®«¼¨ª ) . . . . . . . . . . . . . . . . . . . . . 854
37.2.2. ¡¹ ¿ § ¤ · ª®¬¬¨¢®¿¦¥° . . . . . . . . . . 856
37.3. ¤ · ® ±³¬¬¥ ¯®¤¬®¦¥±²¢ . . . . . . . . . . . . . . 863
-
°¥¤¨±«®¢¨¥
² ª¨£ ¯®¤°®¡® ° ±±ª §»¢ ¥² ® ±®¢°¥¬¥»µ ¬¥²®¤ µ ¯®±²°®-
¥¨¿ ¨ «¨§ «£®°¨²¬®¢. ¥© ¯®¤°®¡® ° §®¡° ® ¬®£® ª®-
ª°¥²»µ «£®°¨²¬®¢; ¬» ±² ° «¨±¼ ° ±±ª § ²¼ ® ¨µ ¯®¿²®, ®
¥ ®¯³±ª ¿ ¤¥² «¥© ¨ ¥ ¦¥°²¢³¿ ±²°®£®±²¼¾ ¨§«®¦¥¨¿.
«£®°¨²¬» § ¯¨± » ± ¢¨¤¥ À¯±¥¢¤®ª®¤ Á ¨ ¯°®ª®¬¬¥²¨°®¢ »
¢ ²¥ª±²¥; ¬» ±² ° «¨±¼ ±¤¥« ²¼ ®¯¨± ¨¥ «£®°¨²¬ ¯®¿²»¬ «¾-
¤¿¬ ± ¬¨¨¬ «¼»¬ ¯°®£° ¬¬¨±²±ª¨¬ ®¯»²®¬. ¨£ ±®¤¥°¦¨²
¡®«¥¥ 260 °¨±³ª®¢, ¯®¿±¿¾¹¨µ ° ¡®²³ ° §«¨·»µ «£®°¨²¬®¢.
» ®¡° ¹ ¥¬ ®±®¡®¥ ¢¨¬ ¨¥ ½´´¥ª²¨¢®±²¼ ° ±±¬ ²°¨¢ ¥-
¬»µ «£®°¨²¬®¢ ¨ ¯°¨¢®¤¨¬ ®¶¥ª¨ ¢°¥¬¥¨ ¨µ ° ¡®²».
» ±² ° «¨±¼ ¯¨± ²¼ ³·¥¡¨ª ¯® ¯®±²°®¥¨¾ «£®°¨²¬®¢ ¨
±²°³ª²³° ¤ »µ, ª®²®°»© ¬®£«¨ ¡» ¨±¯®«¼§®¢ ²¼ ¯°¥¯®¤ ¢ ²¥-
«¨ ¨ ±²³¤¥²» | ®² ¯¥°¢®ª³°±¨ª®¢ ¤® ±¯¨° ²®¢. ¨£ ¬®¦¥²
¡»²¼ ¨±¯®«¼§®¢ ¨ ¤«¿ ± ¬®®¡° §®¢ ¨¿ ¯°®´¥±±¨® «¼»µ ¯°®-
£° ¬¬¨±²®¢.
°¥¯®¤ ¢ ²¥«¿¬:
» ±² ° «¨±¼ ±¤¥« ²¼ ¢®§¬®¦»¬ ¨±¯®«¼§®¢ ¨¥ ª¨£¨ ° §-
»µ ³°®¢¿µ | ®² · «¼®£® ª³°± ¯® ¯°®£° ¬¬¨°®¢ ¨¾ ¨
±²°³ª²³° ¬ ¤ »µ ¤® ±¯¨° ²±ª®£® ª³°± ¯® ½´´¥ª²¨¢»¬ «-
£®°¨²¬ ¬. ¥© £®° §¤® ¡®«¼¸¥ ¬ ²¥°¨ « , ·¥¬ ¬®¦® ¢ª«¾·¨²¼
¢ ±¥¬¥±²°®¢»© ª³°±, ² ª ·²® ¢» ¬®¦¥²¥ ¢»¡° ²¼ £« ¢» ¯® ¢ª³±³.
» ±² ° «¨±¼ ±¤¥« ²¼ £« ¢» ¤®±² ²®·® ¥§ ¢¨±¨¬»¬¨. ¦¤ ¿
£« ¢ ·¨ ¥²±¿ ± ¡®«¥¥ ¯°®±²®£® ¬ ²¥°¨ « ; ¡®«¥¥ ²°³¤»¥ ²¥¬»
®²¥±¥» ¢ ° §¤¥«», ¯®¬¥·¥»¥ §¢¥§¤®·ª®© ¨ ¯®¬¥¹¥»¥ ¢ ª®¥¶
£« ¢». «¥ª¶¨¿µ ¤«¿ ·¨ ¾¹¨µ ¬®¦® ®£° ¨·¨²¼±¿ ¥±ª®«¼ª¨-
¬¨ ¯¥°¢»¬¨ ° §¤¥« ¬¨ ¢»¡° »µ ¢ ¬¨ £« ¢, ®±² ¢¨¢ ¯®¤°®¡®¥
¨§³·¥¨¥ ®±² «¼»µ ¤«¿ ¡®«¥¥ ¯°®¤¢¨³²®£® ª³°± .
¦¤»© ° §¤¥« ± ¡¦¥ ³¯° ¦¥¨¿¬¨ (¢±¥£® ¨µ ¡®«¥¥ 900): ª -
¦¤ ¿ £« ¢ § ª ·¨¢ ¥²±¿ § ¤ · ¬¨ (¢±¥£® ¡®«¥¥ 120). ª ¯° ¢¨«®,
³¯° ¦¥¨¿ ¯°®¢¥°¿¾² ¯®¨¬ ¨¥ ¨§«®¦¥®£® ¬ ²¥°¨ « (· ±²¼
¨§ ¨µ | ³±²»¥ ¢®¯°®±», · ±²¼ ¯®¤µ®¤¿² ¤«¿ ¯¨±¼¬¥®£® ¤®¬ ¸-
-
10
¥£® § ¤ ¨¿). ¤ ·¨ ¡®«¥¥ ° §¢¥°³²»; ¬®£¨¥ ¨§ ¨µ ¤®¯®«¿¾²
²¥®°¥²¨·¥±ª¨© ¬ ²¥°¨ « ±®®²¢¥²±²¢³¾¹¥© £« ¢» ¨ ° §¡¨²» · -
±²¨, ±®®²¢¥²±²¢³¾¹¨¥ ½² ¯ ¬ ¤®ª § ²¥«¼±²¢ ¨«¨ ¯®±²°®¥¨¿.
¢¥§¤®·ª®© ®²¬¥·¥» ¡®«¥¥ ²°³¤»¥ ³¯° ¦¥¨¿ ¨ ° §¤¥«»; ®¨
¯°¥¤ § ·¥» ±ª®°¥¥ ¤«¿ ±² °¸¥ª³°±¨ª®¢ ¨ ±¯¨° ²®¢. §¤¥-
«» ±® §¢¥§¤®·ª®© · ±²® ²°¥¡³¾² «³·¸¥© ¬ ²¥¬ ²¨·¥±ª®© ¯®¤£®-
²®¢ª¨; ³¯° ¦¥¨¥ ±® §¢¥§¤®·ª®© ¬®¦¥² ² ª¦¥ ²°¥¡®¢ ²¼ ¤®¯®«-
¨²¥«¼»µ § ¨© ¨«¨ ¯°®±²® ¡»²¼ ¡®«¥¥ ²°³¤»¬.
²³¤¥² ¬:
» ¤¥¥¬±¿, ·²® ª¨£ ¤®±² ¢¨² ¢ ¬ ³¤®¢®«¼±²¢¨¥ ¨ ¯®§ -
ª®¬¨² ± ¬¥²®¤ ¬¨ ¯®±²°®¥¨¿ «£®°¨²¬®¢. » ±² ° «¨±¼ ¯¨± ²¼
¯®¤°®¡®, ¯®¿²® ¨ ¨²¥°¥±®, ¯®¬¨ ¿ ¯® µ®¤³ ¤¥« ¥®¡µ®¤¨-
¬»¥ ±¢¥¤¥¨¿ ¨§ ¬ ²¥¬ ²¨ª¨. ®¤£®²®¢¨²¥«¼»¥ ±¢¥¤¥¨¿ ®¡»·®
±®¡° » ¢ · «¼»µ ° §¤¥« µ £« ¢», ª®²®°»¥ ¬®¦® ¡¥£«® ¯°®-
±¬®²°¥²¼, ¥±«¨ ¢» ³¦¥ § ª®¬» ± ²¥¬®©.
¨£ ½² ¢¥«¨ª , ¨ «¥ª¶¨¿µ, ±ª®°¥¥ ¢±¥£®, ¡³¤¥² ° §®¡°
«¨¸¼ · ±²¼ ¬ ²¥°¨ « . » ¤¥¥¬±¿, ·²® ®±² ¢¸ ¿±¿ · ±²¼ ¡³¤¥²
¢ ¬ ¯®«¥§ ¥±«¨ ¥ ±¥©· ±, ² ª ¢ ¡³¤³¹¥¬, ² ª ·²® ¢» ±®µ° ¨²¥
ª¨£³ ¢ ª ·¥±²¢¥ ±¯° ¢®·¨ª .
²® ³¦® § ²¼, ¯°¨±²³¯ ¿ ª ·²¥¨¾? » ° ±±·¨²»¢ ¥¬, ·²®
¢»
� ¨¬¥¥²¥ ¥ª®²®°»© ¯°®£° ¬¬¨±²±ª¨© ®¯»², ¨ °¥ª³°±¨¢»¥ ¯°®-¶¥¤³°», ¬ ±±¨¢» ¨ ±¯¨±ª¨ ¢ ± ¥ ¯³£ ¾²;
� ¯°®±²»¥ ¬ ²¥¬ ²¨·¥±ª¨¥ ° ±±³¦¤¥¨¿ (±ª ¦¥¬, ¤®ª § ²¥«¼±²¢ ¯® ¨¤³ª¶¨¨) ¢ ¬ ² ª¦¥ § ª®¬» (ª®¥-£¤¥ ¯® ¤®¡¿²±¿ ®²¤¥«¼-
»¥ ´ ª²» ¨§ ª³°± ¬ ²¥¬ ²¨·¥±ª®£® «¨§ ; ¢ ¯¥°¢®© · ±²¨
¡®«¼¸¥ ¨·¥£® ¨§ ¬ ²¥¬ ²¨ª¨ ¥ ¯®²°¥¡³¥²±¿).
°®£° ¬¬¨±² ¬:
ª¨£³ ¢ª«¾·¥» «£®°¨²¬» ¤«¿ ± ¬»µ ° §»µ § ¤ · ¨ ¥¥ ¬®¦-
® ¨±¯®«¼§®¢ ²¼ ª ª ±¯° ¢®·¨ª. « ¢» ¯®·²¨ ¥§ ¢¨±¨¬», ² ª ·²®
¬®¦® ±° §³ ¢»¡° ²¼ ¨²¥°¥±³¾¹¨© ¢ ± ¬ ²¥°¨ «.
®«¼¸¨±²¢® ®¡±³¦¤ ¥¬»µ «£®°¨²¬®¢ ¢¯®«¥ ¬®£³² ¡»²¼ ¨±-
¯®«¼§®¢ » ¯° ª²¨ª¥, ¨ ¬» ³¤¥«¿¥¬ ¤®«¦®¥ ¢¨¬ ¨¥ ¤¥² -
«¿¬ °¥ «¨§ ¶¨¨. ±«¨ «£®°¨²¬ ¯°¥¤±² ¢«¿¥² ±ª®°¥¥ ²¥®°¥²¨·¥-
±ª¨© ¨²¥°¥±, ¬» ®²¬¥· ¥¬ ½²® ¨ ®¡±³¦¤ ¥¬ «¼²¥° ²¨¢»¥ ¯®¤-
µ®¤».
¸ ¯±¥¢¤®ª®¤ «¥£ª® ¯¥°¥¢¥±²¨ «¾¡®© ¿§»ª ¯°®£° ¬¬¨°®¢ -
¨¿, ¥±«¨ ½²® ¯® ¤®¡¨²±¿. ¤® ²®«¼ª® ¨¬¥²¼ ¢ ¢¨¤³, ·²® ¬» ¥
¢ª«¾· ¥¬ ¢ «£®°¨²¬» ±¨±²¥¬®-§ ¢¨±¨¬»¥ ´° £¬¥²» (®¡° ¡®²-
ª³ ®¸¨¡®ª ¨ ². ¯.), ·²®¡» ¥ § ²¥¬¿²¼ ±³²¨ ¤¥« .
-
11
¸¨¡ª¨
¨£ ² ª®£® ®¡º¥¬ ¥ ¬®¦¥² ¥ ±®¤¥°¦ ²¼ ®¸¨¡®ª. ±«¨ ¢»
®¡ °³¦¨«¨ ®¸¨¡ª³ ¢ £«¨©±ª®¬ ®°¨£¨ «¥ ª¨£¨, ¨«¨ ³ ¢ ± ¥±²¼
¯°¥¤«®¦¥¨¿ ¯® ¥¥ ¨±¯° ¢«¥¨¾, ¬» ¡³¤¥¬ ° ¤» ³§ ²¼ ®¡ ½²®¬.
» ¡³¤¥¬ ®±®¡¥® ° ¤» ®¢»¬ ³¯° ¦¥¨¿¬ ¨ § ¤ · ¬ (®, ¯®-
¦ «³©±² , ¯°¨±»« ©²¥ ¨µ ± °¥¸¥¨¿¬¨). ®·²®¢»© ¤°¥±:
Introduction to Algorithms
MIT Labratory for Computer Science
545 Technology Square
Cambridge, Massachusetts 02139
®¦® ² ª¦¥ ¯®«³·¨²¼ ±¯¨±®ª ¨§¢¥±²»µ ®¯¥· ²®ª ¨ ±®-
®¡¹¨²¼ ® ©¤¥»µ ®¸¨¡ª µ ± ¯®¬®¹¼¾ ½«¥ª²°®®©
¯®·²»; ·²®¡» ¯®«³·¨²¼ ¨±²°³ª¶¨¨, ¯®¸«¨²¥ ¯® ¤°¥±³
[email protected] ¯¨±¼¬®, ±®¤¥°¦ ¹¥¥ Subject:
help ¢ § £®«®¢ª¥. §¢¨¨²¥, ·²® ¬» ¥ ¬®¦¥¬ «¨·® ®²¢¥²¨²¼
¢±¥ ¯¨±¼¬ .
[°¨ ¯¥°¥¢®¤¥ ¡»«¨ ³·²¥» ¢±¥ ¨±¯° ¢«¥¨¿, ¨¬¥¢¸¨¥±¿ ¬®-
¬¥² ¨§¤ ¨¿ ¯¥°¥¢®¤ (¤¥ª ¡°¼ 1997), ª°®¬¥ ²®£®, ¨±¯° ¢«¥® ¥-
±ª®«¼ª® ®¡ °³¦¥»µ ¯°¨ ¯¥°¥¢®¤¥ ®¯¥· ²®ª, ®, ¢®§¬®¦®, ¢®§-
¨ª«¨ ®¢»¥ (¢ ·¥¬ ¢¨®¢ ² ³·»© °¥¤ ª²®° ª¨£¨, . ¥¼).
®½²®¬³, ®¡ °³¦¨¢ ®¸¨¡ª³ ¢ °³±±ª®¬ ²¥ª±²¥, ¥ ¯®±»« ©²¥ ¥¥ ±° -
§³ ¢²®° ¬: ¬®¦¥² ¡»²¼, ® ¢®§¨ª« ¯°¨ ¯¥°¥¢®¤¥! ®®¡¹¨²¥ ®
¥© ± · « ¯¥°¥¢®¤·¨ª ¬, ¯® ¤°¥±³ [email protected] ¨«¨ ¯® ¯®·²¥
(®±ª¢ , 121002, ®«¼¸®© « ±¼¥¢±ª¨© ¯¥°., 11, ®±ª®¢±ª¨© ¶¥²°
¥¯°¥°»¢®£® ¬ ²¥¬ ²¨·¥±ª®£® ®¡° §®¢ ¨¿, ¨§¤ ²¥«¼±²¢®).]
« £®¤ °®±²¨
®£¨¥ ¤°³§¼¿ ¨ ª®««¥£¨ ¥¬ «® ±¤¥« «¨ ¤«¿ ³«³·¸¥¨¿ ½²®©
ª¨£¨. » ¡« £®¤ °¨¬ ¢±¥µ ¨µ § ¯®¬®¹¼ ¨ ª®±²°³ª²¨¢³¾ ª°¨-
²¨ª³.
¡®° ²®°¨¿ ¨´®°¬ ²¨ª¨ ±± ·³±¥²±ª®£® ²¥µ®«®£¨·¥±ª®£®
¨±²¨²³² (Massachusetts Institute of Technology, Laboratory for
Computer Science) ¡»« ¨¤¥ «¼»¬ ¬¥±²®¬ ¤«¿ ° ¡®²» ¤ ª¨-
£®©. ¸¨ ª®««¥£¨ ¯® ²¥®°¥²¨·¥±ª®© £°³¯¯¥ ½²®© « ¡®° ²®°¨¨ ¡»-
«¨ ®±®¡¥® ²¥°¯¨¬» ¨ «¾¡¥§® ±®£« ¸ «¨±¼ ¯°®±¬ ²°¨¢ ²¼ £« ¢»
ª¨£¨. » µ®²¥«¨ ¡» ®±®¡¥® ¯®¡« £®¤ °¨²¼ ±«¥¤³¾¹¨µ ¨§ ¨µ:
Baruch Awerbuch, Sha� Goldwasser, Leo Guibas, Tom Leighton, Al-
bert Meyer, David Shmoys, Eva Tardos. ®¬¯¼¾²¥°», ª®²®°»µ £®-
²®¢¨« ±¼ ª¨£ (²°¥µ ²¨¯®¢: Microvax, Apple Macintosh, Sun Sparc-
station) ¯®¤¤¥°¦¨¢ «¨ William Ang, Sally Bemus, Ray Hirschfeld ¨
Mark Reinhold; ®¨ ¦¥ ¯¥°¥ª®¬¯¨«¨°®¢ «¨ TEX, ª®£¤ ¸¨ ´ ©-
«» ¯¥°¥±² «¨ ¯®¬¥¹ ²¼±¿ ¢ ¥£® ±² ¤ °²³¾ ¢¥°±¨¾. ®¬¯ ¨¿
Thinking Machines ¯®¤¤¥°¦¨¢ « °«¼§ ¥©§¥°±® ¢ ¯¥°¨®¤ ¥£®
-
12
° ¡®²» ¢ ½²®© ª®¬¯ ¨¨.
®£¨¥ ¸¨ ª®««¥£¨ ¨±¯®«¼§®¢ «¨ ¯°¥¤¢ °¨²¥«¼»¥ ¢ °¨ ²»
½²®© ª¨£¨ ¢ ±¢®¨µ «¥ª¶¨®»µ ª³°± µ, ¨ ¯°¥¤«®¦¨«¨ ° §«¨·»¥
³«³·¸¥¨¿. » µ®²¥«¨ ¡» ®±®¡¥® ¯®¡« £®¤ °¨²¼ ±«¥¤³¾¹¨µ -
¸¨µ ª®««¥£: Richard Beigel (Yale), Andrew Goldberg (Stanford), Joan
Lucas (Rutgers), Mark Overmars (Utrecht), Alan Sherman (Tufts,
Maryland), Diane Souvaine (Rutgers).
°¨ ·²¥¨¨ «¥ª¶¨© ¯® ¬ ²¥°¨ « ¬ ½²®© ª¨£¨ ¬ ¯®¬®£ «¨ -
¸¨ ª®««¥£¨, ª®²®°»¥ ¢¥±«¨ ¬®£® ³«³·¸¥¨©. » ®±®¡¥® ¯°¨-
§ ²¥«¼»: Alan Baratz, Bonnie Berger, Aditi Dhagat, Burt Kaliski,
Arthur Lent, Andrew Moulton, Marios Papaefthymiou, Cindy Phillips,
Mark Reinhold, Phil Rogaway, Flavio Rose, Arie Rudich, Alan Sher-
man, Cli� Stein, Susmita Sur, Gregory Troxel, Margaret Tuttle.
®£¨¥ «¾¤¨ ¯®¬®£«¨ ¬ ¢ ° ¡®²¥ ¤ ª¨£®© ¢ ° §»µ ®²®-
¸¥¨¿µ: ° ¡®² ¢ ¡¨¡«¨®²¥ª¥ (Denise Sergent), £®±²¥¯°¨¨¬±²¢® ¢
·¨² «¼®¬ § «¥ (Maria Sensale), ¤®±²³¯ ª «¨·®© ¡¨¡«¨®²¥ª¥ (Al-
bert Meyer), ¯°®¢¥°ª ³¯° ¦¥¨© ¨ ¯°¨¤³¬»¢ ¨¥ ®¢»µ (Shlo-
mo Kipnis, Bill Niehaus, David Wilson), ±®±² ¢«¥¨¥ ¨¤¥ª± (Marios
Papaefthymiou, Gregory Troxel), ²¥µ¨·¥±ª ¿ ¯®¬®¹¼ (Inna Radzi-
hovsky, Denise Sergent, Gayle Sherman, ¨ ®±®¡¥® Be Hubbard).
®£¨¥ ®¸¨¡ª¨ ®¡ °³¦¨«¨ ¸¨ ±²³¤¥²», ®±®¡¥® Bobby
Blumofe, Bonnie Eisenberg, Raymond Johnson, John Keen, Richard
Lethin, Mark Lillibridge, John Pesaris, Steve Ponzio, Margaret Tuttle.
®£¨¥ ¸¨ ª®««¥£¨ ±®®¡¹¨«¨ ¬ ¯®«¥§³¾ ¨´®°¬ ¶¨¾ ®
ª®ª°¥²»µ «£®°¨²¬ µ, ² ª¦¥ ª°¨²¨·¥±ª¨ ¯°®·¨² «¨ ®²¤¥«¼-
»¥ £« ¢» ª¨£¨; ¢ ¨µ ·¨±«¥ Bill Aiello, Alok Aggrawal, Eric Bach,
Va�sek Chv�atal, Richard Cole, Johan Hastad, Alex Ishii, David Johnson,
Joe Kilian, Dina Kravets, Bruce Maggs, Jim Orlin, James Park, Thane
Plambeck, Herschel Safer, Je� Shallit, Cli� Stein, Gil Strang, Bob Tar-
jan, Paul Wang. ®£¨¥ ¨§ ¨µ ¯°¥¤«®¦¨«¨ ¬ § ¤ ·¨ ¤«¿ ¸¥©
ª¨£¨, ±°¥¤¨ ¨µ Andrew Goldberg, Danny Sleator, Umesh Vazirani.
£«¨©±ª¨© ®°¨£¨ « ª¨£¨ ¡»« ¯®¤£®²®¢«¥ ± ¯®¬®¹¼¾ LATEX
(¬ ª°®¯ ª¥² ¤«¿ ±¨±²¥¬» TEX). ¨±³ª¨ ¤¥« «¨±¼ ª®¬¯¼¾²¥-
°¥ Apple Macintosh ± ¯®¬®¹¼¾ ¯°®£° ¬¬» Mac Draw II; ¬» ¡« -
£®¤ °» § ®¯¥° ²¨¢³¾ ²¥µ¨·¥±ª³¾ ¯®¤¤¥°¦ª³ ¢ ½²®© ®¡« ±²¨
(Joanna Terry, Claris Corporation; Michael Mahoney, Advanced Com-
puter Graphics). ¤¥ª± ¡»« ¯®¤£®²®¢«¥ ± ¯®¬®¹¼¾ ¯°®£° ¬¬»
Windex, ¯¨± ®© ¢²®° ¬¨. ¯¨±®ª «¨²¥° ²³°» £®²®¢¨«±¿ ± ¯®-
¬®¹¼¾ ¯°®£° ¬¬» BibTEX. °¨£¨ «-¬ ª¥² £«¨©±ª®£® ¨§¤ ¨¿
¡»« ¯®¤£®²®¢«¥ ¢ ¬¥°¨ª ±ª®¬ ¬ ²¥¬ ²¨·¥±ª®¬ ®¡¹¥±²¢¥ ± ¯®-
¬®¹¼¾ ´®²® ¡®°®© ¬ ¸¨» ´¨°¬» Autologic; ¬» ¯°¨§ ²¥«¼»
§ ¯®¬®¹¼ ¢ ½²®¬ (Ralph Youngen, ¬¥°¨ª ±ª®¥ ¬ ²¥¬ ²¨·¥±ª®¥
®¡¹¥±²¢®). ª¥² ° §° ¡®² «¨: Rebecca Daw, Amy Henderson (°¥ -
«¨§ ¶¨¿ ¬ ª¥² ¤«¿ ±¨±²¥¬» LATEX), Jeannet Leendertse (®¡«®¦ª ).
¢²®°» ¯®«³·¨«¨ ¡®«¼¸®¥ ³¤®¢®«¼±²¢¨¥ ®² ±®²°³¤¨·¥±²¢ ± ¨§-
¤ ²¥«¼±²¢ ¬¨ MIT Press (Frank Sallow, Terry Ehling, Larry Cohen,
-
13
Lorrie Lejeune) ¨ McGraw-Hill (David Shapiro) ¨ ¡« £®¤ °» ¨¬
§ ¯®¤¤¥°¦ª³ ¨ ²¥°¯¥¨¥, ² ª¦¥ § ¬¥· ²¥«¼®¥ °¥¤ ª²¨°®¢ ¨¥
(Larry Cohen).
ª®¥¶, ¢²®°» ¡« £®¤ °¿² ±¢®¨µ ¦¥ (Nicole Cormen, Lina Lue
Leicerson, Gail Rivest) ¨ ¤¥²¥© (Ricky, William ¨ Debby Leicerson;
Alex ¨ Christopher Rivest) § «¾¡®¢¼ ¨ ¯®¤¤¥°¦ª³ ¯°¨ ° ¡®²¥ ¤
ª¨£®© (Alex Rivest ² ª¦¥ ¯®¬®£ ¬ ± À¯ ° ¤®ª±®¬ ¤¥© °®¦¤¥¨¿
°±¥Á (° §¤¥« 6.6.1). ¾¡®¢¼, ²¥°¯¥¨¥ ¨ ¯®¤¤¥°¦ª ¸¨µ
±¥¬¥© ±¤¥« «¨ ½²³ ª¨£³ ¢®§¬®¦®©; ¨¬ ® ¨ ¯®±¢¿¹ ¥²±¿.
¥¬¡°¨¤¦,
±± ·³±¥²±¬ °² 1990 £®¤
®¬ ± ®°¬¥ (Thomas H. Cormen) °«¼§ ¥©§¥°±® (Charles E. Leiserson)
® «¼¤ ¨¢¥±² (Ronald L. Rivest)
² ¯¥°¥¢®¤·¨ª®¢:
» ¯°¨§ ²¥«¼» ¨§¤ ²¥«¼±²¢³ MIT ¨ ¢²®° ¬ § ° §°¥¸¥¨¥
¯¥°¥¢¥±²¨ ª¨£³, ¨ § ¯®¬®¹¼ ¯°¨ ¯®¤£®²®¢ª¥ ¯¥°¥¢®¤ (¢ ²®¬ ·¨-
±«¥ § ¯°¥¤®±² ¢«¥¨¥ £«¨©±ª®£® ²¥ª±² ª¨£¨ ¨ ¨««¾±²° ¶¨© ¢
½«¥ª²°®®© ´®°¬¥). §¤ ¨¥ ¯¥°¥¢®¤ ±² «® ¢®§¬®¦® ¡« £®¤ °¿
´¨ ±®¢®© ¯®¤¤¥°¦ª¥ ®±±¨©±ª®£® ´®¤ ´³¤ ¬¥² «¼»µ ¨±-
±«¥¤®¢ ¨© (°³ª®¢®¤¨²¥«¼ ¯°®¥ª² .. ±¯¥±ª¨©).
° ¡®²¥ ¤ ¯¥°¥¢®¤®¬ ª¨£¨ ³· ±²¢®¢ « ¡®«¼¸ ¿ £°³¯¯ ±²³-
¤¥²®¢, ±¯¨° ²®¢ ¨ ±®²°³¤¨ª®¢ ®±ª®¢±ª®£® ¶¥²° ¥¯°¥°»¢-
®£® ¬ ²¥¬ ²¨·¥±ª®£® ®¡° §®¢ ¨¿, ¥§ ¢¨±¨¬®£® ®±ª®¢±ª®£®
³¨¢¥°±¨²¥² ¨ :
K. ¥«®¢, . ®° ¢«¥¢, . ®²¨, . ®°¥«¨ª, . ¥°¿£¨
. «¨¸ª , . ² ®¢ , . ¼¢®¢±ª¨©, . ®¬ ¹¥ª®, . ®-
¨, . °³¸ª¨, . ¸ ª®¢, . ¥¼, . ³¢ «®¢, . ¤ ¸ª¨
(¯¥°¥¢®¤)
. ª¨¬®¢, . ¼¾£¨, . ¥°¿£¨, . ¢´¨¬¼¥¢±ª¨©, . «-
¨¸ª , . ®¬ ¹¥ª®, . ¥°®¢ . ¸ ª®¢, A. ¥¼ (°¥¤ ª²¨-
°®¢ ¨¥)
. ¤¨®®¢ (¢¥°±²ª )
.. ¹¥ª® (°¥¤ ª²®°)
-
1 ¢¥¤¥¨¥
½²®© £« ¢¥ ¬» ° §¡¨° ¥¬ ®±®¢»¥ ¯®¿²¨¿ ¨ ¬¥²®¤», ±¢¿§ »¥
± ¯®±²°®¥¨¥¬ ¨ «¨§®¬ «£®°¨²¬®¢, ¯°¨¬¥°¥ ¤¢³µ «£®°¨²-
¬®¢ ±®°²¨°®¢ª¨ | ¯°®±²¥©¸¥£® «£®°¨²¬ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨
¨ ¡®«¥¥ ½´´¥ª²¨¢®£® «£®°¨²¬ ±®°²¨°®¢ª¨ ±«¨¿¨¥¬.
½²¨µ ¯°¨¬¥° µ ¬» ¯®§ ª®¬¨¬±¿ ± ¯±¥¢¤®ª®¤®¬, ª®²®°®¬
¬» ¡³¤¥¬ § ¯¨±»¢ ²¼ «£®°¨²¬», ®¡®§ ·¥¨¿¬¨ ¤«¿ ±ª®°®±²¨ °®-
±² ´³ª¶¨©, ¬¥²®¤®¬ À° §¤¥«¿© ¨ ¢« ±²¢³©Á ¯®±²°®¥¨¿ «£®°¨²-
¬®¢, ² ª¦¥ ± ¤°³£¨¬¨ ¯®¿²¨¿¬¨, ª®²®°»¥ ¡³¤³² ¢±²°¥· ²¼±¿
¬ ¯°®²¿¦¥¨¨ ¢±¥© ª¨£¨.
1.1. «£®°¨²¬»
«£®°¨²¬ (algorithm) | ½²® ´®°¬ «¼® ®¯¨± ¿ ¢»·¨±«¨²¥«¼-
¿ ¯°®¶¥¤³° , ¯®«³· ¾¹ ¿ ¨±µ®¤»¥ ¤ »¥ (input), §»¢ ¥¬»¥
² ª¦¥ ¢µ®¤®¬ «£®°¨²¬ ¨«¨ ¥£® °£³¬¥²®¬, ¨ ¢»¤ ¾¹ ¿ °¥§³«¼-
² ² ¢»·¨±«¥¨© ¢»µ®¤ (output).
«£®°¨²¬» ±²°®¿²±¿ ¤«¿ °¥¸¥¨¿ ²¥µ ¨«¨ ¨»µ ¢»·¨±«¨²¥«¼»µ
§ ¤ · (computational problems). ®°¬³«¨°®¢ª § ¤ ·¨ ®¯¨±»¢ ¥²,
ª ª¨¬ ²°¥¡®¢ ¨¿¬ ¤®«¦® ³¤®¢«¥²¢®°¿²¼ °¥¸¥¨¥ § ¤ ·¨, «-
£®°¨²¬, °¥¸ ¾¹¨© ½²³ § ¤ ·³, µ®¤¨² ®¡º¥ª², ½²¨¬ ²°¥¡®¢ ¨¿¬
³¤®¢«¥²¢®°¿¾¹¨©.
½²®© £« ¢¥ ¬» ° ±±¬ ²°¨¢ ¥¬ § ¤ ·³ ±®°²¨°®¢ª¨ (sorting prob-
lem); ¯®¬¨¬® ±¢®¥© ¯° ª²¨·¥±ª®© ¢ ¦®±²¨ ½² § ¤ · ±«³¦¨²
³¤®¡»¬ ¯°¨¬¥°®¬ ¤«¿ ¨««¾±²° ¶¨¨ ° §«¨·»µ ¯®¿²¨© ¨ ¬¥²®-
¤®¢. ®¯¨±»¢ ¥²±¿ ² ª:
µ®¤: ®±«¥¤®¢ ²¥«¼®±²¼ n ·¨±¥« (a1; a2; : : : ; an).
»µ®¤: ¥°¥±² ®¢ª (a01; a02; : : : ; a
0n) ¨±µ®¤®© ¯®±«¥¤®¢ ²¥«¼®-
±²¨, ¤«¿ ª®²®°®© a01 6 a02 6 : : : 6 a
0n.
¯°¨¬¥°, ¯®«³·¨¢ ¢µ®¤ h31; 41; 59; 26; 41; 58i, «£®°¨²¬ ±®°²¨-°®¢ª¨ ¤®«¦¥ ¢»¤ ²¼ ¢»µ®¤ h26; 31; 41; 41; 58; 59i.®¤«¥¦ ¹ ¿ ±®°²¨°®¢ª¥ ¯®±«¥¤®¢ ²¥«¼®±²¼ §»¢ ¥²±¿ ¢µ®¤®¬
(instance) § ¤ ·¨ ±®°²¨°®¢ª¨.
-
«£®°¨²¬» 15
®£¨¥ «£®°¨²¬» ¨±¯®«¼§³¾² ±®°²¨°®¢ª³ ¢ ª ·¥±²¢¥ ¯°®¬¥-
¦³²®·®£® ¸ £ . ¬¥¥²±¿ ¬®£® ° §»µ «£®°¨²¬®¢ ±®°²¨°®¢ª¨;
¢»¡®° ¢ ª®ª°¥²®© ±¨²³ ¶¨¨ § ¢¨±¨² ®² ¤«¨» ±®°²¨°³¥¬®© ¯®-
±«¥¤®¢ ²¥«¼®±²¨, ®² ²®£®, ¢ ª ª®© ±²¥¯¥¨ ® ³¦¥ ®²±®°²¨°®¢ ,
² ª¦¥ ®² ²¨¯ ¨¬¥¾¹¥©±¿ ¯ ¬¿²¨ (®¯¥° ²¨¢ ¿ ¯ ¬¿²¼, ¤¨±ª¨,
¬ £¨²»¥ «¥²»).
«£®°¨²¬ ±·¨² ¾² ¯° ¢¨«¼»¬ (correct), ¥±«¨ «¾¡®¬ ¤®¯³-
±²¨¬®¬ (¤«¿ ¤ ®© § ¤ ·¨) ¢µ®¤¥ ® ® § ª ·¨¢ ¥² ° ¡®²³ ¨
¢»¤ ¥² °¥§³«¼² ², ³¤®¢«¥²¢®°¿¾¹¨© ²°¥¡®¢ ¨¿¬ § ¤ ·¨. ½²®¬
±«³· ¥ £®¢®°¿², ·²® «£®°¨²¬ °¥¸ ¥² (solves) ¤ ³¾ ¢»·¨±«¨-
²¥«¼³¾ § ¤ ·³. ¥¯° ¢¨«¼»© «£®°¨²¬ ¬®¦¥² (¤«¿ ¥ª®²®°®£®
¢µ®¤ ) ¢®¢±¥ ¥ ®±² ®¢¨²¼±¿ ¨«¨ ¤ ²¼ ¥¯° ¢¨«¼»© °¥§³«¼² ².
(¯°®·¥¬, ½²® ¥ ¤¥« ¥² «£®°¨²¬ § ¢¥¤®¬® ¡¥±¯®«¥§»¬ | ¥±«¨
®¸¨¡ª¨ ¤®±² ²®·® °¥¤ª¨. ®¤®¡ ¿ ±¨²³ ¶¨¿ ¢±²°¥²¨²±¿ ¬ ¢
£« ¢¥ 33 ¯°¨ ¯®¨±ª¥ ¡®«¼¸¨µ ¯°®±²»µ ·¨±¥«. ® ½²® ¢±¥ ¦¥ ±ª®°¥¥
¨±ª«¾·¥¨¥, ·¥¬ ¯° ¢¨«®.)
«£®°¨²¬ ¬®¦¥² ¡»²¼ § ¯¨± °³±±ª®¬ ¨«¨ £«¨©±ª®¬ ¿§»ª¥,
¢ ¢¨¤¥ ª®¬¯¼¾²¥°®© ¯°®£° ¬¬» ¨«¨ ¤ ¦¥ ¢ ¬ ¸¨»µ ª®¤ µ |
¢ ¦® ²®«¼ª®, ·²®¡» ¯°®¶¥¤³° ¢»·¨±«¥¨© ¡»« ·¥²ª® ®¯¨± .
» ¡³¤¥¬ § ¯¨±»¢ ²¼ «£®°¨²¬» ± ¯®¬®¹¼¾ ¯±¥¢¤®ª®¤ (pseu-
docode), ª®²®°»© ¯®¬¨² ¢ ¬ § ª®¬»¥ ¿§»ª¨ ¯°®£° ¬¬¨°®¢ -
¨¿ (¨, ±ª «¼, «£®«). §¨¶ ¢ ²®¬, ·²® ¨®£¤ ¬» ¯®§¢®«¿¥¬
±¥¡¥ ®¯¨± ²¼ ¤¥©±²¢¨¿ «£®°¨²¬ À±¢®¨¬¨ ±«®¢ ¬¨Á, ¥±«¨ ² ª ¯®«³-
· ¥²±¿ ¿±¥¥. °®¬¥ ²®£®, ¬» ®¯³±ª ¥¬ ²¥µ®«®£¨·¥±ª¨¥ ¯®¤°®¡®-
±²¨ (®¡° ¡®²ª³ ®¸¨¡®ª, ±ª ¦¥¬), ª®²®°»¥ ¥®¡µ®¤¨¬» ¢ °¥ «¼®©
¯°®£° ¬¬¥, ® ¬®£³² § ±«®¨²¼ ±³¹¥±²¢® ¤¥« .
®°²¨°®¢ª ¢±² ¢ª ¬¨
®°²¨°®¢ª ¢±² ¢ª ¬¨ (insertion sort) ³¤®¡ ¤«¿ ±®°²¨°®¢ª¨ ª®-
°®²ª¨µ ¯®±«¥¤®¢ ²¥«¼®±²¥©. ¬¥® ² ª¨¬ ±¯®±®¡®¬ ®¡»·® ±®°-
²¨°³¾² ª °²»: ¤¥°¦ ¢ «¥¢®© °³ª¥ ³¦¥ ³¯®°¿¤®·¥»¥ ª °²» ¨
¢§¿¢ ¯° ¢®© °³ª®© ®·¥°¥¤³¾ ª °²³, ¬» ¢±² ¢«¿¥¬ ¥¥ ¢ ³¦®¥
¬¥±²®, ±° ¢¨¢ ¿ ± ¨¬¥¾¹¨¬¨±¿ ¨ ¨¤¿ ±¯° ¢ «¥¢® (±¬. °¨±. 1.1)
¯¨¸¥¬ ½²®² «£®°¨²¬ ¢ ¢¨¤¥ ¯°®¶¥¤³°» Insertion-Sort, ¯ -
° ¬¥²°®¬ ª®²®°®© ¿¢«¿¥²±¿ ¬ ±±¨¢ A[1 : : n] (¯®±«¥¤®¢ ²¥«¼®±²¼
¤«¨» n, ¯®¤«¥¦ ¹ ¿ ±®°²¨°®¢ª¥). » ®¡®§ · ¥¬ ·¨±«® ½«¥¬¥-
²®¢ ¢ ¬ ±±¨¢¥ A ·¥°¥§ length[A]. ®±«¥¤®¢ ²¥«¼®±²¼ ±®°²¨°³¥²±¿
À ¬¥±²¥Á (in place), ¡¥§ ¤®¯®«¨²¥«¼®© ¯ ¬¿²¨ (¯®¬¨¬® ¬ ±±¨¢
¬» ¨±¯®«¼§³¥¬ «¨¸¼ ´¨ª±¨°®¢ ®¥ ·¨±«® ¿·¥¥ª ¯ ¬¿²¨). ®±«¥
¢»¯®«¥¨¿ ¯°®¶¥¤³°» Insertion-Sort ¬ ±±¨¢ A ³¯®°¿¤®·¥ ¯®¢®§° ±² ¨¾.
-
16 « ¢ 1 ¢¥¤¥¨¥
¨±. 1.1 ®°²¨°®¢ª ª °² ¢±² ¢ª ¬¨
Insertion-Sort(A)
1 for j 2 to length[A]2 do key A[j]3 . ¤®¡ ¢¨²¼ A[j] ª ®²±®°²¨°®¢ ®© · ±²¨ A[1 : : j � 1].4 i j � 15 while i > 0 and A[i] > key
6 do A[i+ 1] A[i]7 i i� 18 A[i+ 1] key
¨±. 1.2 ¡®² ¯°®¶¥¤³°» Insertion-Sort ¤«¿ ¢µ®¤ A = h5; 2; 4; 6; 1; 3i. ®-§¨¶¨¿ j ¯®ª § ª°³¦ª®¬.
°¨±. 1.2 ¯®ª § ° ¡®² «£®°¨²¬ ¯°¨ A = h5; 2; 4; 6; 1; 3i.¤¥ª± j ³ª §»¢ ¥² À®·¥°¥¤³¾ ª °²³Á (²®«¼ª® ·²® ¢§¿²³¾ ±® ±²®-
« ). · ±²®ª A[1 : : j � 1] ±®±² ¢«¿¾² ³¦¥ ®²±®°²¨°®¢ »¥ ª °²»(«¥¢ ¿ °³ª ), A[j + 1 : : n] | ¥¹¥ ¥ ¯°®±¬®²°¥»¥. ¶¨ª«¥ for
¨¤¥ª± j ¯°®¡¥£ ¥² ¬ ±±¨¢ ±«¥¢ ¯° ¢®. » ¡¥°¥¬ ½«¥¬¥² A[j]
-
«£®°¨²¬» 17
(±²°®ª 2 «£®°¨²¬ ) ¨ ±¤¢¨£ ¥¬ ¨¤³¹¨¥ ¯¥°¥¤ ¨¬ ¨ ¡®«¼¸¨¥ ¥£®
¯® ¢¥«¨·¨¥ ½«¥¬¥²» ( ·¨ ¿ ± j � 1-£®) ¢¯° ¢®, ®±¢®¡®¦¤ ¿ ¬¥-±²® ¤«¿ ¢§¿²®£® ½«¥¬¥² . (±²°®ª¨ 4{7). ±²°®ª¥ 8 ½«¥¬¥² A[j]
¯®¬¥¹ ¥²±¿ ¢ ®±¢®¡®¦¤¥®¥ ¬¥±²®.
±¥¢¤®ª®¤
®² ®±®¢»¥ ±®£« ¸¥¨¿, ª®²®°»¥ ¬» ¡³¤¥¬ ¨±¯®«¼§®¢ ²¼:
1. ²±²³¯ ®² «¥¢®£® ¯®«¿ ³ª §»¢ ¥² ³°®¢¥¼ ¢«®¦¥®±²¨.
¯°¨¬¥°, ²¥«® ¶¨ª« for (±²°®ª 1) ±®±²®¨² ¨§ ±²°®ª 2{8, ²¥-
«® ¶¨ª« while (±²°®ª 5) ±®¤¥°¦¨² ±²°®ª¨ 6{7, ® ¥ 8. ²® ¦¥
¯° ¢¨«® ¯°¨¬¥¿¥²±¿ ¨ ¤«¿ if-then-else. ²® ¤¥« ¥² ¨§«¨¸¨¬ ±¯¥-
¶¨ «¼»¥ ª®¬ ¤» ²¨¯ begin ¨ end ¤«¿ · « ¨ ª®¶ ¡«®ª . (
°¥ «¼»µ ¿§»ª µ ¯°®£° ¬¬¨°®¢ ¨¿ ² ª®¥ ±®£« ¸¥¨¥ ¯°¨¬¥¿¥²-
±¿ °¥¤ª®, ¯®±ª®«¼ª³ § ²°³¤¿¥² ·²¥¨¥ ¯°®£° ¬¬, ¯¥°¥µ®¤¿¹¨µ ±®
±²° ¨¶» ±²° ¨¶³.)
2. ¨ª«» while, for, repeat ¨ ³±«®¢»¥ ª®±²°³ª¶¨¨ if, then, else
¨¬¥¾² ²®² ¦¥ ±¬»±«, ·²® ¢ ±ª «¥.
3. ¨¬¢®« . ·¨ ¥² ª®¬¬¥² °¨© (¨¤³¹¨© ¤® ª®¶ ±²°®ª¨).
4. ¤®¢°¥¬¥®¥ ¯°¨±¢ ¨¢ ¨¥ i j e (¯¥°¥¬¥»¥ i ¨ j¯®«³· ¾² § ·¥¨¥ e) § ¬¥¿¥² ¤¢ ¯°¨±¢ ¨¢ ¨¿ j e ¨ i j (¢½²®¬ ¯®°¿¤ª¥).
5. ¥°¥¬¥»¥ (¢ ¤ ®¬ ±«³· ¥ i; j; key) «®ª «¼» ¢³²°¨ ¯°®-
¶¥¤³°» (¥±«¨ ¥ ®£®¢®°¥® ¯°®²¨¢®¥).
6. ¤¥ª± ¬ ±±¨¢ ¯¨¸¥²±¿ ¢ ª¢ ¤° ²»µ ±ª®¡ª µ: A[i] ¥±²¼ i-©
½«¥¬¥² ¢ ¬ ±±¨¢¥ A. ª À: :Á ¢»¤¥«¿¥² · ±²¼ ¬ ±±¨¢ : A[1 : : j]
®¡®§ · ¥² ³· ±²®ª ¬ ±±¨¢ A, ¢ª«¾· ¾¹¨© A[1]; A[2]; : : : ; A[j].
7. ±²® ¨±¯®«¼§³¾²±¿ ®¡º¥ª²» (objects), ±®±²®¿¹¨¥ ¨§ ¥-
±ª®«¼ª¨µ ¯®«¥© (�elds), ¨«¨, ª ª £®¢®°¿², ¨¬¥¾¹¨¥ ¥±ª®«¼-
ª® ²°¨¡³²®¢ (attributes). ·¥¨¥ ¯®«¿ § ¯¨±»¢ ¥²±¿ ª ª
¨¬¿ ¯®«¿[¨¬¿ ®¡º¥ª² ]. ¯°¨¬¥°, ¤«¨ ¬ ±±¨¢ ±·¨² ¥²±¿¥£® ²°¨¡³²®¬ ¨ ®¡®§ · ¥²±¿ length, ² ª ·²® ¤«¨ ¬ ±±¨¢ A
§ ¯¨¸¥²±¿ ª ª length[A]. ²® ®¡®§ · ¾² ª¢ ¤° ²»¥ ±ª®¡ª¨(½«¥¬¥² ¬ ±±¨¢ ¨«¨ ¯®«¥ ®¡º¥ª² ), ¡³¤¥² ¿±® ¨§ ª®²¥ª±² .
¥°¥¬¥ ¿, ®¡®§ · ¾¹ ¿ ¬ ±±¨¢ ¨«¨ ®¡º¥ª², ±·¨² ¥²±¿ ³ª § -
²¥«¥¬ ±®±² ¢«¿¾¹¨¥ ¥£® ¤ »¥. ®±«¥ ¯°¨±¢ ¨¢ ¨¿ y x ¤«¿«¾¡®£® ¯®«¿ f ¢»¯®«¥® f [y] = f [x]. ®«¥¥ ²®£®, ¥±«¨ ¬» ²¥¯¥°¼
¢»¯®«¨¬ ®¯¥° ²®° f [x] 3, ²® ¡³¤¥² ¥ ²®«¼ª® f [x] = 3, ® ¨f [y] = 3, ¯®±ª®«¼ª³ ¯®±«¥ y x ¯¥°¥¬¥»¥ x ¨ y ³ª §»¢ ¾² ®¤¨ ¨ ²®² ¦¥ ®¡º¥ª².
ª § ²¥«¼ ¬®¦¥² ¨¬¥²¼ ±¯¥¶¨ «¼®¥ § ·¥¨¥ nil, ¥ ³ª §»¢ ¾-¹¥¥ ¨ ®¤¨ ®¡º¥ª².
8. ° ¬¥²°» ¯¥°¥¤ ¾²±¿ ¯® § ·¥¨¾ (by value): ¢»§¢ ¿ ¯°®-
¶¥¤³° ¯®«³· ¥² ±®¡±²¢¥³¾ ª®¯¨¾ ¯ ° ¬¥²°®¢; ¨§¬¥¥¨¥ ¯ ° -
¬¥²° ¢³²°¨ ¯°®¶¥¤³°» ± °³¦¨ ¥¢¨¤¨¬®. °¨ ¯¥°¥¤ ·¥ ®¡º¥ª-
-
18 « ¢ 1 ¢¥¤¥¨¥
²®¢ ª®¯¨°³¥²±¿ ³ª § ²¥«¼ ¤ »¥, ±®±² ¢«¿¾¹¨¥ ½²®² ®¡º¥ª²,
± ¬¨ ¯®«¿ ®¡º¥ª² | ¥². ¯°¨¬¥°, ¥±«¨ x | ¯ ° ¬¥²° ¯°®-
¶¥¤³°», ²® ¯°¨±¢ ¨¢ ¨¥ x y, ¢»¯®«¥®¥ ¢³²°¨ ¯°®¶¥¤³°»,± °³¦¨ § ¬¥²¨²¼ ¥«¼§¿, ¯°¨±¢ ¨¢ ¨¥ f [x] 3 | ¬®¦®.
¯° ¦¥¨¿
1.1-1 «¥¤³¿ ®¡° §¶³ °¨±. 1.2, ¯®ª ¦¨²¥, ª ª ° ¡®² ¥²
Insertion-Sort ¢µ®¤¥ A = h31; 41; 59; 26; 41; 58i.
1.1-2 §¬¥¨²¥ ¯°®¶¥¤³°³ Insertion-Sort ² ª, ·²®¡» ® ±®°-
²¨°®¢ « ·¨±« ¢ ¥¢®§° ±² ¾¹¥¬ ¯®°¿¤ª¥ (¢¬¥±²® ¥³¡»¢ ¾¹¥-
£®).
1.1-3 ±±¬®²°¨¬ ±«¥¤³¾¹³¾ § ¤ ·³ ¯®¨±ª :
µ®¤: ®±«¥¤®¢ ²¥«¼®±²¼ n ·¨±¥« A = ha1; a2; : : : ; ani ¨ ·¨±«® v.»µ®¤: ¤¥ª± i, ¤«¿ ª®²®°®£® v = A[i], ¨«¨ ±¯¥¶¨ «¼®¥ § ·¥¨¥
nil, ¥±«¨ v ¥ ¢±²°¥· ¥²±¿ ¢ A.
¯¨¸¨²¥ ¯°®£° ¬¬³ «¨¥©®£® ¯®¨±ª (linear search), ª®²®°»©
¯®±«¥¤®¢ ²¥«¼® ¯°®±¬ ²°¨¢ ¥² A ¢ ¯®¨±ª µ v.
1.1-4 » ¤¢ n-§ ·»µ ¤¢®¨·»µ ·¨±« , § ¯¨± »µ ¢ ¢¨¤¥
n-½«¥¬¥²»µ ¬ ±±¨¢®¢ A ¨ B. °¥¡³¥²±¿ ¯®¬¥±²¨²¼ ¨µ ±³¬¬³ (¢
¤¢®¨·®© § ¯¨±¨) ¢ (n+1)-½«¥¬¥²»© ¬ ±±¨¢ C. ²®·¨²¥ ¯®±² -
®¢ª³ § ¤ ·¨ ¨ § ¯¨¸¨²¥ ±®®²¢¥²±²¢³¾¹³¾ ¯°®£° ¬¬³ ¯±¥¢¤®-
ª®¤¥.
1.2. «¨§ «£®°¨²¬®¢
±±¬ ²°¨¢ ¿ ° §«¨·»¥ «£®°¨²¬» °¥¸¥¨¿ ®¤®© ¨ ²®© ¦¥ § -
¤ ·¨, ¯®«¥§® ¯°® «¨§¨°®¢ ²¼, ±ª®«¼ª® ¢»·¨±«¨²¥«¼»µ °¥±³°-
±®¢ ®¨ ²°¥¡³¾² (¢°¥¬¿ ¢»¯®«¥¨¿, ¯ ¬¿²¼), ¨ ¢»¡° ²¼ ¨¡®-
«¥¥ ½´´¥ª²¨¢»©. ®¥·®, ¤® ¤®£®¢®°¨²¼±¿ ® ²®¬, ª ª ¿ ¬®-
¤¥«¼ ¢»·¨±«¥¨© ¨±¯®«¼§³¥²±¿. ½²®© ª¨£¥ ¢ ª ·¥±²¢¥ ¬®¤¥«¨ ¯®
¡®«¼¸¥© · ±²¨ ¨±¯®«¼§³¥²±¿ ®¡»· ¿ ®¤®¯°®¶¥±±®° ¿ ¬ ¸¨ ±
¯°®¨§¢®«¼»¬ ¤®±²³¯®¬ (random-access machine, RAM), ¥ ¯°¥¤³-
±¬ ²°¨¢ ¾¹ ¿ ¯ ° ««¥«¼®£® ¢»¯®«¥¨¿ ®¯¥° ¶¨©. (» ° ±±¬®-
²°¨¬ ¥ª®²®°»¥ ¬®¤¥«¨ ¯ ° ««¥«¼»µ ¢»·¨±«¥¨© ¢ ¯®±«¥¤¥© · -
±²¨ ª¨£¨.)
®°²¨°®¢ª ¢±² ¢ª ¬¨: «¨§
°¥¬¿ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨ § ¢¨±¨² ®² ° §¬¥° ±®°²¨°³¥¬®-
£® ¬ ±±¨¢ : ·¥¬ ¡®«¼¸¥ ¬ ±±¨¢, ²¥¬ ¡®«¼¸¥ ¬®¦¥² ¯®²°¥¡®¢ ²¼±¿
-
«¨§ «£®°¨²¬®¢ 19
¢°¥¬¥¨. ¡»·® ¨§³· ¾² § ¢¨±¨¬®±²¨ ¢°¥¬¥¨ ° ¡®²» ®² ° §¬¥-
° ¢µ®¤ . (¯°®·¥¬, ¤«¿ «£®°¨²¬ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨ ¢ ¦¥
¥ ²®«¼ª® ° §¬¥° ¬ ±±¨¢ , ® ¨ ¯®°¿¤®ª ¥£® ½«¥¬¥²®¢: ¥±«¨ ¬ ±±¨¢
¯®·²¨ ³¯®°¿¤®·¥, ²® ¢°¥¬¥¨ ²°¥¡³¥²±¿ ¬¥¼¸¥.)
ª ¨§¬¥°¿²¼ ° §¬¥° ¢µ®¤ (input size)? ²® § ¢¨±¨² ®² ª®ª°¥²-
®© § ¤ ·¨. ®¤¨µ ±«³· ¿µ ° §³¬® ±·¨² ²¼ ·¨±«® ½«¥¬¥²®¢
¢µ®¤¥ (±®°²¨°®¢ª , ¯°¥®¡° §®¢ ¨¥ ³°¼¥). ¤°³£¨µ ¡®«¥¥ ¥±²¥-
±²¢¥® ±·¨² ²¼ ®¡¹¥¥ ·¨±«® ¡¨²®¢, ¥®¡µ®¤¨¬®¥ ¤«¿ ¯°¥¤±² ¢«¥-
¨¿ ¢±¥µ ¢µ®¤»µ ¤ »µ. ®£¤ ° §¬¥° ¢µ®¤ ¨§¬¥°¿¥²±¿ ¥ ®¤-
¨¬ ·¨±«®¬, ¥±ª®«¼ª¨¬¨ ( ¯°¨¬¥°, ·¨±«® ¢¥°¸¨ ¨ ·¨±«® °¥¡¥°
£° ´ ).
°¥¬¥¥¬ ° ¡®²» (running time) «£®°¨²¬ ¬» §»¢ ¥¬ ·¨±«®
½«¥¬¥² °»µ ¸ £®¢, ª®²®°»¥ ® ¢»¯®«¿¥² | ¢®¯°®± ²®«¼ª® ¢
²®¬, ·²® ±·¨² ²¼ ½«¥¬¥² °»¬ ¸ £®¬. » ¡³¤¥¬ ¯®« £ ²¼, ·²®
®¤ ±²°®ª ¯±¥¢¤®ª®¤ ²°¥¡³¥² ¥ ¡®«¥¥ ·¥¬ ´¨ª±¨°®¢ ®£® ·¨-
±« ®¯¥° ¶¨© (¥±«¨ ²®«¼ª® ½²® ¥ ±«®¢¥±®¥ ®¯¨± ¨¥ ª ª®©-²® ±«®¦-
®© ®¯¥° ¶¨¨ | ²¨¯ À®²±®°²¨°®¢ ²¼ ¢±¥ ²®·ª¨ ¯® x-ª®®°¤¨ ²¥Á).
» ¡³¤¥¬ ° §«¨· ²¼ ² ª¦¥ ¢»§®¢ (call) ¯°®¶¥¤³°» ( ª®²®°»©
³µ®¤¨² ´¨ª±¨°®¢ ®¥ ·¨±«® ®¯¥° ¶¨©) ¨ ¥¥ ¨±¯®«¥¨¥ (execution),
ª®²®°®¥ ¬®¦¥² ¡»²¼ ¤®«£¨¬.
² ª, ¢¥°¥¬±¿ ª ¯°®¶¥¤³°¥ Insertion-Sort ¨ ®²¬¥²¨¬ ®ª®«®
ª ¦¤®© ±²°®ª¨ ¥¥ ±²®¨¬®±²¼ (·¨±«® ®¯¥° ¶¨©) ¨ ·¨±«® ° §, ª®-
²®°®¥ ½² ±²°®ª ¨±¯®«¿¥²±¿. «¿ ª ¦¤®£® j ®² 2 ¤® n (§¤¥±¼
n = length[A] | ° §¬¥° ¬ ±±¨¢ ) ¯®¤±·¨² ¥¬, ±ª®«¼ª® ° § ¡³¤¥²¨±¯®«¥ ±²°®ª 5, ¨ ®¡®§ ·¨¬ ½²® ·¨±«® ·¥°¥§ tj . ( ¬¥²¨¬, ·²®
±²°®ª¨ ¢³²°¨ ¶¨ª« ¢»¯®«¿¾²±¿ ®¤¨ ° § ¬¥¼¸¥, ·¥¬ ¯°®-
¢¥°ª , ¯®±ª®«¼ª³ ¯®±«¥¤¿¿ ¯°®¢¥°ª ¢»¢®¤¨² ¨§ ¶¨ª« .)
Insertion-Sort(A) ±²®¨¬®±²¼ ·¨±«® ° §
1 for j 2 to length[A] c1 n2 do key A[j] c2 n � 13 . ¤®¡ ¢¨²¼ A[j] ª ®²±®°²¨°®-
. ¢ ®© · ±²¨ A[1 : : j � 1]. 0 n � 14 i j � 1 c4 n � 15 while i > 0 and A[i] > key c5
Pn
j=2 tj
6 do A[i+ 1] A[i] c6P
n
j=2(tj � 1)7 i i� 1 c7
Pn
j=2(tj � 1)8 A[i+ 1] key c8 n � 1
²°®ª ±²®¨¬®±²¨ c, ¯®¢²®°¥ ¿ m ° §, ¤ ¥² ¢ª« ¤ cm ¢ ®¡-
¹¥¥ ·¨±«® ®¯¥° ¶¨©. («¿ ª®«¨·¥±²¢ ¨±¯®«¼§®¢ ®© ¯ ¬¿²¨ ½²®£®
-
20 « ¢ 1 ¢¥¤¥¨¥
±ª § ²¼ ¥«¼§¿!) «®¦¨¢ ¢ª« ¤» ¢±¥µ ±²°®ª, ¯®«³·¨¬
T (n) = c1n+ c2(n� 1) + c4(n� 1) + c5nXj=2
tj +
+ c6
nXj=2
(tj � 1) + c7nXj=2
(tj � 1) + c8(n� 1):
ª ¬» ³¦¥ £®¢®°¨«¨, ¢°¥¬¿ ° ¡®²» ¯°®¶¥¤³°» § ¢¨±¨² ¥ ²®«¼ª®
®² n, ® ¨ ®² ²®£®, ª ª®© ¨¬¥® ¬ ±±¨¢ ° §¬¥° n ¯®¤ ¥© ¢µ®¤.
«¿ ¯°®¶¥¤³°» Insertion-Sort ¨¡®«¥¥ ¡« £®¯°¨¿²¥ ±«³· ©, ª®-
£¤ ¬ ±±¨¢ ³¦¥ ®²±®°²¨°®¢ . ®£¤ ¶¨ª« ¢ ±²°®ª¥ 5 § ¢¥°¸ ¥²±¿
¯®±«¥ ¯¥°¢®© ¦¥ ¯°®¢¥°ª¨ (¯®±ª®«¼ª³ A[i] 6 key ¯°¨ i = j� 1), ² ª·²® ¢±¥ tj ° ¢» 1, ¨ ®¡¹¥¥ ¢°¥¬¿ ¥±²¼
T (n) = c1n+ c2(n� 1) + c4(n� 1) + c5(n� 1) + c8(n� 1) == (c1 + c2 + c4 + c5 + c8)n� (c2 + c4 + c5 + c8):
ª¨¬ ®¡° §®¬, ¢ ¨¡®«¥¥ ¡« £®¯°¨¿²®¬ ±«³· ¥ ¢°¥¬¿ T (n), ¥-
®¡µ®¤¨¬®¥ ¤«¿ ®¡° ¡®²ª¨ ¬ ±±¨¢ ° §¬¥° n, ¿¢«¿¥²±¿ «¨¥©®©
´³ª¶¨¥© (linear function) ®² n, ². ¥. ¨¬¥¥² ¢¨¤ T (n) = an + b ¤«¿
¥ª®²®°»µ ª®±² ² a ¨ b. (²¨ ª®±² ²» ®¯°¥¤¥«¿¾²±¿ ¢»¡° -
»¬¨ § ·¥¨¿¬¨ c1; : : : ; c8.)
±«¨ ¦¥ ¬ ±±¨¢ ° ±¯®«®¦¥ ¢ ®¡° ²®¬ (³¡»¢ ¾¹¥¬) ¯®°¿¤ª¥,
¢°¥¬¿ ° ¡®²» ¯°®¶¥¤³°» ¡³¤¥² ¬ ª±¨¬ «¼»¬: ª ¦¤»© ½«¥¬¥²
A[j] ¯°¨¤¥²±¿ ±° ¢¨²¼ ±® ¢±¥¬¨ ½«¥¬¥² ¬¨ A[1] : : :A[j � 1]. °¨½²®¬ tj = j. ±¯®¬¨ ¿, ·²®
nXj=2
j =n(n + 1)
2� 1;
nXj=2
(j � 1) = n(n � 1)2
(±¬. £«. 3), ¯®«³· ¥¬, ·²® ¢ µ³¤¸¥¬ ±«³· ¥ ¢°¥¬¿ ° ¡®²» ¯°®¶¥¤³°»
° ¢®
T (n) = c1n + c2(n � 1) + c4(n� 1) + c5�n(n + 1)
2� 1�+
+ c6
�n(n� 1)
2
�+ c7
�n(n� 1)
2
�+ c8(n� 1) =
=�c5
2+c6
2+c7
2
�n2 +
�c1 + c2 + c4 +
c5
2� c6
2� c7
2+ c8
�n �
� (c2 + c4 + c5 + c8):
¥¯¥°¼ ´³ª¶¨¿ T (n) | ª¢ ¤° ²¨· ¿ (quadratic function), ². ¥.
¨¬¥¥² ¢¨¤ T (n) = an2 + bn + c. (®±² ²» a, b ¨ c ±®¢ ®¯°¥-
¤¥«¿¾²±¿ § ·¥¨¿¬¨ c1{c8.)
-
«¨§ «£®°¨²¬®¢ 21
°¥¬¿ ° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥ ¨ ¢ ±°¥¤¥¬
² ª, ¬» ¢¨¤¨¬, ·²® ¢°¥¬¿ ° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥ ¨ ¢ «³·¸¥¬
±«³· ¥ ¬®£³² ±¨«¼® ° §«¨· ²¼±¿. ®«¼¸¥© · ±²¼¾ ± ¡³¤¥² ¨²¥-
°¥±®¢ ²¼ ¢°¥¬¿ ° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥ (worst-case running time),
ª®²®°®¥ ®¯°¥¤¥«¿¥²±¿ ª ª ¬ ª±¨¬ «¼®¥ ¢°¥¬¿ ° ¡®²» ¤«¿ ¢µ®¤®¢
¤ ®£® ° §¬¥° . ®·¥¬³? ®² ¥±ª®«¼ª® ¯°¨·¨.
� ¿ ¢°¥¬¿ ° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥, ¬» ¬®¦¥¬ £ ° ²¨°®¢ ²¼,·²® ¢»¯®«¥¨¥ «£®°¨²¬ § ª®·¨²±¿ § ¥ª®²®°®¥ ¢°¥¬¿, ¤ -
¦¥ ¥ § ¿, ª ª®© ¨¬¥® ¢µ®¤ (¤ ®£® ° §¬¥° ) ¯®¯ ¤¥²±¿.
� ¯° ª²¨ª¥ À¯«®µ¨¥Á ¢µ®¤» (¤«¿ ª®²®°»µ ¢°¥¬¿ ° ¡®²» ¡«¨§-ª® ª ¬ ª±¨¬³¬³) ¬®£³² · ±²® ¯®¯ ¤ ²¼±¿. ¯°¨¬¥°, ¤«¿ ¡ §»
¤ »µ ¯«®µ¨¬ § ¯°®±®¬ ¬®¦¥² ¡»²¼ ¯®¨±ª ®²±³²±²¢³¾¹¥£®
½«¥¬¥² (¤®¢®«¼® · ±² ¿ ±¨²³ ¶¨¿).
� °¥¬¿ ° ¡®²» ¢ ±°¥¤¥¬ ¬®¦¥² ¡»²¼ ¤®¢®«¼® ¡«¨§ª® ª ¢°¥¬¥¨° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥. ³±²¼, ¯°¨¬¥°, ¬» ±®°²¨°³¥¬ ±«³-
· ©® ° ±¯®«®¦¥»¥ n ·¨±¥« ¢ ¯®¬®¹¼¾ ¯°®¶¥¤³°» Insertion-Sort. ª®«¼ª® ° § ¯°¨¤¥²±¿ ¢»¯®«¨²¼ ¶¨ª« ¢ ±²°®ª µ 5{8?
±°¥¤¥¬ ®ª®«® ¯®«®¢¨» ½«¥¬¥²®¢ ¬ ±±¨¢ A[1 : : j � 1] ¡®«¼¥A[j], ² ª ·²® tj ¢ ±°¥¤¥¬ ¬®¦® ±·¨² ²¼ ° ¢»¬ j=2, ¨ ¢°¥-
¬¿ T (n) ª¢ ¤° ²¨·® § ¢¨±¨² ®² n.
¥ª®²®°»µ ±«³· ¿µ ± ¡³¤¥² ¨²¥°¥±®¢ ²¼ ² ª¦¥ ±°¥¤¥¥ ¢°¥-
¬¿ ° ¡®²» (average-case running time, expexted running time) «£®-
°¨²¬ ¢µ®¤ µ ¤ ®© ¤«¨». ®¥·®, ½² ¢¥«¨·¨ § ¢¨±¨² ®²
¢»¡° ®£® ° ±¯°¥¤¥«¥¨¿ ¢¥°®¿²®±²¥© (®¡»·® ° ±±¬ ²°¨¢ ¥²-
±¿ ° ¢®¬¥°®¥ ° ±¯°¥¤¥«¥¨¥), ¨ ¯° ª²¨ª¥ °¥ «¼®¥ ° ±¯°¥¤¥-
«¥¨¥ ¢µ®¤®¢ ¬®¦¥² ®ª § ²¼±¿ ±®¢±¥¬ ¤°³£¨¬. (®£¤ ¥£® ¬®¦®
¯°¥®¡° §®¢ ²¼ ¢ ° ¢®¬¥°®¥, ¨±¯®«¼§³¿ ¤ ²·¨ª ±«³· ©»µ ·¨±¥«.)
®°¿¤®ª °®±²
¸ «¨§ ¢°¥¬¥¨ ° ¡®²» ¯°®¶¥¤³°» Insertion-Sort ¡»«
®±®¢ ¥±ª®«¼ª¨µ ³¯°®¹ ¾¹¨µ ¯°¥¤¯®«®¦¥¨¿µ. · « ¬»
¯°¥¤¯®«®¦¨«¨, ·²® ¢°¥¬¿ ¢»¯®«¥¨¿ i-© ±²°®ª¨ ¯®±²®¿® ¨ ° ¢-
® ci. ²¥¬ ¬» ®£°³¡¨«¨ ®¶¥ª³ ¤® an2+bn+c. ¥©· ± ¬» ¯®©¤¥¬
¥¹¥ ¤ «¼¸¥ ¨ ±ª ¦¥¬, ·²® ¢°¥¬¿ ° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥ ¨¬¥¥²
¯®°¿¤®ª °®±² (rate of growth, order of growth) n2, ®²¡° ±»¢ ¿ ·«¥-
» ¬¥¼¸¨µ ¯®°¿¤ª®¢ («¨¥©»¥) ¨ ¥ ¨²¥°¥±³¿±¼ ª®½´´¨¶¨¥²®¬
¯°¨ n2. ²® § ¯¨±»¢ ¾² ² ª: T (n) = �(n2) (¯®¤°®¡®¥ ®¡º¿±¥¨¥
®¡®§ ·¥¨© ¬» ®²«®¦¨¬ ¤® ±«¥¤³¾¹¥© £« ¢»).
«£®°¨²¬ ± ¬¥¼¸¨¬ ¯®°¿¤ª®¬ °®±² ¢°¥¬¥¨ ° ¡®²» ®¡»·®
¯°¥¤¯®·²¨²¥«¥: ¥±«¨, ±ª ¦¥¬, ®¤¨ «£®°¨²¬ ¨¬¥¥² ¢°¥¬¿ ° ¡®²»
�(n2), ¤°³£®© | �(n3), ²® ¯¥°¢»© ¡®«¥¥ ½´´¥ª²¨¢¥ (¯® ª° ©¥©
¬¥°¥ ¤«¿ ¤®±² ²®·® ¤«¨»µ ¢µ®¤®¢; ¡³¤³² «¨ °¥ «¼»¥ ¢µ®¤»
² ª®¢»¬¨ | ¤°³£®© ¢®¯°®±).
-
22 « ¢ 1 ¢¥¤¥¨¥
¯° ¦¥¨¿
1.2-1 ³¤¥¬ ±®°²¨°®¢ ²¼ ¬ ±±¨¢ ¨§ n ½«¥¬¥²®¢ ² ª: ¯°®±¬®²°¨¬
¥£® ¨ ©¤¥¬ ¬¨¨¬ «¼»© ½«¥¬¥², ª®²®°»© ±ª®¯¨°³¥¬ ¢ ¯¥°¢³¾
¿·¥©ª³ ¤°³£®£® ¬ ±±¨¢ . ²¥¬ ¯°®±¬®²°¨¬ ¥£® ±®¢ ¨ ©¤¥¬
±«¥¤³¾¹¨© ½«¥¬¥², ¨ ² ª ¤ «¥¥. ª®© ±¯®±®¡ ±®°²¨°®¢ª¨ ¬®¦®
§¢ ²¼ ±®°²¨°®¢ª®© ¢»¡®°®¬ (selection sort). ¯¨¸¨²¥ ½²®² «£®-
°¨²¬ ± ¯®¬®¹¼¾ ¯±¥¢¤®ª®¤ . ª ¦¨²¥ ¢°¥¬¿ ¥£® ° ¡®²» ¢ «³·¸¥¬
¨ µ³¤¸¥¬ ±«³· ¿µ, ¨±¯®«¼§³¿ �-®¡®§ ·¥¨¿.
1.2-2 ¥°¥¬±¿ ª «£®°¨²¬³ «¨¥©®£® ¯®¨±ª (³¯°. 1.1-3).
ª®«¼ª® ±° ¢¥¨© ¯®²°¥¡³¥²±¿ ¢ ±°¥¤¥¬ ½²®¬³ «£®°¨²¬³, ¥±«¨
¨±ª®¬»¬ ½«¥¬¥²®¬ ¬®¦¥² ¡»²¼ «¾¡®© ½«¥¬¥² ¬ ±±¨¢ (± ®¤¨ -
ª®¢®© ¢¥°®¿²®±²¼¾)? ª®¢® ¢°¥¬¿ ° ¡®²» ¢ µ³¤¸¥¬ ±«³· ¥ ¨ ¢
±°¥¤¥¬? ª § ¯¨± ²¼ ½²¨ ¢°¥¬¥ ± ¯®¬®¹¼¾ �-®¡®§ ·¥¨©?
1.2-3 ¯®±«¥¤®¢ ²¥«¼®±²¼ ·¨±¥« x1; x2; : : : ; xn. ®ª ¦¨²¥,
·²® § ¢°¥¬¿ �(n logn) ¬®¦® ®¯°¥¤¥«¨²¼, ¥±²¼ «¨ ¢ ½²®© ¯®±«¥-
¤®¢ ²¥«¼®±²¨ ¤¢ ®¤¨ ª®¢»µ ·¨±« .
1.2-4 » ª®½´´¨¶¨¥²» a0; a1; : : : ; an�1 ¬®£®·«¥ ; ²°¥¡³¥²±¿ ©²¨ ¥£® § ·¥¨¥ ¢ § ¤ ®© ²®·ª¥ x. ¯¨¸¨²¥ ¥±²¥±²¢¥»© «-
£®°¨²¬, ²°¥¡³¾¹¨© ¢°¥¬¥¨ �(n2). ª ¢»¯®«¨²¼ ¢»·¨±«¥¨¿ §
¢°¥¬¿ �(n), ¥ ¨±¯®«¼§³¿ ¤®¯®«¨²¥«¼®£® ¬ ±±¨¢ ? ±¯®«¼§³©²¥
À±µ¥¬³ ®°¥° Á:
n�1Xi=0
aixi = (: : :(an�1x + an�2)x+ : : :+ a1)x+ a0:
1.2-5 ª § ¯¨± ²¼ ¢»° ¦¥¨¥ n3=1000� 100n2 � 100n + 3 ± ¯®-¬®¹¼¾ �-®¡®§ ·¥¨©?
1.2-6 ®·²¨ «¾¡®© «£®°¨²¬ ¬®¦® ¥¬®£® ¨§¬¥¨²¼, ° ¤¨-
ª «¼® ³¬¥¼¸¨¢ ¢°¥¬¿ ¥£® ° ¡®²» ¢ «³·¸¥¬ ±«³· ¥. ª?
1.3. ®±²°®¥¨¥ «£®°¨²¬®¢
±²¼ ¬®£® ±² ¤ °²»µ ¯°¨¥¬®¢, ¨±¯®«¼§³¥¬»µ ¯°¨ ¯®±²°®¥-
¨¨ «£®°¨²¬®¢. ®°²¨°®¢ª ¢±² ¢ª ¬¨ ¿¢«¿¥²±¿ ¯°¨¬¥°®¬ «£®-
°¨²¬ , ¤¥©±²¢³¾¹¥£® ¯® ¸ £ ¬ (incremental approach): ¬» ¤®¡ -
¢«¿¥¬ ½«¥¬¥²» ®¤¨ § ¤°³£¨¬ ª ®²±®°²¨°®¢ ®© · ±²¨ ¬ ±±¨¢ .
½²®¬ ° §¤¥«¥ ¬» ¯®ª ¦¥¬ ¢ ¤¥©±²¢¨¨ ¤°³£®© ¯®¤µ®¤, ª®²®-
°»© §»¢ ¾² À° §¤¥«¿© ¨ ¢« ±²¢³©Á (divide-and-conquer approach),
¨ ¯®±²°®¨¬ ± ¥£® ¯®¬®¹¼¾ § ·¨²¥«¼® ¡®«¥¥ ¡»±²°»© «£®°¨²¬
±®°²¨°®¢ª¨.
-
®±²°®¥¨¥ «£®°¨²¬®¢ 23
1.3.1. °¨¶¨¯ À° §¤¥«¿© ¨ ¢« ±²¢³©Á
®£¨¥ «£®°¨²¬» ¯® ¯°¨°®¤¥ °¥ª³°±¨¢» (recursive algorithms):
°¥¸ ¿ ¥ª®²®°³¾ § ¤ ·³, ®¨ ¢»§»¢ ¾² ± ¬¨µ ±¥¡¿ ¤«¿ °¥¸¥¨¿
¥¥ ¯®¤§ ¤ ·. ¤¥¿ ¬¥²®¤ À° §¤¥«¿© ¨ ¢« ±²¢³©Á ±®±²®¨² ª ª ° § ¢
½²®¬. · « § ¤ · ° §¡¨¢ ¥²±¿ ¥±ª®«¼ª® ¯®¤§ ¤ · ¬¥¼¸¥-
£® ° §¬¥° . ²¥¬ ½²¨ § ¤ ·¨ °¥¸ ¾²±¿ (± ¯®¬®¹¼¾ °¥ª³°±¨¢®£®
¢»§®¢ | ¨«¨ ¥¯®±°¥¤±²¢¥®, ¥±«¨ ° §¬¥° ¤®±² ²®·® ¬ «). -
ª®¥¶, ¨µ °¥¸¥¨¿ ª®¬¡¨¨°³¾²±¿ ¨ ¯®«³· ¥²±¿ °¥¸¥¨¥ ¨±µ®¤®©
§ ¤ ·¨.
«¿ § ¤ ·¨ ±®°²¨°®¢ª¨ ½²¨ ²°¨ ½² ¯ ¢»£«¿¤¿² ² ª. · -
« ¬» ° §¡¨¢ ¥¬ ¬ ±±¨¢ ¤¢¥ ¯®«®¢¨» ¬¥¼¸¥£® ° §¬¥° . -
²¥¬ ¬» ±®°²¨°³¥¬ ª ¦¤³¾ ¨§ ¯®«®¢¨ ®²¤¥«¼®. ®±«¥ ½²®£® ¬
®±² ¥²±¿ ±®¥¤¨¨²¼ ¤¢ ³¯®°¿¤®·¥»µ ¬ ±±¨¢ ¯®«®¢¨®£® ° §-
¬¥° ¢ ®¤¨. ¥ª³°±¨¢®¥ ° §¡¨¥¨¥ § ¤ ·¨ ¬¥¼¸¨¥ ¯°®¨±µ®-
¤¨² ¤® ²¥µ ¯®°, ¯®ª ° §¬¥° ¬ ±±¨¢ ¥ ¤®©¤¥² ¤® ¥¤¨¨¶» («¾¡®©
¬ ±±¨¢ ¤«¨» 1 ¬®¦® ±·¨² ²¼ ³¯®°¿¤®·¥»¬).
¥²°¨¢¨ «¼®© · ±²¼¾ ¿¢«¿¥²±¿ ±®¥¤¨¥¨¥ ¤¢³µ ³¯®°¿¤®·¥»µ
¬ ±±¨¢®¢ ¢ ®¤¨. ® ¢»¯®«¿¥²±¿ ± ¯®¬®¹¼¾ ¢±¯®¬®£ ²¥«¼®©
¯°®¶¥¤³°» Merge(A; p; q; r). ° ¬¥²° ¬¨ ½²®© ¯°®¶¥¤³°» ¿¢«¿-¾²±¿ ¬ ±±¨¢ A ¨ ·¨±« p; q; r, ³ª §»¢ ¾¹¨¥ £° ¨¶» ±«¨¢ ¥¬»µ
³· ±²ª®¢. °®¶¥¤³° ¯°¥¤¯®« £ ¥², ·²® p 6 q < r ¨ ·²® ³· ±²ª¨
A[p : : q] ¨ A[q + 1 : :r] ³¦¥ ®²±®°²¨°®¢ », ¨ ±«¨¢ ¥² (merges) ¨µ ¢
®¤¨ ³· ±²®ª A[p : :r].
» ®±² ¢«¿¥¬ ¯®¤°®¡³¾ ° §° ¡®²ª³ ½²®© ¯°®¶¥¤³°» ·¨² ²¥«¾
(³¯°. 1.3-2), ® ¤®¢®«¼® ¿±®, ·²® ¢°¥¬¿ ° ¡®²» ¯°®¶¥¤³°»Merge¥±²¼ �(n), £¤¥ n| ®¡¹ ¿ ¤«¨ ±«¨¢ ¥¬»µ ³· ±²ª®¢ (n = r�p+1).²® «¥£ª® ®¡º¿±¨²¼ ª °² µ. ³±²¼ ¬» ¨¬¥¥¬ ¤¢¥ ±²®¯ª¨ ª °²,
¨ ¢ ª ¦¤®© ª °²» ¨¤³² ±¢¥°µ³ ¢¨§ ¢ ¢®§° ±² ¾¹¥¬ ¯®°¿¤ª¥. ª
±¤¥« ²¼ ¨§ ¨µ ®¤³? ª ¦¤®¬ ¸ £¥ ¬» ¡¥°¥¬ ¬¥¼¸³¾ ¨§ ¤¢³µ
¢¥°µ¨µ ª °² ¨ ª« ¤¥¬ ¥¥ (°³¡ ¸ª®© ¢¢¥°µ) ¢ °¥§³«¼²¨°³¾¹³¾
±²®¯ª³. ®£¤ ®¤ ¨§ ¨±µ®¤»µ ±²®¯®ª ±² ®¢¨²±¿ ¯³±²®©, ¬» ¤®-
¡ ¢«¿¥¬ ¢±¥ ®±² ¢¸¨¥±¿ ª °²» ¢²®°®© ±²®¯ª¨ ª °¥§³«¼²¨°³¾¹¥©
±²®¯ª¥. ±®, ·²® ª ¦¤»© ¸ £ ²°¥¡³¥² ®£° ¨·¥®£® ·¨±« ¤¥©-
±²¢¨©, ¨ ®¡¹¥¥ ·¨±«® ¤¥©±²¢¨© ¥±²¼ �(n).
¥¯¥°¼ ¯¨¸¥¬ ¯°®¶¥¤³°³ ±®°²¨°®¢ª¨ ±«¨¿¨¥¬Merge-Sort(A; p; r),
ª®²®° ¿ ±®°²¨°³¥² ³· ±²®ª A[p : :r] ¬ ±±¨¢ A, ¥ ¬¥¿¿ ®±² «¼-
³¾ · ±²¼ ¬ ±±¨¢ . °¨ p > r ³· ±²®ª ±®¤¥°¦¨² ¬ ª±¨¬³¬ ®¤¨
½«¥¬¥², ¨ ²¥¬ ± ¬»¬ ³¦¥ ®²±®°²¨°®¢ . ¯°®²¨¢®¬ ±«³· ¥
¬» ®²»±ª¨¢ ¥¬ ·¨±«® q, ª®²®°®¥ ¤¥«¨² ³· ±²®ª ¤¢¥ ¯°¨¬¥°®
° ¢»¥ · ±²¨ A[p : :q] (±®¤¥°¦¨² dn=2e ½«¥¬¥²®¢) ¨ A[q + 1 : :r](±®¤¥°¦¨² bn=2c ½«¥¬¥²®¢). ¤¥±¼ ·¥°¥§ bxc ¬» ®¡®§ · ¥¬ ¶¥«³¾· ±²¼ x ( ¨¡®«¼¸¥¥ ¶¥«®¥ ·¨±«®, ¬¥¼¸¥¥ ¨«¨ ° ¢®¥ x), ·¥°¥§
dxe | ¨¬¥¼¸¥¥ ¶¥«®¥ ·¨±«®, ¡®«¼¸¥¥ ¨«¨ ° ¢®¥ x.
-
24 « ¢ 1 ¢¥¤¥¨¥
sorted sequence | ®²±®°²¨°®¢ ¿ ¯®±«¥¤®¢ ²¥«¼®±²¼
merge | ±«¨¿¨¥
initial sequence | · «¼ ¿ ¯®±«¥¤®¢ ²¥«¼®±²¼
¨±. 1.3 ®°²¨°®¢ª ±«¨¿¨¥¬ ¤«¿ ¬ ±±¨¢ A = h5; 2; 4; 6; 1; 3; 2; 6i.
Merge-Sort(A; p; r)
1 if p < r
2 then q b(p+ r)=2c3 Merge-Sort(A; p; q)
4 Merge-Sort(A; q + 1; r)
5 Merge(A; p; q; r)
¥±¼ ¬ ±±¨¢ ²¥¯¥°¼ ¬®¦® ®²±®°²¨°®¢ ²¼ ± ¯®¬®¹¼¾ ¢»§®¢
Merge-Sort(A; 1; length[A]). ±«¨ ¤«¨ ¬ ±±¨¢ n = length[A] ¥±²¼±²¥¯¥¼ ¤¢®©ª¨, ²® ¢ ¯°®¶¥±±¥ ±®°²¨°®¢ª¨ ¯°®¨§®©¤¥² ±«¨¿¨¥ ¯ °
½«¥¬¥²®¢ ¢ ®²±®°²¨°®¢ »¥ ³· ±²ª¨ ¤«¨» 2, § ²¥¬ ±«¨¿¨¥ ¯ °
² ª¨µ ³· ±²ª®¢ ¢ ®²±®°²¨°®¢ »¥ ³· ±²ª¨ ¤«¨» 4 ¨ ² ª ¤ «¥¥ ¤®
n ( ¯®±«¥¤¥¬ ¸ £¥ ±®¥¤¨¿¾²±¿ ¤¢ ®²±®°²¨°®¢ »µ ³· ±²ª
¤«¨» n=2). ²®² ¯°®¶¥±± ¯®ª § °¨±. 1.3.
1.3.2. «¨§ «£®°¨²¬®¢ ²¨¯ À° §¤¥«¿© ¨ ¢« ±²¢³©Á
ª ®¶¥¨²¼ ¢°¥¬¿ ° ¡®²» °¥ª³°±¨¢®£® «£®°¨²¬ ? °¨ ¯®¤-
±·¥²¥ ¬» ¤®«¦» ³·¥±²¼ ¢°¥¬¿, § ²° ·¨¢ ¥¬®¥ °¥ª³°±¨¢»¥ ¢»-
§®¢», ² ª ·²® ¯®«³· ¥²±¿ ¥ª®²®°®¥ °¥ª³°°¥²®¥ ±®®²®¸¥¨¥
(recurrence equation). «¥¥ ±«¥¤³¥² ®¶¥¨²¼ ¢°¥¬¿ ° ¡®²», ¨±µ®¤¿
¨§ ½²®£® ±®®²®¸¥¨¿.
®² ¯°¨¬¥°® ª ª ½²® ¤¥« ¥²±¿. °¥¤¯®«®¦¨¬, ·²® «£®°¨²¬
° §¡¨¢ ¥² § ¤ ·³ ° §¬¥° n a ¯®¤§ ¤ ·, ª ¦¤ ¿ ¨§ ª®²®°»µ ¨¬¥-
¥² ¢ b ° § ¬¥¼¸¨© ° §¬¥°. ³¤¥¬ ±·¨² ²¼, ·²® ° §¡¨¥¨¥ ²°¥¡³¥²
¢°¥¬¥¨ D(n), ±®¥¤¨¥¨¥ ¯®«³·¥»µ °¥¸¥¨© | ¢°¥¬¥¨ C(n).
-
®±²°®¥¨¥ «£®°¨²¬®¢ 25
®£¤ ¯®«³· ¥¬ ±®®²®¸¥¨¥ ¤«¿ ¢°¥¬¥¨ ° ¡®²» T (n) § ¤ · µ
° §¬¥° n (¢ µ³¤¸¥¬ ±«³· ¥): T (n) = aT (n=b) + D(n) + C(n). ²®
±®®²®¸¥¨¥ ¢»¯®«¥® ¤«¿ ¤®±² ²®·® ¡®«¼¸¨µ n, ª®£¤ § ¤ ·³
¨¬¥¥² ±¬»±« ° §¡¨¢ ²¼ ¯®¤§ ¤ ·¨. «¿ ¬ «»µ n, ª®£¤ ² ª®¥
° §¡¨¥¨¥ ¥¢®§¬®¦® ¨«¨ ¥ ³¦®, ¯°¨¬¥¿¥²±¿ ª ª®©-²® ¯°¿-
¬®© ¬¥²®¤ °¥¸¥¨¿ § ¤ ·¨. ®±ª®«¼ª³ n ®£° ¨·¥®, ¢°¥¬¿ ° ¡®²»
²®¦¥ ¥ ¯°¥¢®±µ®¤¨² ¥ª®²®°®© ª®±² ²».
«¨§ ±®°²¨°®¢ª¨ ±«¨¿¨¥¬
«¿ ¯°®±²®²» ¡³¤¥¬ ¯°¥¤¯®« £ ²¼, ·²® ° §¬¥° ¬ ±±¨¢ (n) ¥±²¼
±²¥¯¥¼ ¤¢®©ª¨. ( ª ¬» ³¢¨¤¨¬ ¢ £« ¢¥ 4, ½²® ¥ ®·¥¼ ±³¹¥-
±²¢¥®.) ®£¤ ª ¦¤®¬ ¸ £¥ ±®°²¨°³¥¬»© ³· ±²®ª ¤¥«¨²±¿
¤¢¥ ° ¢»¥ ¯®«®¢¨». §¡¨¥¨¥ · ±²¨ (¢»·¨±«¥¨¥ £° ¨¶»)
²°¥¡³¥² ¢°¥¬¥¨ �(1), ±«¨¿¨¥ | ¢°¥¬¥¨ �(n). ®«³· ¥¬ ±®®²-
®¸¥¨¥
T (n) =
(�(1); ¥±«¨ n = 1,
2T (n=2) + �(n=2); ¥±«¨ n > 1.
ª ¬» ³¢¨¤¨¬ ¢ £« ¢¥ 4, ½²® ±®®²®¸¥¨¥ ¢«¥·¥² T (n) =
�(n logn), £¤¥ ·¥°¥§ log ¬» ®¡®§ · ¥¬ ¤¢®¨·»© «®£ °¨´¬ (®±®-
¢ ¨¥ «®£ °¨´¬®¢, ¢¯°®·¥¬, ¥ ¨£° ¥² °®«¨, ² ª ª ª ¯°¨¢®¤¨²
«¨¸¼ ª ¨§¬¥¥¨¾ ª®±² ²»). ®½²®¬³ ¤«¿ ¡®«¼¸¨µ n ±®°²¨-
°®¢ª ±«¨¿¨¥¬ ½´´¥ª²¨¢¥¥ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨, ²°¥¡³¾¹¥©
¢°¥¬¥¨ �(n2).
¯° ¦¥¨¿
1.3-1 «¥¤³¿ ®¡° §¶³ °¨±. 1.3, ¯®ª § ²¼ ° ¡®²³ ±®°²¨°®¢ª¨ ±«¨-
¿¨¥¬ ¤«¿ ¬ ±±¨¢ A = h3; 41; 52; 26; 38; 57; 9; 49i.
1.3-2 ¯¨± ²¼ ²¥ª±² ¯°®¶¥¤³°» Merge(A; p; q; r).
1.3-3 ®ª ¦¨²¥ ¯® ¨¤³ª¶¨¨, ·²® ¥±«¨
T (n) =
(2; ¥±«¨ n = 2,
2T (n=2) + n; ¥±«¨ n = 2k ¨ k > 1,
²® T (n) = n logn (¯°¨ ¢±¥µ n, ¿¢«¿¾¹¨µ±¿ ±²¥¯¥¿¬¨ ¤¢®©ª¨).
1.3-4 ®°²¨°®¢ª³ ¢±² ¢ª ¬¨ ¬®¦® ®´®°¬¨²¼ ª ª °¥ª³°±¨¢³¾
¯°®¶¥¤³°³: ¦¥« ¿ ®²±®°²¨°®¢ ²¼ A[1 : :n], ¬» (°¥ª³°±¨¢®) ±®°²¨-
°³¥¬ A[1 : :n � 1], § ²¥¬ ±² ¢¨¬ A[n] ¯° ¢¨«¼®¥ ¬¥±²® ¢ ®²-±®°²¨°®¢ ®¬ ¬ ±±¨¢¥ A[1 : :n�1]. ¯¨¸¨²¥ °¥ª³°°¥²®¥ ±®®²-®¸¥¨¥ ¤«¿ ¢°¥¬¥¨ ° ¡®²» ² ª®© ¯°®¶¥¤³°».
-
26 « ¢ 1 ¢¥¤¥¨¥
1.3-5 ®§¢° ¹ ¿±¼ ª § ¤ ·¥ ¯®¨±ª (³¯°. 1.1-3), § ¬¥²¨¬, ·²® ¯°¨
¯®¨±ª¥ ¢ ®²±®°²¨°®¢ ®¬ ¬ ±±¨¢¥ ¬» ¬®¦¥¬ ± · « ±° ¢¨²¼
¨±ª®¬»© ½«¥¬¥² ±® ±°¥¤¨¬ ½«¥¬¥²®¬ ¬ ±±¨¢ , ³§ ²¼, ¢ ª ª®©
¯®«®¢¨¥ ¥£® ±«¥¤³¥² ¨±ª ²¼, § ²¥¬ ¯°¨¬¥¨²¼ ²³ ¦¥ ¨¤¥¾ °¥ª³°-
±¨¢®. ª®© ±¯®±®¡ §»¢ ¥²±¿ ¤¢®¨·»¬ ¯®¨±ª®¬ (binary search).
¯¨¸¨²¥ ±®®²¢¥²±²¢³¾¹³¾ ¯°®£° ¬¬³, ¨±¯®«¼§³¿ ¶¨ª« ¨«¨ °¥-
ª³°±¨¾. ¡º¿±¨²¥, ¯®·¥¬³ ¢°¥¬¿ ¥¥ ° ¡®²» ¥±²¼ �(logn).
1.3-6 ¬¥²¨¬, ·²® ¶¨ª« while ¢ ±²°®ª µ 5{7 ¯°®¶¥¤³°»
Insertion-Sort (° §¤. 1.1) ¯°®±¬ ²°¨¢ ¥² ½«¥¬¥²» ®²±®°²¨-°®¢ ®£® ³· ±²ª A[1 : : j � 1] ¯®¤°¿¤. ¬¥±²® ½²®£® ¬®¦® ¡»«®¡» ¨±¯®«¼§®¢ ²¼ ¤¢®¨·»© ¯®¨±ª (³¯°. 1.3-5), ·²®¡» ©²¨ ¬¥±²®
¢±² ¢ª¨ § ¢°¥¬¿ �(log n). ¤ ±²±¿ «¨ ² ª¨¬ ®¡° §®¬ ±¤¥« ²¼
®¡¹¥¥ ¢°¥¬¿ ° ¡®²» ° ¢»¬ �(n logn)?
1.3-7? ¬ ±±¨¢ S ¨§ n ¤¥©±²¢¨²¥«¼»µ ·¨±¥«, ² ª¦¥ ·¨±«®
x. ª § ¢°¥¬¿ �(n logn) ®¯°¥¤¥«¨²¼, ¬®¦® «¨ ¯°¥¤±² ¢¨²¼ x ¢
¢¨¤¥ ±³¬¬» ¤¢³µ ½«¥¬¥²®¢ ¬ ±±¨¢ S?
¬¥· ¨¿
ª ¬®£ ¡» ±ª § ²¼ ®§¼¬ °³²ª®¢, µ®°®¸¨© «£®°¨²¬ ¯®¤®-
¡¥ ®±²°®¬³ ®¦³ | ²®² ¨ ¤°³£®© ¤®±²¨£ ¾² ¶¥«¨ «¥£ª® ¨ ¯°®±²®.
°³£®¥ ±° ¢¥¨¥: ·¥«®¢¥ª, ¯®«¼§³¾¹¨©±¿ ¯«®µ¨¬ «£®°¨²¬®¬, ¯®-
¤®¡¥ ¯®¢ °³, ®²¡¨¢ ¾¹¥¬³ ¬¿±® ®²¢¥°²ª®©: ¥¤¢ ±º¥¤®¡»© ¨ ¬ -
«®¯°¨¢«¥ª ²¥«¼»© °¥§³«¼² ² ¤®±²¨£ ¥²±¿ ¶¥®© ¡®«¼¸¨µ ³±¨«¨©.
±²® ° §¨¶ ¬¥¦¤³ ¯«®µ¨¬ ¨ µ®°®¸¨¬ «£®°¨²¬®¬ ¡®«¥¥ ±³-
¹¥±²¢¥ , ·¥¬ ¬¥¦¤³ ¡»±²°»¬ ¨ ¬¥¤«¥»¬ ª®¬¯¼¾²¥°®¬. ³±²¼
¬» µ®²¨¬ ®²±®°²¨°®¢ ²¼ ¬ ±±¨¢ ¨§ ¬¨««¨® ·¨±¥«. ²® ¡»±²°¥¥
| ±®°²¨°®¢ ²¼ ¥£® ¢±² ¢ª ¬¨ ±³¯¥°ª®¬¯¼¾²¥°¥ (100 ¬¨««¨®-
®¢ ®¯¥° ¶¨© ¢ ±¥ª³¤³) ¨«¨ ±«¨¿¨¥¬ ¤®¬ ¸¥¬ ª®¬¯¼¾²¥°¥
(1 ¬¨««¨® ®¯¥° ¶¨©)? ³±²¼ ª ²®¬³ ¦¥ ±®°²¨°®¢ª ¢±² ¢ª ¬¨ -
¯¨± ±±¥¬¡«¥°¥ ·°¥§¢»· ©® ½ª®®¬®, ¨ ¤«¿ ±®°²¨°®¢ª¨ n
·¨±¥« ³¦®, ±ª ¦¥¬, «¨¸¼ 2n2 ®¯¥° ¶¨©. ²® ¦¥ ¢°¥¬¿ «£®°¨²¬
±«¨¿¨¥¬ ¯¨± ¡¥§ ®±®¡®© § ¡®²» ®¡ ½´´¥ª²¨¢®±²¨ ¨ ·¨±«®
®¯¥° ¶¨© ¥±²¼ 50n logn. «¿ ±®°²¨°®¢ª¨ ¬¨««¨® ·¨±¥« ¯®«³· ¥¬
2 � (106)2 ®¯¥° ¶¨©108 ®¯¥° ¶¨© ¢ ±¥ª³¤³
= 20 000 ±¥ª³¤ � 5;56 · ±®¢
¤«¿ ±³¯¥°ª®¬¯¼¾²¥° ¨ ¢±¥£®
50 � (106) log(106) ®¯¥° ¶¨©106 ®¯¥° ¶¨© ¢ ±¥ª³¤³
� 1 000 ±¥ª³¤ � 17 ¬¨³²
¤«¿ ¤®¬ ¸¥£® ª®¬¯¼¾²¥° .
» ¢¨¤¨¬, ·²® ° §° ¡®²ª ½´´¥ª²¨¢»µ «£®°¨²¬®¢| ¥ ¬¥¥¥
¢ ¦ ¿ ª®¬¯¼¾²¥° ¿ ²¥µ®«®£¨¿, ·¥¬ ° §° ¡®²ª ¡»±²°®© ½«¥ª-
²°®¨ª¨. ½²®© ®¡« ±²¨ ² ª¦¥ ¯°®¨±µ®¤¨² § ¬¥²»© ¯°®£°¥±±.
-
¤ ·¨ ª £« ¢¥ 1 27
¯° ¦¥¨¿
1.3-1 ³±²¼ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨ ¨ ±«¨¿¨¥¬ ¨±¯®«¿¾²±¿
®¤®© ¨ ²®© ¦¥ ¬ ¸¨¥ ¨ ²°¥¡³¾² 8n2 ¨ 64n logn ±®®²¢¥²±²¢¥®.
«¿ ª ª¨µ § ·¥¨© n ±®°²¨°®¢ª ¢±² ¢ª ¬¨ ¿¢«¿¥²±¿ ¡®«¥¥ ½´´¥ª-
²¨¢®©? ª ¬®¦® ³«³·¸¨²¼ «£®°¨²¬ ±®°²¨°®¢ª¨ ±«¨¿¨¥¬?
1.3-2 °¨ ª ª®¬ ¨¬¥¼¸¥¬ § ·¥¨¨ n «£®°¨²¬, ¤¥« ¾¹¨©
100n2 ®¯¥° ¶¨©, ½´´¥ª²¨¢¥¥ «£®°¨²¬ , ¤¥« ¾¹¥£® 2n ®¯¥° ¶¨©?
¤ ·¨
1-1 ° ¢¥¨¥ ¢°¥¬¥¨ ° ¡®²»
³±²¼ ¨¬¥¥²±¿ «£®°¨²¬, °¥¸ ¾¹¨© § ¤ ·³ ° §¬¥° n § f(n)
¬¨ª°®±¥ª³¤. ª®¢ ¬ ª±¨¬ «¼»© ° §¬¥° § ¤ ·¨, ª®²®°³¾ ®
±¬®¦¥² °¥¸¨²¼ § ¢°¥¬¿ t? ©²¨ ¥£® ¤«¿ ´³ª¶¨© ¨ ¢°¥¬¥, ¯¥-
°¥·¨±«¥»µ ¢ ² ¡«¨¶¥.
1 1 1 1 1 1 1
±¥ª ¬¨ · ± ¤¥¼ ¬¥±¿¶ £®¤ ¢¥ª
lognpn
n
n logn
n2
n3
2n
n!
1-2 ®°²¨°®¢ª ¢±² ¢ª ¬¨ ¤«¿ ª®°®²ª¨µ ª³±ª®¢
±¨¬¯²®²¨·¥±ª¨ ±®°²¨°®¢ª ±«¨¿¨¥¬ ¡»±²°¥¥ ±®°²¨°®¢ª¨
¢±² ¢ª ¬¨, ® ¤«¿ ¬ «»µ n ±®®²®¸¥¨¥ ®¡° ²®¥. ®½²®¬³ ¨¬¥¥²
±¬»±« ¤®±² ²®·® ª®°®²ª¨¥ ª³±ª¨ ¥ ° §¡¨¢ ²¼ ¤ «¼¸¥, ¯°¨-
¬¥¿²¼ ª ¨¬ ±®°²¨°®¢ª³ ¢±² ¢ª ¬¨. ®¯°®± ¢ ²®¬, £¤¥ ±«¥¤³¥²
¯°®¢¥±²¨ £° ¨¶³.
. ³±²¼ ¬ ±±¨¢ ¤«¨» n ° §¡¨² k · ±²¥© ° §¬¥° n=k. ®-
ª ¦¨²¥, ·²® ¬®¦® ®²±®°²¨°®¢ ²¼ ¢±¥ · ±²¨ ¯® ®²¤¥«¼®±²¨ (±
¯®¬®¹¼¾ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨) § ¢°¥¬¿ �(nk).
¡. ®ª ¦¨²¥, ·²® ¯®±«¥ ½²®£® ¬®¦® ±«¨²¼ ¢±¥ · ±²¨ ¢ ®¤¨ ³¯®-
°¿¤®·¥»© ¬ ±±¨¢ § ¢°¥¬¿ �(n log(n=k)).
¢. ¥¬ ± ¬»¬ ®¡¹¥¥ ¢°¥¬¿ ° ¡®²» ² ª®£® ±¬¥¸ ®£® «£®°¨²¬
¥±²¼ �(nk+n log(n=k)). ª®¢ ¬ ª±¨¬ «¼ ¿ ±ª®°®±²¼ °®±² k ª ª
´³ª¶¨¨ ®² n, ¯°¨ ª®²®°®¬ ½²® ¢°¥¬¿ ¯®-¯°¥¦¥¬³ ¥±²¼ �(n logn)?
£. ª ¡» ¢» ±² «¨ ¢»¡¨° ²¼ ®¯²¨¬ «¼®¥ § ·¥¨¥ k ¯° ª-
-
28 « ¢ 1 ¢¥¤¥¨¥
²¨ª¥?
1-3 ¨±«® ¨¢¥°±¨©
³±²¼ A[1 : :n] | ¬ ±±¨¢ ¨§ n ° §«¨·»µ ·¨±¥«. ± ¡³¤¥² ¨-
²¥°¥±®¢ ²¼ ª®«¨·¥±²¢® ¨¢¥°±¨© (inversions) ¢ ½²®¬ ¬ ±±¨¢¥, ². ¥.
·¨±«® ¯ ° i < j, ¤«¿ ª®²®°»µ A[i] > A[j].
. ª ¦¨²¥ ¯¿²¼ ¨¢¥°±¨© ¢ ¬ ±±¨¢¥ h2; 3; 8; 6; 1i.¡. ª®¢® ¬ ª±¨¬ «¼® ¢®§¬®¦®¥ ·¨±«® ¨¢¥°±¨© ¢ ¬ ±±¨¢¥ ¤«¨-
» n?
¢. ª ±¢¿§ ® ¢°¥¬¿ ° ¡®²» «£®°¨²¬ ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨
¨ ·¨±«® ¨¢¥°±¨©? ¡º¿±¨²¥ ±¢®© ®²¢¥².
£. ®±²°®©²¥ «£®°¨²¬, ª®²®°»© ±·¨² ¥² ·¨±«® ¨¢¥°±¨© ¢ ¬ ±-
±¨¢¥ ¤«¨» n § ¢°¥¬¿ �(n logn). (ª § ¨¥: ®¤¨´¨¶¨°³©²¥ «-
£®°¨²¬ ±®°²¨°®¢ª¨ ±«¨¿¨¥¬.)
¬¥· ¨¿
±²¼ ¬®¦¥±²¢® µ®°®¸¨µ ª¨£ ® ¯®±²°®¥¨¨ «£®°¨²¬®¢. ®²
¥ª®²®°»¥ ¨§ ¨µ: µ®, ®¯ª°®´² ¨ «¼¬ [4,5], ± [14], ° ±-
± ° ¨ °¥²«¨ [14], ®°®¢¨¶ ¨ µ¨ [105], ³² [121, 122, 123],
¡¥° [142], ¥«¼µ®° [144, 145, 146], ³°¤®¬ ¨ ° ³ [164], ¥©-
£®«¼¤, ¨¢¥°£¥«¼² ¨ ¥® [167], ¥¤¦¢¨ª [175], ¨«´ [201]. ° ª-
²¨·¥±ª¨¥ ±¯¥ª²» ° §° ¡®²ª¨ ½´´¥ª²¨¢»µ «£®°¨²¬®¢: ¥²«¨
[24,25], ®¥² [90].
1968 £®¤³ ³² ®¯³¡«¨ª®¢ « ¯¥°¢»© ¨§ ²°¥µ ²®¬®¢ ±¥°¨¨ ±-ª³±±²¢® ¯°®£° ¬¬¨°®¢ ¨¿ ¤«¿ [121, 122, 123], ª®²®°»© ±² «
· «®¬ ®¢®© ½¯®µ¨ ¢ ³ª¥ ®¡ ½´´¥ª²¨¢»µ «£®°¨²¬ µ. ±¥ ²°¨
²®¬ ¤® ±¨µ ¯®° ®±² ¾²±¿ ¥§ ¬¥¨¬»¬ ±¯° ¢®·¨ª®¬. ª ¯¨¸¥²
³², ±«®¢® À «£®°¨²¬Á ¯°®¨±µ®¤¨² ®² ¨¬¥¨ ° ¡±ª®£® ¬ ²¥¬ ²¨-
ª ¤¥¢¿²®£® ¢¥ª «-®°¥§¬¨ (al-Khowârizm�̂, ¨«¨ al-Khwârizm�̂).
µ®, ®¯ª°®´² ¨ «¼¬ [4] ³ª § «¨ ¢ ¦®±²¼ ±¨¬¯²®²¨·¥-
±ª®£® «¨§ ¢°¥¬¥¨ ° ¡®²» ª ª ±°¥¤±²¢ ±° ¢¥¨¿ ½´´¥ª²¨¢-
®±²¨ «£®°¨²¬®¢. ¨ ¸¨°®ª® ¨±¯®«¼§®¢ «¨ °¥ª³°°¥²»¥ ±®®²-
®¸¥¨¿ ¤«¿ ¯®«³·¥¨¿ ®¶¥®ª ¢°¥¬¥¨ ° ¡®²».
¨£ ³² [123] ±®¤¥°¦¨² ¨±·¥°¯»¢ ¾¹¥¥ ¨§«®¦¥¨¥ ¬®¦¥-
±²¢ «£®°¨²¬®¢ ±®°²¨°®¢ª¨. ±° ¢¨¢ ¥² ° §«¨·»¥ «£®°¨²-
¬», ²®·® ¯®¤±·¨²»¢ ¿ ·¨±«® ° §«¨·»µ ¸ £®¢ (¬» ¤¥« «¨ ½²®
¤«¿ ±®°²¨°®¢ª¨ ±° ¢¥¨¥¬). ±±¬ ²°¨¢ ¾²±¿ ° §«¨·»¥ ¢ °¨ -
²» ±®°²¨°®¢ª¨ ¢±² ¢ª ¬¨, ¢ª«¾· ¿ ±®°²¨°®¢ª³ ¥«« (D.L. Shell),
ª®²®° ¿ ¨±¯®«¼§³¥² ±®°²¨°®¢ª³ ¯®¤¯®±«¥¤®¢ ²¥«¼®±²¥© ± ¯®±²®-
¿»¬ ¸ £®¬ ¤«¿ ³¬¥¼¸¥¨¿ ·¨±« ®¯¥° ¶¨©.
®°²¨°®¢ª ±«¨¿¨¥¬ ² ª¦¥ ®¯¨± ¢ ª¨£¥ ³² , ª®²®°»©
³ª §»¢ ¥², ·²® ¬¥µ ¨·¥±ª®¥ ³±²°®©±²¢® ¤«¿ ±«¨¿¨¿ ¤¢³µ ±²®-
¯®ª ¯¥°´®ª °² § ®¤¨ ¯°®µ®¤ ¡»«® ¨§®¡°¥²¥® ¢ 1938 £®¤³. ®-
-
¬¥· ¨¿ ª £« ¢¥ 1 29
¢¨¤¨¬®¬³, ¦® ´® ¥©¬ (J. von Neumann), ®¤¨ ¨§ ®±®¢ -
²¥«¥© ¨´®°¬ ²¨ª¨, ¯¨± « ¯°®£° ¬¬³ ±®°²¨°®¢ª¨ ±«¨¿¨¥¬ ¤«¿
ª®¬¯¼¾²¥° EDVAC ¢ 1945 £®¤³.
-
I ²¥¬ ²¨·¥±ª¨¥ ®±®¢» «¨§ «£®°¨²¬®¢
-
¢¥¤¥¨¥
½²®© · ±²¨ ±®¡° » ±¢¥¤¥¨¿