404
LÊ MINH HOÀNG BÀI GIẢNG CHUYÊN ĐỀ: GIẢI THUẬT VÀ LẬP TRÌNH Bài giảng chuyên đề Đại học Sư phạm Hà Nội, 1999-2002 Try not to become a man of success but rather to become a man of value. Albert Einstein i MỤC LỤC PHẦN 1. BÀI TOÁN LIỆT ................................................... ...................... 1 §1. NHẮC LẠI MỘT SỐ KIẾN THỨC ĐẠI SỐ TỔ HỢP................................................................2 1.1. CHỈNH HỢP LẶP......................................................................... ............................................................. 2 1.2. CHỈNH HỢP KHÔNG LẶP......................................................................... ............................................... 2 1.3. HOÁN VỊ .......................................................................... ......................................................................... 2 1.4. TỔ HỢP......................................................................... ............................................................................ .3 §2. PHƯƠNG PHÁP SINH (GENERATION) ........................................................ ............................4 2.1. SINH CÁC DÃY NHỊ PHÂN ĐỘ DÀI N........................................................................... ........................ 5 2.2. LIỆT KÊ CÁC TẬP CON K PHẦN TỬ .......................................................................... ........................... 6 2.3. LIỆT KÊ CÁC HOÁN VỊ .......................................................................... ................................................. 8 §3. THUẬT TOÁN QUAY LUI ................................................................. .........................................12 1

Lem in Hoang

Embed Size (px)

DESCRIPTION

Lem in Hoang

Citation preview

L MINH HO HONG

L MINH HONG

BI GING CHUYN : GII THUT V LP TRNH

Bi ging chuyn

i hc S phm H Ni, 1999-2002

Try not to become a man of success

but rather to become a man of value.

Albert Einstein

i

MC LC

PHN 1. BI TON LIT K ......................................................................... 1

1. NHC LI MT S KIN THC I S T HP................................................................2

1.1. CHNH HP LP...................................................................................................................................... 2

1.2. CHNH HP KHNG LP........................................................................................................................ 2

1.3. HON V ................................................................................................................................................... 2

1.4. T HP...................................................................................................................................................... 3

2. PHNG PHP SINH (GENERATION) ....................................................................................4

2.1. SINH CC DY NH PHN DI N................................................................................................... 5

2.2. LIT K CC TP CON K PHN T ..................................................................................................... 6

2.3. LIT K CC HON V ........................................................................................................................... 8

3. THUT TON QUAY LUI ..........................................................................................................12

3.1. LIT K CC DY NH PHN DI N ........................................................................................... 12

3.2. LIT K CC TP CON K PHN T ................................................................................................... 13

3.3. LIT K CC CHNH HP KHNG LP CHP K ............................................................................. 15

3.4. BI TON PHN TCH S .................................................................................................................... 16

3.5. BI TON XP HU............................................................................................................................. 18

4. K THUT NHNH CN...........................................................................................................24

4.1. BI TON TI U................................................................................................................................. 24

4.2. S BNG N T HP............................................................................................................................ 24

4.3. M HNH K THUT NHNH CN.................................................................................................... 24

4.4. BI TON NGI DU LCH ................................................................................................................. 25

4.5. DY ABC ................................................................................................................................................ 27

PHN 2. CU TRC D LIU V GII THUT ..................................... 33

1. CC BC C BN KHI TIN HNH GII CC BI TON TIN HC.........................34

1.1. XC NH BI TON........................................................................................................................... 34

1.2. TM CU TRC D LIU BIU DIN BI TON ............................................................................. 34

1.3. TM THUT TON ................................................................................................................................ 35

1.4. LP TRNH ............................................................................................................................................. 37

1.5. KIM TH............................................................................................................................................... 37

1.6. TI U CHNG TRNH...................................................................................................................... 38

2. PHN TCH THI GIAN THC HIN GII THUT ...........................................................40

2.1. GII THIU............................................................................................................................................. 40

2.2. CC K PHP NH GI PHC TP TNH TON............................................................. 40

2.3. XC NH PHC TP TNH TON CA GII THUT............................................................ 42

2.4. PHC TP TNH TON VI TNH TRNG D LIU VO....................................................... 45

2.5. CHI PH THC HIN THUT TON.................................................................................................... 46

ii

3. QUY V GII THUT QUY ......................................................................................... 50

3.1. KHI NIM V QUY........................................................................................................................50

3.2. GII THUT QUY............................................................................................................................50

3.3. V D V GII THUT QUY ..........................................................................................................51

3.4. HIU LC CA QUY .......................................................................................................................55

4. CU TRC D LIU BIU DIN DANH SCH.................................................................... 58

4.1. KHI NIM DANH SCH ......................................................................................................................58

4.2. BIU DIN DANH SCH TRONG MY TNH....................................................................................58

5. NGN XP V HNG I ........................................................................................................ 64

5.1. NGN XP (STACK)..............................................................................................................................64

5.2. HNG I (QUEUE)..............................................................................................................................66

6. CY (TREE)................................................................................................................................. 70

6.1. NH NGHA...........................................................................................................................................70

6.2. CY NH PHN (BINARY TREE) .........................................................................................................71

6.3. BIU DIN CY NH PHN ..................................................................................................................73

6.4. PHP DUYT CY NH PHN..............................................................................................................74

6.5. CY K_PHN .........................................................................................................................................76

6.6. CY TNG QUT..................................................................................................................................77

7. K PHP TIN T, TRUNG T V HU T ....................................................................... 79

7.1. BIU THC DI DNG CY NH PHN .........................................................................................79

7.2. CC K PHP CHO CNG MT BIU THC....................................................................................79

7.3. CCH TNH GI TR BIU THC........................................................................................................79

7.4. CHUYN T DNG TRUNG T SANG DNG HU T...................................................................83

7.5. XY DNG CY NH PHN BIU DIN BIU THC......................................................................86

8. SP XP (SORTING) .................................................................................................................. 87

8.1. BI TON SP XP...............................................................................................................................87

8.2. THUT TON SP XP KIU CHN (SELECTIONSORT)...............................................................89

8.3. THUT TON SP XP NI BT (BUBBLESORT)...........................................................................90

8.4. THUT TON SP XP KIU CHN...................................................................................................90

8.5. SHELLSORT............................................................................................................................................92

8.6. THUT TON SP XP KIU PHN ON (QUICKSORT)............................................................93

8.7. THUT TON SP XP KIU VUN NG (HEAPSORT) ................................................................99

8.8. SP XP BNG PHP M PHN PHI (DISTRIBUTION COUNTING)......................................102

8.9. TNH N NH CA THUT TON SP XP (STABILITY) .........................................................103

8.10. THUT TON SP XP BNG C S (RADIX SORT).................................................................104

8.11. THUT TON SP XP TRN (MERGESORT)..............................................................................109

8.12. CI T ..............................................................................................................................................112

8.13. NH GI, NHN XT......................................................................................................................119

9. TM KIM (SEARCHING) ....................................................................................................... 124

9.1. BI TON TM KIM...........................................................................................................................124

9.2. TM KIM TUN T (SEQUENTIAL SEARCH) ...............................................................................124

9.3. TM KIM NH PHN (BINARY SEARCH)........................................................................................124

9.4. CY NH PHN TM KIM (BINARY SEARCH TREE - BST).........................................................125

iii

9.5. PHP BM (HASH).............................................................................................................................. 130

9.6. KHO S VI BI TON TM KIM................................................................................................ 130

9.7. CY TM KIM S HC (DIGITAL SEARCH TREE - DST)............................................................ 131

9.8. CY TM KIM C S (RADIX SEARCH TREE - RST) .................................................................. 134

9.9. NHNG NHN XT CUI CNG ...................................................................................................... 139

PHN 3. QUY HOCH NG .................................................................... 141

1. CNG THC TRUY HI..........................................................................................................142

1.1. V D ..................................................................................................................................................... 142

1.2. CI TIN TH NHT........................................................................................................................... 143

1.3. CI TIN TH HAI.............................................................................................................................. 144

1.4. CI T QUY................................................................................................................................ 145

2. PHNG PHP QUY HOCH NG...................................................................................147

2.1. BI TON QUY HOCH ..................................................................................................................... 147

2.2. PHNG PHP QUY HOCH NG................................................................................................ 147

3. MT S BI TON QUY HOCH NG ............................................................................151

3.1. DY CON N IU TNG DI NHT........................................................................................... 151

3.2. BI TON CI TI.............................................................................................................................. 156

3.3. BIN I XU..................................................................................................................................... 158

3.4. DY CON C TNG CHIA HT CHO K............................................................................................ 162

3.5. PHP NHN T HP DY MA TRN............................................................................................... 166

3.6. BI TP LUYN TP........................................................................................................................... 170

PHN 4. CC THUT TON TRN TH .......................................... 175

1. CC KHI NIM C BN .......................................................................................................176

1.1. NH NGHA TH (GRAPH).......................................................................................................... 176

1.2. CC KHI NIM.................................................................................................................................. 177

2. BIU DIN TH TRN MY TNH..................................................................................179

2.1. MA TRN K (ADJACENCY MATRIX)............................................................................................. 179

2.2. DANH SCH CNH (EDGE LIST) ...................................................................................................... 180

2.3. DANH SCH K (ADJACENCY LIST) ............................................................................................... 181

2.4. NHN XT............................................................................................................................................ 182

3. CC THUT TON TM KIM TRN TH ...................................................................184

3.1. BI TON............................................................................................................................................. 184

3.2. THUT TON TM KIM THEO CHIU SU (DEPTH FIRST SEARCH)...................................... 185

3.3. THUT TON TM KIM THEO CHIU RNG (BREADTH FIRST SEARCH) ............................ 187

3.4. PHC TP TNH TON CA BFS V DFS ................................................................................ 190

4. TNH LIN THNG CA TH ..........................................................................................191

4.1. NH NGHA ........................................................................................................................................ 191

4.2. TNH LIN THNG TRONG TH V HNG ........................................................................... 192

iv

4.3. TH Y V THUT TON WARSHALL ...........................................................................192

4.4. CC THNH PHN LIN THNG MNH ........................................................................................195

5. VI NG DNG CA DFS v BFS ......................................................................................... 206

5.1. XY DNG CY KHUNG CA TH............................................................................................206

5.2. TP CC CHU TRNH C S CA TH......................................................................................209

5.3. BI TON NH CHIU TH ........................................................................................................209

5.4. LIT K CC KHP V CU CA TH......................................................................................213

6. CHU TRNH EULER, NG I EULER, TH EULER............................................. 216

6.1. BI TON 7 CI CU ..........................................................................................................................216

6.2. NH NGHA.........................................................................................................................................216

6.3. NH L................................................................................................................................................216

6.4. THUT TON FLEURY TM CHU TRNH EULER...........................................................................217

6.5. CI T ................................................................................................................................................218

6.6. THUT TON TT HN......................................................................................................................220

7. CHU TRNH HAMILTON, NG I HAMILTON, TH HAMILTON .................. 223

7.1. NH NGHA.........................................................................................................................................223

7.2. NH L................................................................................................................................................223

7.3. CI T ................................................................................................................................................224

8. BI TON NG I NGN NHT..................................................................................... 228

8.1. TH C TRNG S.........................................................................................................................228

8.2. BI TON NG I NGN NHT .................................................................................................228

8.3. TRNG HP TH KHNG C CHU TRNH M - THUT TON FORD BELLMAN.........230

8.4. TRNG HP TRNG S TRN CC CUNG KHNG M - THUT TON DIJKSTRA...........232

8.5. THUT TON DIJKSTRA V CU TRC HEAP .............................................................................235

8.6. TRNG HP TH KHNG C CHU TRNH - SP XP T P..............................................238

8.7. NG I NGN NHT GIA MI CP NH - THUT TON FLOYD...................................241

8.8. NHN XT ............................................................................................................................................243

9. BI TON CY KHUNG NH NHT................................................................................... 248

9.1. BI TON CY KHUNG NH NHT ................................................................................................248

9.2. THUT TON KRUSKAL (JOSEPH KRUSKAL - 1956) ...................................................................248

9.3. THUT TON PRIM (ROBERT PRIM - 1957)....................................................................................253

10. BI TON LUNG CC I TRN MNG...................................................................... 257

10.1. CC KHI NIM................................................................................................................................257

10.2. MNG THNG D V NG TNG LUNG ............................................................................260

10.3. THUT TON FORD-FULKERSON (L.R.FORD & D.R.FULKERSON - 1962) .............................263

10.4. THUT TON PREFLOW-PUSH (GOLDBERG - 1986) ..................................................................267

10.5. MT S M RNG............................................................................................................................273

11. BI TON TM B GHP CC I TRN TH HAI PHA .................................... 280

11.1. TH HAI PHA (BIPARTITE GRAPH) .........................................................................................280

11.2. BI TON GHP I KHNG TRNG V CC KHI NIM.....................................................280

11.3. THUT TON NG M...............................................................................................................281

11.4. CI T ..............................................................................................................................................282

v

12. BI TON TM B GHP CC I VI TRNG S CC TIU TRN TH HAI

PHA - THUT TON HUNGARI .................................................................................................288

12.1. BI TON PHN CNG.................................................................................................................... 288

12.2. PHN TCH......................................................................................................................................... 288

12.3. THUT TON..................................................................................................................................... 289

12.4. BI TON TM B GHP CC I VI TRNG S CC I TRN TH HAI PHA....... 297

12.5. NNG CP.......................................................................................................................................... 298

13. BI TON TM B GHP CC I TRN TH.........................................................304

13.1. CC KHI NIM................................................................................................................................ 304

13.2. THUT TON EDMONDS (1965) ..................................................................................................... 305

13.3. THUT TON LAWLER (1973)......................................................................................................... 307

13.4. CI T.............................................................................................................................................. 309

13.5. PHC TP TNH TON............................................................................................................... 313

TI LIU C THM.................................................................................. 315

vi

HNH V

Hnh 1: Cy tm kim quay lui trong bi ton lit k dy nh phn .......................................................................13

Hnh 2: Xp 8 qun hu trn bn c 8x8 ...............................................................................................................19

Hnh 3: ng cho B-TN mang ch s 10 v ng cho N-TB mang ch s 0............................................19

Hnh 4: Lu thut gii (Flowchart)...................................................................................................................36

Hnh 5: K php ln, ln v ln ................................................................................................................41

Hnh 6: Thp H Ni ............................................................................................................................................54

Hnh 7: Cu trc nt ca danh sch ni n ..........................................................................................................59

Hnh 8: Danh sch ni n ...................................................................................................................................59

Hnh 9: Cu trc nt ca danh sch ni kp ..........................................................................................................61

Hnh 10: Danh sch ni kp..................................................................................................................................61

Hnh 11: Danh sch ni vng mt hng ..............................................................................................................61

Hnh 12: Danh sch ni vng hai hng ...............................................................................................................62

Hnh 13: Dng danh sch vng m t Queue ........................................................................................................67

Hnh 14: Di chuyn toa tu...................................................................................................................................69

Hnh 15: Di chuyn toa tu (2) ..............................................................................................................................69

Hnh 16: Cy.........................................................................................................................................................70

Hnh 17: Mc ca cc nt trn cy ........................................................................................................................71

Hnh 18: Cy biu din biu thc ..........................................................................................................................71

Hnh 19: Cc dng cy nh phn suy bin..............................................................................................................72

Hnh 20: Cy nh phn hon chnh v cy nh phn y ...................................................................................72

Hnh 21: nh s cc nt ca cy nh phn y biu din bng mng ........................................................73

Hnh 22: Nhc im ca phng php biu din cy bng mng .......................................................................73

Hnh 23: Cu trc nt ca cy nh phn.................................................................................................................74

Hnh 24: Biu din cy bng cu trc lin kt .......................................................................................................74

Hnh 25: nh s cc nt ca cy 3_phn biu din bng mng......................................................................76

Hnh 26: Biu din cy tng qut bng mng........................................................................................................77

Hnh 27: Cu trc nt ca cy tng qut................................................................................................................78

Hnh 28: Biu thc di dng cy nh phn ..........................................................................................................79

Hnh 29: Vng lp trong ca QuickSort ................................................................................................................94

Hnh 30: Trng thi trc khi gi quy ..............................................................................................................95

Hnh 31: Heap.....................................................................................................................................................100

Hnh 32: Vun ng .............................................................................................................................................100

Hnh 33: o gi tr k[1] cho k[n] v xt phn cn li ........................................................................................101

Hnh 34: Vun phn cn li thnh ng ri li o tr k[1] cho k[n-1] .................................................................101

Hnh 35: nh s cc bit ....................................................................................................................................104

Hnh 36: Thut ton sp xp trn.........................................................................................................................109

Hnh 37: Ci t cc thut ton sp xp vi d liu ln ......................................................................................121

vii

Hnh 38: Cy nh phn tm kim ......................................................................................................................... 126

Hnh 39: Xa nt l cy BST ........................................................................................................................... 127

Hnh 40. Xa nt ch c mt nhnh con trn cy BST ........................................................................................ 128

Hnh 41: Xa nt c c hai nhnh con trn cy BST thay bng nt cc phi ca cy con tri............................ 128

Hnh 42: Xa nt c c hai nhnh con trn cy BST thay bng nt cc tri ca cy con phi............................ 128

Hnh 43: nh s cc bit .................................................................................................................................... 131

Hnh 44: Cy tm kim s hc............................................................................................................................ 131

Hnh 45: Cy tm kim c s.............................................................................................................................. 134

Hnh 46: Vi di dy bit z = 3, cy tm kim c s gm cc kho 2, 4, 5 v sau khi thm gi tr 7............... 135

Hnh 47: RST cha cc kho 2, 4, 5, 7 v RST sau khi loi b gi tr 7 ............................................................. 136

Hnh 48: Cy tm kim c s a) v Trie tm kim c s b).................................................................................. 138

Hnh 49: Hm quy tnh s Fibonacci .............................................................................................................. 149

Hnh 50: Tnh ton v truy vt ............................................................................................................................ 152

Hnh 51: Truy vt ............................................................................................................................................... 160

Hnh 52: V d v m hnh th........................................................................................................................ 176

Hnh 53: Phn loi th.................................................................................................................................... 177

Hnh 54............................................................................................................................................................... 180

Hnh 55............................................................................................................................................................... 181

Hnh 56: th v ng i............................................................................................................................... 184

Hnh 57: Cy DFS .............................................................................................................................................. 187

Hnh 58: Cy BFS .............................................................................................................................................. 190

Hnh 59: th G v cc thnh phn lin thng G1, G2, G3 ca n .................................................................. 191

Hnh 60: Khp v cu......................................................................................................................................... 191

Hnh 61: Lin thng mnh v lin thng yu ...................................................................................................... 192

Hnh 62: th y ....................................................................................................................................... 193

Hnh 63: n th v hng v bao ng ca n............................................................................................. 193

Hnh 64: Ba dng cung ngoi cy DFS ............................................................................................................... 197

Hnh 65: Thut ton Tarjan "b" cy DFS........................................................................................................... 199

Hnh 66: nh s li, o chiu cc cung v duyt BFS vi cch chn cc nh xut pht ngc li vi th t

duyt xong (th t 11, 10 3, 2, 1)........................................................................................................... 204

Hnh 67: th G v mt s v d cy khung T1, T2, T3 ca n ....................................................................... 208

Hnh 68: Cy khung DFS (a) v cy khung BFS (b) (Mi tn ch chiu i thm cc nh) ................................ 208

Hnh 69: Php nh chiu DFS............................................................................................................................ 211

Hnh 70: Php nh s v ghi nhn cung ngc ln cao nht ............................................................................. 213

Hnh 71: M hnh th ca bi ton by ci cu ............................................................................................... 216

Hnh 72............................................................................................................................................................... 217

Hnh 73............................................................................................................................................................... 217

Hnh 74............................................................................................................................................................... 223

Hnh 75: Php nh li ch s theo th t tp ................................................................................................... 238

Hnh 76: Hai cy gc r1 v r2 v cy mi khi hp nht chng............................................................................. 249

viii

Hnh 77: Mng vi cc kh nng thng qua (1 pht, 6 thu) v mt lung ca n vi gi tr 7............................257

Hnh 78: Mng G v mng thng d Gf tng ng (k hiu f[u,v]:c[u,v] ch lung f[u, v] v kh nng thng qua

c[u, v] trn cung (u, v)) ..............................................................................................................................261

Hnh 79: Mng thng d v ng tng lung ....................................................................................................262

Hnh 80: Lung trn mng G trc v sau khi tng.............................................................................................262

Hnh 81: Mng gi ca mng c nhiu im pht v nhiu im thu..................................................................273

Hnh 82: Thay mt nh u bng hai nh uin, uout .................................................................................................274

Hnh 83: Mng gi ca mng c kh nng thng qua ca cc cung b chn hai pha ..........................................274

Hnh 84: th hai pha .....................................................................................................................................280

Hnh 85: th hai pha v b ghp M...............................................................................................................281

Hnh 86: M hnh lung ca bi ton tm b ghp cc i trn th hai pha...................................................285

Hnh 87: Php xoay trng s cnh.......................................................................................................................289

Hnh 88: Thut ton Hungari..............................................................................................................................292

Hnh 89: Cy pha "mc" ln hn sau mi ln xoay trng s cnh v tm ng ................................................299

Hnh 90: th G v mt b ghp M..................................................................................................................304

Hnh 91: Php chp Blossom..............................................................................................................................306

Hnh 92: N Blossom d ng xuyn qua Blossom.....................................................................................306

ix CHNG TRNH

P_1_02_1.PAS * Thut ton sinh lit k cc dy nh phn di n ....................................................................... 6

P_1_02_2.PAS * Thut ton sinh lit k cc tp con k phn t .............................................................................. 8

P_1_02_3.PAS * Thut ton sinh lit k hon v .................................................................................................... 9

P_1_03_1.PAS * Thut ton quay lui lit k cc dy nh phn di n ............................................................... 12

P_1_03_2.PAS * Thut ton quay lui lit k cc tp con k phn t...................................................................... 14

P_1_03_3.PAS * Thut ton quay lui lit k cc chnh hp khng lp chp k ..................................................... 16

P_1_03_4.PAS * Thut ton quay lui lit k cc cch phn tch s ...................................................................... 17

P_1_03_5.PAS * Thut ton quay lui gii bi ton xp hu ................................................................................. 21

P_1_04_1.PAS * K thut nhnh cn dng cho bi ton ngi du lch................................................................ 26

P_1_04_2.PAS * Dy ABC.................................................................................................................................. 28

P_2_07_1.PAS * Tnh gi tr biu thc RPN........................................................................................................ 81

P_2_07_2.PAS * Chuyn biu thc trung t sang dng RPN............................................................................... 84

P_2_08_1.PAS * Cc thut ton sp xp............................................................................................................. 112

P_3_01_1.PAS * m s cch phn tch s n..................................................................................................... 143

P_3_01_2.PAS * m s cch phn tch s n..................................................................................................... 144

P_3_01_3.PAS * m s cch phn tch s n..................................................................................................... 144

P_3_01_4.PAS * m s cch phn tch s n..................................................................................................... 145

P_3_01_5.PAS * m s cch phn tch s n dng quy ................................................................................ 145

P_3_01_6.PAS * m s cch phn tch s n dng quy ................................................................................ 145

P_3_03_1.PAS * Tm dy con n iu tng di nht ........................................................................................ 152

P_3_03_2.PAS * Ci tin thut ton tm dy con n iu tng di nht ........................................................... 154

P_3_03_3.PAS * Bi ton ci ti ........................................................................................................................ 157

P_3_03_4.PAS * Bin i xu ............................................................................................................................ 161

P_3_03_5.PAS * Dy con c tng chia ht cho k ............................................................................................... 163

P_3_03_6.PAS * Dy con c tng chia ht cho k ............................................................................................... 165

P_3_03_7.PAS * Nhn ti u dy ma trn.......................................................................................................... 169

P_4_03_1.PAS * Thut ton tm kim theo chiu su ........................................................................................ 185

P_4_03_2.PAS * Thut ton tm kim theo chiu rng ...................................................................................... 188

P_4_04_1.PAS * Thut ton Warshall lit k cc thnh phn lin thng ........................................................... 195

P_4_04_2.PAS * Thut ton Tarjan lit k cc thnh phn lin thng mnh...................................................... 202

P_4_05_1.PAS * Lit k cc khp v cu ca th .......................................................................................... 214

P_4_06_1.PAS * Thut ton Fleury tm chu trnh Euler..................................................................................... 218

P_4_06_2.PAS * Thut ton hiu qu tm chu trnh Euler.................................................................................. 221

P_4_07_1.PAS * Thut ton quay lui lit k chu trnh Hamilton ....................................................................... 224

P_4_08_1.PAS * Thut ton Ford-Bellman ........................................................................................................ 231

P_4_08_2.PAS * Thut ton Dijkstra.................................................................................................................. 233

P_4_08_3.PAS * Thut ton Dijkstra v cu trc Heap...................................................................................... 235

x

P_4_08_4.PAS * ng i ngn nht trn th khng c chu trnh.................................................................239

P_4_08_5.PAS * Thut ton Floyd .....................................................................................................................242

P_4_09_1.PAS * Thut ton Kruskal ..................................................................................................................250

P_4_09_2.PAS * Thut ton Prim.......................................................................................................................254

P_4_10_1.PAS * Thut ton Ford-Fulkerson......................................................................................................265

P_4_10_2.PAS * Thut ton Preflow-push .........................................................................................................270

P_4_11_1.PAS * Thut ton ng m tm b ghp cc i..............................................................................283

P_4_12_1.PAS * Thut ton Hungari..................................................................................................................295

P_4_12_2.PAS * Ci t phng php Kuhn-Munkres O(k3) ............................................................................300

P_4_13_1.PAS * Phng php Lawler p dng cho thut ton Edmonds ..........................................................310

BNG CC K HIU C S DNG

x Floor of x: S nguyn ln nht x

x Ceiling of x: S nguyn nh nht x

n k P S chnh hp khng lp chp k ca n phn t (= n!

(n k)! )

n

k

Binomial coefficient: H s ca hng t xk trong a thc (1+x)n

= S t hp chp k ca n phn t = n!

k!(n k)! ( ) O . K php ch O ln

( ) . K php ln

( ) . K php ln

( ) o . K php ch o nh

( ) . k php nh

[ ] a i..j Cc phn t trong mng a tnh t ch s i n ch s j

n! n factorial: Giai tha ca n = 1.2.3n

a b ab

a b

a ... a

b copies of a

a

a log x Logarithm to base a of x: Logarithm c s a ca x (logaab = b)

lg x Logarithm nh phn (c s 2) ca x

ln x Logarithm t nhin (c s e) ca x

*a

log x S ln ly logarithm c s a thu c s 1 t x ( *

a log (a b) b = )

* lg x *

2 log x

* ln x *

e log x

PHN 1. BI TON LIT K

C mt s bi ton trn thc t yu cu ch r: trong mt tp cc i

tng cho trc c bao nhiu i tng tho mn nhng iu kin nht

nh. Bi ton gi l bi ton m.

Trong lp cc bi ton m, c nhng bi ton cn yu cu ch r nhng

cu hnh tm c tho mn iu kin cho l nhng cu hnh no. Bi

ton yu cu a ra danh sch cc cu hnh c th c gi l bi ton lit

k.

gii bi ton lit k, cn phi xc nh c mt thut ton c th

theo ln lt xy dng c tt c cc cu hnh ang quan tm. C

nhiu phng php lit k, nhng chng cn phi p ng c hai yu

cu di y:

Khng c lp li mt cu hnh

Khng c b st mt cu hnh

C th ni rng, phng php lit k l phng k cui cng gii

c mt s bi ton t hp hin nay. Kh khn chnh ca phng php

ny chnh l s bng n t hp dn ti s i hi ln v khng gian v

thi gian thc hin chng trnh. Tuy nhin cng vi s pht trin ca

my tnh in t, bng phng php lit k, nhiu bi ton t hp tm

thy li gii. Qua , ta cng nn bit rng ch nn dng phng php

lit k khi khng cn mt phng php no khc tm ra li gii.

Chnh nhng n lc gii quyt cc bi ton thc t khng dng phng

php lit k thc y s pht trin ca nhiu ngnh ton hc.

2 Chuyn

HSPHN 1999-2004

1. NHC LI MT S KIN THC I S T HP

Cho S l mt tp hu hn gm n phn t v k l mt s t nhin.

Gi X l tp cc s nguyn dng t 1 n k: X = {1, 2, , k}

1.1. CHNH HP LP

Mi nh x f: X S. Cho tng ng vi mi i X, mt v ch mt phn t f(i) S.

c gi l mt chnh hp lp chp k ca S.

Nhng do X l tp hu hn (k phn t) nn nh x f c th xc nh qua bng cc gi tr f(1),

f(2), , f(k).

V d: S = {A, B, C, D, E, F}; k = 3. Mt nh x f c th cho nh sau:

i 1 2 3

f(i) E C E

Vy c th ng nht f vi dy gi tr (f(1), f(2), , f(k)) v coi dy gi tr ny cng l mt

chnh hp lp chp k ca S. Nh v d trn (E, C, E) l mt chnh hp lp chp 3 ca S. D

dng chng minh c kt qu sau bng quy np hoc bng phng php nh gi kh nng

la chn:

S chnh hp lp chp k ca tp gm n phn t l k n

1.2. CHNH HP KHNG LP

Khi f l n nh c ngha l vi i, j X ta c f(i) = f(j) i = j. Ni mt cch d hiu, khi

dy gi tr f(1), f(2), , f(k) gm cc phn t thuc S khc nhau i mt th f c gi l mt

chnh hp khng lp chp k ca S. V d mt chnh hp khng lp (C, A, E):

i 1 2 3

f(i) C A E

S chnh hp khng lp chp k ca tp gm n phn t l:

n k

n! P n(n 1)(n 2)...(n k 1)

(n k)!

= + =

1.3. HON V

Khi k = n. Mt chnh hp khng lp chp n ca S c gi l mt hon v cc phn t ca S.

V d: mt hon v: A, D, C, E, B, F ca S = {A, B, C, D, E, F}

i 1 2 3 4 5 6

f(i) A D C E B F

Bi ton lit k 3

L Minh Hong

rng khi k = n th s phn t ca tp X = {1, 2, , n} ng bng s phn t ca S. Do

tnh cht i mt khc nhau nn dy f(1), f(2), , f(n) s lit k c ht cc phn t trong S.

Nh vy f l ton nh. Mt khc do gi thit f l chnh hp khng lp nn f l n nh. Ta c

tng ng 1-1 gia cc phn t ca X v S, do f l song nh. Vy nn ta c th nh ngha

mt hon v ca S l mt song nh gia {1, 2, , n} v S.

S hon v ca tp gm n phn t = s chnh hp khng lp chp n = n!

1.4. T HP

Mt tp con gm k phn t ca S c gi l mt t hp chp k ca S.

Ly mt tp con k phn t ca S, xt tt c k! hon v ca tp con ny. D thy rng cc hon

v l cc chnh hp khng lp chp k ca S. V d ly tp {A, B, C} l tp con ca tp S

trong v d trn th: A, B, C, C, A, B, B, C, A, l cc chnh hp khng lp chp 3 ca

S. iu tc l khi lit k tt c cc chnh hp khng lp chp k th mi t hp chp k s

c tnh k! ln. Vy s t hp chp k ca tp gm n phn t l

n n!

k k!(n k)!

= 4 Chuyn

HSPHN 1999-2004

2. PHNG PHP SINH (GENERATION)

Phng php sinh c th p dng gii bi ton lit k t hp t ra nu nh hai iu kin

sau tho mn:

C th xc nh c mt th t trn tp cc cu hnh t hp cn lit k. T c th bit

ccu hnh u tin v cu hnh cui cng trong th t .

Xy dng c thut ton t mt cu hnh cha phi cu hnh cui, sinh ra c cu hnh

k tip n.

Phng php sinh c th m t nh sau:

Xy dng cu hnh u tin;

repeat

a ra cu hnh ang c;

T cu hnh ang c sinh ra cu hnh k tip nu cn;

until ht cu hnh;

Th t t in

Trn cc kiu d liu n gin chun, ngi ta thng ni ti khi nim th t. V d trn

kiu s th c quan h: 1 < 2; 2 < 3; 3 < 10; , trn kiu k t Char th cng c quan h 'A'