You are on page 1of 18

CHNG I:

THUT TON
1.1. KHI NIM THUT TON. 1.1.1. M u:
C nhiu lp bi ton tng qut xut hin trong ton hc ri rc. Chng hn, cho m t !"# cc $% ngu#&n, t'm $% ln nht( cho m t t)p h*p, lit +& cc t)p con c,- n( cho t)p h*p cc $% ngu#&n, x.p ch/ng th0o th1 t2 t3ng !4n( cho m t mng, t'm 56ng 5i ng7n nht gi8- h-i 59nh c,- n. :hi 56*c gi-o cho m t bi ton nh6 ;)# th' ;ic 54u ti&n ph<i lm l x=# !2ng m t m> h'nh !?ch bi ton 5 thnh ng8 c<nh ton hc. Cc cu tr/c ri rc 56*c !@ng trong cc m> h'nh n# l t)p h*p, !"#, hm, hon ;?, qu-n h, c@ng ;i cc cu tr/c +hc nh6 5A th?, c=#, mng B nh8ng +hi nim $C 56*c nghi&n c1u D cc ch6Eng $-u. F)p 56*c m t m> h'nh ton hc thGch h*p ch9 l m t ph4n c,- qu tr'nh gi<i. HI hon tt qu tr'nh gi<i, cJn c4n ph<i c m t ph6Eng php !@ng m> h'nh 5I gi<i bi ton tng qut. Ki m t cch lL t6Dng, ci 56*c 5Ji hMi l m t th, tNc, 5 l !"# cc b6c !On ti 5p $% mong mu%n. P t !"# cc b6c nh6 ;)#, 56*c gi l m t thu)t ton. :hi thi.t +. ; ci 5Qt m t ph4n mm tin hc cho m t ;n 5 no 5, t- c4n ph<i 56- r- ph6Eng php gi<i qu#.t m th2c cht 5 l thu)t ton gi<i qu#.t ;n 5 n#. RS rng rTng, n.u +h>ng t'm 56*c m t ph6Eng php gi<i qu#.t th' +h>ng thI l)p tr'nh 56*c. ChGnh ;' th., thu)t ton l +hi nim nn t<ng c,- h4u h.t cc lUnh ;2c c,- tin hc. 1.1.2. nh ngha: Vhu)t ton l m t b<ng lit +& cc ch9 !On Wh-# qu# t7cX c4n th2c hin th0o tYng b6c xc 5?nh nhTm gi<i m t bi ton 5" cho. Vhu)t ng8 Z[lgorithm\ Wthu)t tonX l xut pht tY t&n nh ton hc ] R)p [lB :ho^-ri_mi. `-n 54u, tY -lgori$m 56*c !@ng 5I ch9 cc qu# t7c th2c hin cc phap tGnh $% hc tr&n cc $% th)p ph=n. b-u 5, -lgori$m chu#In thnh -lgorithm ;o th. +c de. fi $2 qu-n t=m ng# cng t3ng 5%i ;i cc m# tGnh, +hi nim thu)t ton 5" 56*c cho m t L nghU- chung hEn, b-o hm c< cc th, tNc xc 5?nh 5I gi<i cc bi ton, ch1 +h>ng ph<i ch9 l th, tNc 5I th2c hin cc phap tGnh $% hc. C nhiu cch tr'nh b# thu)t tong !@ng ng>n ng8 t2 nhi&n, ng>n ng8 l6u 5A W$E 5A +h%iX, ng>n ng8 l)p tr'nh. Vu# nhi&n, m t +hi !@ng ng>n ng8 l)p tr'nh th' ch9 nh8ng lnh 56*c phap trong ng>n ng8 5 mi c thI !@ng 56*c ; 5iu n# th6ng lm cho $2 m> t< cc thu)t ton trD n&n r%i r7m ; +h hiIu. hEn n8-, ;' nhiu ng>n ng8 l)p tr'nh 5u 56*c !@ng r ng r"i, n&n chn m t ng>n ng8 5Qc bit no 5 l 5iu ng6i t- +h>ng mu%n. f' ;)# D 5=# cc thu)t ton ngoi ;ic 56*c tr'nh b# bTng ng>n ng8 t2 nhi&n c@ng ;i nh8ng +L hiu ton hc qu0n thu c cJn !@ng m t !ng gi< m" 5I m> t< thu)t
4

ton. ii< m" to r- b6c trung gi-n gi8- $2 m> t< m t thu)t ton bTng ng>n ng8 th>ng th6ng ; $2 th2c hin thu)t ton 5 trong ng>n ng8 l)p tr'nh. Cc b6c c,- thu)t ton 56*c ch9 rS bTng cch !@ng cc lnh gi%ng nh6 trong cc ng>n ng8 l)p tr'nh. Th !" 1: P> t< thu)t ton t'm ph4n tj ln nht trong m t !"# h8u hn cc $% ngu#&n. a) Dng ngn ng t nhin m t cc bc cn phi thc hing d. HQt gi tr? c2c 5i tm thi bTng $% ngu#&n 54u ti&n trong !"#. WC2c 5i tm thi $C l $% ngu#&n ln nht 5" 56*c +iIm tr- D m t gi-i 5on no 5 c,- th, tNc.X k. bo $nh $% ngu#&n ti.p $-u ;i gi tr? c2c 5i tm thi, n.u n ln hEn gi tr? c2c 5i tm thi th' 5Qt c2c 5i tm thi bTng $% ngu#&n 5. l. FQp li b6c tr6c n.u cJn cc $% ngu#&n trong !"#. m. nYng +hi +h>ng cJn $% ngu#&n no n8- trong !"#. C2c 5i tm thi D 5iIm n# chGnh l $% ngu#&n ln nht c,- !"#. b) Dng on gi mg #$%&'!u$' m-x W-d, -k, ..., -ng int0g0r$X m-xgo -d (%$ igo k )% n *( m-x p-i )h'n m-xgo -i qm-x l ph4n tj ln nhtr Vhu)t ton n# tr6c h.t gn $% hng 54u ti&n - d c,- !"# cho bi.n m-x. fJng lQp Zsor\ 56*c !@ng 5I +iIm tr- l4n l6*t cc $% hng c,- !"#. K.u m t $% hng ln hEn gi tr? hin thi c,- m-x th' n 56*c gn lm gi tr? mi c,- m-x.

1.1.+. C,& -& )$.ng &/a )hu0) )%,n:


BB u 12% WtnputX: P t thu)t ton c cc gi tr? 54u ;o tY m t t)p 5" 56*c ch9 rS. 33 u $a WuutputX: VY mvi t)p cc gi tr? 54u ;o, thu)t ton $C to r- cc gi tr? 54u r-. Cc gi tr? 54u r- chGnh l nghim c,- bi ton. BB T nh !4ng: b-u m t $% h8u hn b6c thu)t ton ph<i !Yng. BB T nh 5,& nh: w mvi b6c, cc b6c th-o tc ph<i h.t $1c rS rng, +h>ng g=# n&n $2 nh)p nhTng. Ki rS hEn, trong c@ng m t 5iu +in h-i b xj lL c@ng th2c hin m t b6c c,- thu)t ton ph<i cho nh8ng +.t qu< nh6 nh-u. BB T nh h*6u 7u8: Vr6c h.t thu)t ton c4n 5/ng 57n, nghU- l $-u +hi 56- !8 liu ;o thu)t ton hot 5 ng ; 56- r- +.t qu< nh6 L mu%n. BB T nh #h9 !"ng: Vhu)t ton c thI gi<i bt +x m t bi ton no trong lp cc bi ton. CN thI l thu)t ton c thI c cc 54u ;o l cc b !8 liu +hc nh-u trong m t min xc 5?nh.

1.2. THUT TON T:M KI;M. 1.2.1. <2* )%,n )=> ?*@>: `i ton xc 5?nh ;? trG c,- m t ph4n tj trong m t b<ng lit
+& $7p th1 t2 th6ng gQp trong nhiu tr6ng h*p +hc nh-u. Chng hn ch6Eng tr'nh
5

+iIm tr- chGnh t< c,- cc tY, t'm +i.m cc tY n# trong m t cu%n tY 5iIn, m tY 5iIn chng qu- cyng l m t b<ng lit +& $7p th1 t2 c,- cc tY. Cc bi ton thu c loi n# 56*c gi l cc bi ton t'm +i.m. `i ton t'm +i.m tng qut 56*c m> t< nh6 $-ug xc 5?nh ;? trG c,- ph4n tj x trong m t b<ng lit +& cc ph4n tj ph=n bit - d, -k, ..., -n hoQc xc 5?nh rTng n +h>ng c mQt trong b<ng lit +& 5. Fi gi<i c,- bi ton tr&n l ;? trG c,- $% hng c,- b<ng lit +& c gi tr? bTng x Wt1c l i $C l nghim n.u xo- i ; l z n.u x +h>ng c mQt trong b<ng lit +&X. 1.2.2. Thu0) )%,n )=> ?*@> )uA@n ) nh: V'm +i.m tu#.n tGnh h-# t'm +i.m tu4n t2 l b7t 54u bTng ;ic $o $nh x ;i - d( +hi xo-d, nghim l ;? trG -d, t1c l d( +hi x-d, $o $nh x ;i -k. K.u xo-k, nghim l ;? trG c,- -k, t1c l k. :hi x-k, $o $nh x ;i -l. Vi.p tNc qu tr'nh n# bTng cch tu4n t2 $o $nh x ;i mvi $% hng c,- b<ng lit +& cho ti +hi t'm 56*c $% hng bTng x, +hi 5 nghim l ;? trG c,- $% hng 5. K.u ton b<ng lit +& 5" 56*c +iIm tr- m +h>ng xc 5?nh 56*c ;? trG c,- x, th' nghim l z. ii< m" 5%i ;i thu)t ton t'm +i.m tu#.n tGnh 56*c cho !6i 5=#g #$%&'!u$' t'm +i.m tu#.n tGnh Wxg int0g0r, -d,-k,...,-ng int0g0r$ ph=n bitX i go d Bh*C' Wi n -n! x -iX i go i { d *( i n )h'n loc-tion go i 'CD' loc-tion go z qloc-tion l ch9 $% !6i c,- $% hng bTng x hoQc l z n.u +h>ng t'm 56*c xr

1.2.+. Thu0) )%,n )=> ?*@> nh #hEn: Vhu)t ton n# c thI 56*c !@ng +hi b<ng
lit +& c cc $% hng 56*c $7p th0o th1 t2 t3ng !4n. Chng hn, n.u cc $% hng l cc $% th' ch/ng 56*c $7p tY $% nhM nht 5.n $% ln nht hoQc n.u ch/ng l cc tY h-# x=u +L t2 th' ch/ng 56*c $7p th0o th1 t2 tY 5iIn. Vhu)t ton th1 h-i n# gi l thu)t ton t'm +i.m nh? ph=n. K 56*c ti.n hnh bTng cch $o $nh ph4n tj c4n xc 5?nh ;? trG ;i $% hng D gi8- b<ng lit +&. b-u 5 b<ng n# 56*c tch lm h-i b<ng +& con nhM hEn c +Gch th6c nh6 nh-u, hoQc m t trong h-i b<ng con Gt hEn b<ng con +i- m t $% hng. b2 t'm +i.m ti.p tNc bTng cch hn ch. t'm +i.m D m t b<ng +& con thGch h*p !2- tr&n ;ic $o $nh ph4n tj c4n xc 5?nh ;? trG ;i $% hng gi8- b<ng +&. V- $C th# rTng thu)t ton t'm +i.m nh? ph=n hiu qu< hEn nhiu $o ;i thu)t ton t'm +i.m tu#.n tGnh. Th !" 2. HI t'm $% de trong b<ng lit +& d,k,l,|,},~,,dz,dk,dl,d|,d},d,de,kz,kk ttch b<ng lit +& gAm d} $% hng n# thnh h-i b<ng lit +& nhM hEn, mvi b<ng c $% hng, cN thI lg d,k,l,|,},~,,dz ; dk,dl,d|,d},d,de,kz,kk. b-u 5 t- $o $nh de ;i $% hng cu%i c@ng c,- b<ng con th1 nht. f' dzpde, ;ic t'm +i.m de ch9 gii hn trong b<ng lit +& con th1 k tY $% hng th1 e 5.n d} trong b<ng lit +& b-n 54u. Vi.p th0o, t6

li tch b<ng lit +& con gAm $% hng n# lm h-i b<ng con, mvi b<ng c m $% hng, cN thI l dk,dl,d|,d} ; d,de,kz,kk. f' d}pde, ;ic t'm +i.m li 56*c gii hn ch9 trong b<ng con th1 k, tY $% hng th1 dl 5.n d} c,- b<ng lit +& b-n 54u. `<ng lit +& th1 k n# li 56*c tch lm h-i, cN thI lg d,de ; kz,kk. f' de +h>ng ln hEn $% hng ln nht c,- b<ng con th1 nht n&n ;ic t'm +i.m gii hn ch9 D b<ng con th1 nht gAm cc $% d,de, l $% hng th1 dl ; dm c,- b<ng b-n 54u. Vi.p th0o b<ng con ch1- h-i $% hng n# li 56*c tch lm h-i, mvi b<ng c m t $% hng d ; de. f' dpde, $2 t'm +i.m gii hn ch9 trong b<ng con th1 k, b<ng lit +& ch9 ch1- $% hng th1 dm c,- b<ng lit +& b-n 54u, $% hng 5 l $% de. `=# gi $2 t'm +i.m 5" thu hp ; ch9 cJn m t $% hng, $o $nh ti.p cho th#de l $% hng th1 dm c,- b<ng lit +& b-n 54u. `=# gi t- c thI ch9 rS cc b6c trong thu)t ton t'm +i.m nh? ph=n. HI t'm $% ngu#&n x trong b<ng lit +& - d,-k,...,-n ;i -d p -k p ... p -n, t- b7t 54u bTng ;ic $o $nh x ;i $% hng - m D gi8- c,- !"#, ;i moWn{dXk. K.u x - m, ;ic t'm +i.m x gii hn D nj- th1 h-i c,- !"#, gAm - m{d,-m{k,...,-n. K.u x +h>ng ln hEn - m, th' $2 t'm +i.m gii hn trong nj- 54u c,- !"# gAm -d,-k,...,-m. `=# gi $2 t'm +i.m ch9 gii hn trong b<ng lit +& c +h>ng hEn nk ph4n tj. n@ng chGnh th, tNc n#, $o $nh x ;i $% hng D gi8- c,- b<ng lit +& 56*c hn ch.. b-u 5 li hn ch. ;ic t'm +i.m D nj- th1 nht hoQc nj- th1 h-i c,- b<ng lit +&. FQp li qu tr'nh n# cho ti +hi nh)n 56*c m t b<ng lit +& ch9 c m t $% hng. b-u 5, ch9 cJn xc 5?nh $% hng n# c ph<i l x h-# +h>ng. ii< m" cho thu)t ton t'm +i.m nh? ph=n 56*c cho !6i 5=#g #$%&'!u$' t'm +i.m nh? ph=n Wxg int0g0r, -d,-k,...,-ng int0g0r$ t3ng !4nX i go d qi l 5iIm m/t tri c,- +ho<ng t'm +i.mr go n q l 5iIm m/t ph<i c,- +ho<ng t'm +i.mr Bh*C' i p F'g*n mgo Wi{Xk *( x-m )h'n igom{d 'CD' go m 'n! *( x o -i )h'n loc-tion go i 'CD' loc-tion go z qloc-tion l ch9 $% !6i c,- $% hng bTng x hoQc z n.u +h>ng t'm th# xr

1.+. G HHIC TJH CKL THUT TON. 1.3.1. Kh,* n*6> 1M N #hO& )P# &/a >N) )hu0) )%,n:
Vh6c 5o hiu qu< c,- m t thu)t ton l thi gi-n m m# tGnh $j !Nng 5I gi<i bi ton th0o thu)t ton 5-ng xat, +hi cc gi tr? 54u ;o c m t +Gch th6c xc 5?nh.
7

P t th6c 5o th1 h-i l !ung l6*ng b nh 5Ji hMi 5I th2c hin thu)t ton +hi cc gi tr? 54u ;o c +Gch th6c xc 5?nh. Cc ;n 5 nh6 th. li&n qu-n 5.n 5 ph1c tp tGnh ton c,- m t thu)t ton. b2 ph=n tGch thi gi-n c4n thi.t 5I gi<i m t bi ton c +Gch th6c 5Qc bit no 5 li&n qu-n 5.n 5 ph1c tp thi gi-n c,- thu)t ton. b2 ph=n tGch b nh c4n thi.t c,- m# tGnh li&n qu-n 5.n 5 ph1c tp +h>ng gi-n c,- thu)t ton. fc x0m xat 5 ph1c tp thi gi-n ; +h>ng gi-n c,- m t thu)t ton l m t ;n 5 rt thi.t #.u +hi cc thu)t ton 56*c th2c hin. `i.t m t thu)t ton $C 56- r- 5p $% trong m t micro gi=#, trong m t ph/t hoQc trong m t t9 n3m, hiIn nhi&n l h.t $1c qu-n trng. V6Eng t2 nh6 ;)#, !ung l6*ng b nh 5Ji hMi ph<i l +h< !Nng 5I gi<i m t bi ton,;' ;)# 5 ph1c tp +h>ng gi-n cyng c4n ph<i tGnh 5.n.f' ;ic x0m xat 5 ph1c tp +h>ng gi-n g7n lin ;i cc cu tr/c !8 liu 5Qc bit 56*c !@ng 5I th2c hin thu)t ton n&n D 5=# t- $C t)p trung x0m xat 5 ph1c tp thi gi-n. H ph1c tp thi gi-n c,- m t thu)t ton c thI 56*c biIu !in qu- $% cc phap ton 56*c !@ng bDi thu)t ton 5 +hi cc gi tr? 54u ;o c m t +Gch th6c xc 5?nh. bD !U 5 ph1c tp thi gi-n 56*c m> t< th>ng qu- $% cc phap ton 5Ji hMi th-# ;' thi gi-n th2c c,- m# tGnh l bDi ;' cc m# tGnh +hc nh-u th2c hin cc phap tGnh $E cp trong nh8ng +ho<ng thi gi-n +hc nh-u. hEn n8-, ph=n tGch tt c< cc phap ton thnh cc phap tGnh bit $E cp m m# tGnh $j !Nng l 5iu rt ph1c tp. Th !" +: at thu)t ton t'm $% ln nht trong !"# n $% - d, -k, ..., -n. C thI coi +Gch th6c c,- !8 liu nh)p l $% l6*ng ph4n tj c,- !"# $%, t1c l n. K.u coi mvi l4n $o $nh h-i $% c,- thu)t ton 5Ji hMi m t 5En ;? thi gi-n Wgi=# chng hnX th' thi gi-n th2c hin thu)t ton trong tr6ng h*p xu nht l nBd gi=#. fi !"# }m $%, thi gi-n th2c hin thu)t ton nhiu l7m l }l gi=#. Th !" Q:Vhu)t ton ; trJ chEi ZVhp h K i\ VrJ chEi ZVhp h K i\ nh6 $-ug C b- cc [, `, C ; }m ci 5U- Wc lv 5I 5Qt ;o ccX, cc 5U- c 56ng +Gnh 5>i m t +hc nh-u. Kgu#&n t7c 5Qt 5U- ;o cc lg mvi 5U- ch9 56*c chAng l&n 5U- ln hEn n. `-n 54u, c< }m 5U- 56*c 5Qt chAng l&n nh-u D c t [( h-i c t `, C tr%ng. fn 5 l ph<i chu#In c< }m 5U- 5 $-ng c t ` h-# C, mvi l4n ch9 56*c !i chu#In m t 5U-. at trJ chEi ;i n 5U- b-n 54u D cc [ Wcc ` ; C tr%ngX. ii b n l $% l4n chu#In 5U- 5I chEi xong trJ chEi ;i n 5U-. K.u nod th' rS rng l bdod. K.u nd th' tr6c h.t t- chu#In nBd 5U- b&n tr&n $-ng cc ` Wgi8 #&n 5U- th1 n D !6i c@ng c,- cc [X. b% l4n chu#In nBd 5U- l b nBd. b-u 5 t- chu#In 5U- th1 n tY cc [ $-ng cc C. Cu%i c@ng, t- chu#In nBd 5U- tY cc ` $-ng cc C W$% l4n chu#In l b nBdX. Kh6 ;)#, $% l4n chu#In n 5U- tY [ $-ng C lg bnobnBd{d{bnokbnBd{dokWkbnBk{dX{dokkbnBk{k{do.....oknBdbd{knBk{...{k{doknd.
8

Vhu)t ton ; trJ chEi ZVhp h K i\ 5Ji hMi k }md l4n chu#In 5U- Wxp x9 d,m t9 t9 l4nX. K.u mvi l4n chu#In 5U- mt d gi=# th' thi gi-n th2c hin thu)t ton xp x9 || t9 n3m h-i thG !N tr&n cho th# rTngg m t thu)t ton ph<i +.t th/c $-u m t $% h8u hn b6c, nh6ng n.u $% h8u hn n# qu ln th' thu)t ton +h>ng thI th2c hin 56*c trong th2c t.. V- nig thu)t ton trong VhG !N l c 5 ph1c tp l nBd ; l m t thu)t ton h8u hiu Wh-# thu)t ton nh-nhX( thu)t ton trong VhG !N m c 5 ph1c tp l k nd ; 5 l m t thu)t ton +h>ng h8u hiu Wh-# thu)t ton ch)mX.

1.+.2. R% D,nh N #hO& )P# &/a &,& )hu0) )%,n:


P t bi ton th6ng c nhiu cch gi<i, c nhiu thu)t ton 5I gi<i, cc thu)t ton 5 c 5 ph1c tp +hc nh-u. at bi tong VGnh gi tr? c,- 5- th1c WxXo-nxn{-nBdxnBd{ ... {-dx{-z ti xz. Thu0) )%,n 1: H$%&'!u$' tGnh gi tr? c,- 5- th1c W-z, -d, ..., -n, xzg cc $% th2cX $umgo-z (%$ igod )% n $umgo$um{-ixzi q$um l gi tr? c,- 5- th1c WxX ti xzr Ch/ L rTng 5- th1c WxX c thI ;i.t !6i !ngg WxXoW...WW-nx{-nBdXx{-nBkXx...Xx{-z. V- c thI tGnh WxX th0o thu)t ton $-ug Thu0) )%,n 2: H$%&'!u$' tGnh gi tr? c,- 5- th1c W-z, -d, ..., -n, xzg cc $% th2cX go-n (%$ igod )% n go.xz{-nBi q l gi tr? c,- 5- th1c WxX ti xzr V- h"# xat 5 ph1c tp c,- h-i thu)t ton tr&n. H%i ;i thu)t ton dg D b6c k, ph<i th2c hin d phap nh=n ; d phap c ng ;i iod( k phap nh=n ; d phap c ng ;i iok, ..., n phap nh=n ; d phap c ng ;i ion. f)# $% phap tGnh Wnh=n ; c ngX m thu)t ton d 5Ji hMi lg Wd{dX{Wk{dX{ ... {Wn{dXo
nW n +dX nWn + lX {no . k k

H%i ;i thu)t ton k, b6c k ph<i th2c hin n l4n, mvi l4n 5Ji hMi k phap tGnh Wnh=n rAi c ngX, !o 5 $% phap tGnh Wnh=n ; c ngX m thu)t ton k 5Ji hMi l kn.

K.u coi thi gi-n th2c hin mvi phap tGnh nh=n ; c ng l nh6 nh-u ; l m t 5En ;? thi gi-n th' ;i mvi n cho tr6c, thi gi-n th2c hin thu)t ton d l nWn{lXk, cJn thi gi-n th2c hin thu)t ton k l kn. RS rng l thi gi-n th2c hin thu)t ton k Gt hEn $o ;i thi gi-n th2c hin thu)t ton d. hm sdWnXokn l hm b)c nht, t3ng ch)m hEn nhiu $o ;i hm b)c h-i skWnXonWn{lXk. V- ni rTng thu)t ton k Wc 5 ph1c tp l knX l thu)t ton h8u hiu hEn Wh-# nh-nh hEnX $o ;i thu)t ton d Wc 5 ph1c tp l nWn{lXkX. HI $o $nh 5 ph1c tp c,- cc thu)t ton, 5iu tin l*i l coi 5 ph1c tp c,mvi thu)t ton nh6 l cp c,- hm biIu hin thi gi-n th2c hin thu)t ton #. Cc hm xat $-u 5=# 5u l hm c,- bi.n $% t2 nhi&n nz. nh ngha 1:V- ni hm sWnX c cp thp hEn h-# bTng hm gWnX n.u tAn ti hTng $% Cz ; m t $% t2 nhi&n nz $-o cho sWnX CgWnX ;i mi nnz. V- ;i.t sWnXouWgWnXX ; cJn ni sWnX tho< m"n qu-n h bigBu 5%i ;i gWnX. Vh0o 5?nh nghU- n#, hm gWnX l m t hm 5En gi<n nht c thI 56*c, 5i !in cho Z$2 bi.n thi&n\ c,- sWnX. :hi nim bigBu 5" 56*c !@ng trong ton hc 5" g4n m t th. +c n-#. Vrong tin hc, n 56*c $j !Nng r ng r"i 5I ph=n tGch cc thu)t ton. Kh ton hc ng6i H1c -ul `-chm-nn l ng6i 54u ti&n 56- r- +hi nim bigBu ;o n3m dek. Th !" S: hm sWnXo
nWn + lX l hm b)c h-i ; hm b)c h-i 5En gi<n nht l nk. V- cg k nWn + lX nWn + lX sWnXo ouWnkX ;' nk ;i mi nl WCod, nzolX. k k

P t cch tng qut, n.u sWnXo- +n+{-+Bdn+Bd{ ... {-dn{-z th' sWnXouWn+X. Vh)t ;)#, ;i nd, sWnX -+n+{-+Bdn+Bd{ ... {-dn{-z o n+W-+{-+Bdn{ ... {-dn+Bd{-zn+X n+W-+{-+Bd{ ... {-d{-zX. Hiu n# ch1ng tM sWnX Cn+ ;i mi nd. Cho gWnXoln{|nlogkn, t- c gWnXouWnlogknX. Vh)t ;)#, ln{|nlogkn o nWl{|logknX nWlogkn{|logknX o }nlogkn ;i mi n WCo}, nzoX. M6nh M: Cho sdWnXouWgdWnXX ; skWnX l uWgkWnXX. :hi 5 Wsd { skXWnX o uWm-xWgdWnX,gkWnXX, WsdskXWnX o uWgdWnXgkWnXX. ChOng >*nh. Vh0o gi< thi.t, tAn ti Cd, Ck, nd, nk $-o cho sdWnX CdgdWnX ; skWnX CkgkWnX ;i mi n nd ; mi n nk. no 5 Wsd { skXWnX o sdWnX { skWnX sdWnX { skWnX CdgdWnX { CkgkWnX WCd{CkXgWnX ;i mi n nzom-xWnd,nkX, D 5=#CoCd{Ck ; gWnXom-xWgdWnX , gkWnXX. WsdskXWnX o sdWnXskWnX CdgdWnXCkgkWnX CdCkWgdgkXWnX ;i mi n nzom-xWnd,nkX.
10

nh ngha 2: K.u m t thu)t ton c 5 ph1c tp l sWnX ;i sWnXouWgWnXX th' t- cyng


ni thu)t ton c 5 ph1c tp uWgWnXX. K.u c h-i thu)t ton gi<i c@ng m t bi ton, thu)t ton d c 5 ph1c tp uWgdWnXX, thu)t ton k c 5 ph1c tp uWg kWnXX, m gdWnX c cp thp hEn gkWnX, th' t- ni rTng thu)t ton d h8u hiu hEn Wh-# nh-nh hEnX thu)t ton k.

1.+.+. ,nh g*, N #hO& )P# &/a >N) )hu0) )%,n:


1T Thu0) )%,n )=> ?*@> )uA@n ) nh: b% cc phap $o $nh 56*c !@ng trong thu)t ton n# cyng $C 56*c x0m nh6 th6c 5o 5 ph1c tp thi gi-n c,- n. w mvi m t b6c c,- ;Jng lQp trong thu)t ton, c h-i phap $o $nh 56*c th2c hing m t 5I x0m 5" ti cu%i b<ng ch6- ; m t 5I $o $nh ph4n tj x ;i m t $% hng c,- b<ng. Cu%i c@ng cJn m t phap $o $nh n8- lm D ngoi ;Jng lQp. no 5, n.u xo-i, th' 5" c ki{d phap $o $nh 56*c $j !Nng. b% phap $o $nh nhiu nht, kn{k, 5Ji hMi ph<i 56*c $j !Nng +hi ph4n tj x +h>ng c mQt trong b<ng. VY 5, thu)t ton t'm +i.m tu#.n tGnh c 5 ph1c tp l uWnX. 2T Thu0) )%,n )=> ?*@> nh #hEn: HI 5En gi<n, t- gi< $j rTng c nok+ ph4n tj trong b<ng lit +& -d,-k,...,-n, ;i + l $% ngu#&n +h>ng =m Wn.u n +h>ng ph<i l ly# thY- c,- k, t- c thI x0m b<ng l m t ph4n c,- b<ng gAm k+{d ph4n tj, trong 5 + l $% ngu#&n nhM nht $-o cho n p k+{dX. w mvi gi-i 5on c,- thu)t ton ;? trG c,- $% hng 54u ti&n i ; $% hng cu%i c@ng c,- b<ng con hn ch. t'm +i.m D gi-i 5on 5 56*c $o $nh 5I x0m b<ng con n# cJn nhiu hEn m t ph4n tj h-# +h>ng. K.u i p , m t phap $o $nh $C 56*c lm 5I xc 5?nh x c ln hEn $% hng D gi8- c,- b<ng con hn ch. h-# +h>ng. Kh6 ;)# D mvi gi-i 5on, c $j !Nng h-i phap $o $nh. :hi trong b<ng ch9 cJn m t ph4n tj, m t phap $o $nh $C cho ch/ng t- bi.t rTng +h>ng cJn m t ph4n tj no th&m n8- ; m t phap $o $nh n8cho bi.t $% hng 5 c ph<i l x h-# +h>ng. Vm li c4n ph<i c nhiu nht k+{koklogkn+k phap $o $nh 5I th2c hin phap t'm +i.m nh? ph=n Wn.u n +h>ng ph<i l ly# thY- c,- k, b<ng g%c $C 56*c mD r ng ti b<ng c k +{d ph4n tj, ;i +ologkn ; $2 t'm +i.m 5Ji hMi ph<i th2c hin nhiu nht klogkn{k phap $o $nhX. no 5 thu)t ton t'm +i.m nh? ph=n c 5 ph1c tp l uWlog knX. VY $2 ph=n tGch D tr&n $u# r- rTng thu)t ton t'm +i.m nh? ph=n, ng-# c< trong tr6ng h*p xu nht, cyng hiu qu< hEn thu)t ton t'm +i.m tu#.n tGnh. +T ChU V: P t 5iu qu-n trng c4n ph<i bi.t l m# tGnh ph<i c4n b-o l=u 5I gi<i xong m t bi ton. VhG !N, n.u m t thu)t ton 5Ji hMi dz gi, th' c thI cJn 5ng chi phG thi gi-n m# tGnh 5Ji hMi 5I gi<i bi ton 5. Kh6ng n.u m t thu)t ton 5Ji hMi dz t9 n3m 5I gi<i m t bi ton, th' th2c hin thu)t ton 5 $C l m t 5iu phi lL. P t trong nh8ng hin t6*ng lL th/ nht c,- c>ng ngh hin 5i l $2 t3ng gh& gm c,- t%c 5 ; l6*ng b nh trong m# tGnh. P t nh=n t% qu-n trng +hc lm gi<m thi gi-n c4n thi.t 5I gi<i m t
11

bi ton l $2 xj lL $ong $ong B 5=# l + thu)t th2c hin 5Ang thi cc !"# phap tGnh. no $2 t3ng t%c 5 tGnh ton ; !ung l6*ng b nh c,- m# tGnh, cyng nh6 nh ;ic !@ng cc thu)t ton l*i !Nng 56*c 6u th. c,- + thu)t xj lL $ong $ong, cc bi ton ;i n3m tr6c 5=# 56*c x0m l +h>ng thI gi<i 56*c, th' b=# gi c thI gi<i b'nh th6ng. 1. C,& )hu0) ngW )h.Xng !Yng &h% N #hO& )P# &/a >N) )hu0) )%,n: H ph1c tp Vhu)t ng8 uWdX H ph1c tp hTng $% uWlognX H ph1c tp l>g-rit uWnX H ph1c tp tu#.n tGnh uWnlognX H ph1c tp nlogn b uWn X H ph1c tp 5- th1c n uWb X WbdX H ph1c tp hm my uWnX H ph1c tp gi-i thY2. ThX* g*an >,A ) nh .Z& !Yng F* >N) )hu0) )%,n: :Gch th6c Cc phap tGnh bit 56*c $j !Nng c,- bi ton n logn nlogn n! kn dz l.dzBe $ dzB $ l.dzB $ dzB~ $ dzB} $ dzk ~.dzBe $ dzB~ $ ~.dzB~ $ dzB| $ m.dzdln3m dzl d,z.dzB $ dzB} $ d.dzB| $ dzBl $ dzm d,l.dzB $ dzB| $ d.dzBm $ dzBd $ | B Bm Bl dz d,~.dz $ dz $ k.dz $ dz $ dz} k.dzB $ dzBl $ k.dzBk $ d~ ph/t

n l.dzBl $

1.Q. R[ NGU\]N ^_ THUT TON. 1.Q.1. Thu0) )%,n `u&C*!':


h6Eng php tGnh 6c chung ln nht c,- h-i $% bTng cch !@ng ph=n tGch cc $% ngu#&n 5 r- thY- $% ngu#&n t% l +h>ng hiu qu<. FL !o l D chv thi gi-n ph<i ti&u t%n cho $2 ph=n tGch 5. n6i 5=# l ph6Eng php hiu qu< hEn 5I t'm 6c $% chung ln nht, gi l )hu0) )%,n `u&C*!'. Vhu)t ton n# 5" bi.t tY thi c 5i. K m-ng t&n nh ton hc c h# lp ucli!0, ng6i 5" m> t< thu)t ton n# trong cu%n $ch Z hng "#$ t%\ ni ti.ng c,- >ng. Vhu)t ton ucli!0 !2- ;o k mnh 5 $-u 5=#. M6nh M 1 aThu0) )%,n &h*aT: Cho - ; b l h-i $% ngu#&n ; bz. :hi 5 tAn ti !u# nht h-i $% ngu#&n q ; r $-o cho - o bq{r, z r p b. Vrong 5ng th1c tr&n, b 56*c gi l $% chi-, - 56*c gi l $% b? chi-, q 56*c gi l th6Eng $% ; r 56*c gi l $% !6.
12

:hi b l ngu#&n !6Eng, t- +L hiu $% !6 r trong phap chi- - cho b l - mo! b. M6nh M 2: Cho - o bq { r, trong 5 -, b, q, r l cc $% ngu#&n. :hi 5 CFKW-,bX o CFKWb,rX. Ww 5=# CFKW-,bX 5I ch9 6c chung ln nht c,- - ; b.X ii< $j - ; b l h-i $% ngu#&n !6Eng ;i - b. HQt rz o - ; rd o b. `Tng cch p !Nng li&n ti.p thu)t ton chi-, t- t'm 56*cg rz o rdqd { rk z rk p rd rd o rkqk { rl z rl p rk .................. rnBk o rnBdqnBd { rn z rn p rnBd rnBd o rnqn . Cu%i c@ng, $% !6 z $C xut hin trong !"# cc phap chi- li&n ti.p, ;' !"# cc $% !6 - o rz rd rk ... z +h>ng thI ch1- qu - $% hng 56*c. hEn n8-, tY Pnh 5 k D tr&n t- $u# r-g CFKW-,bX o CFKWrz,rdX o CFKWrd,rkX o ... o CFKWrnBk, rnBdX o CFKWrnBd,rnX o rn. no 5, 6c chung ln nht l $% !6 +hc +h>ng cu%i c@ng trong !"# cc phap chi-. Th !" b: n@ng thu)t ton ucli!0 t'm CFKWmdm, }}kX. }}k o mmd.d { km mdm o km.d { d}} km o d}}.d{ k d}} o k.k { k k o k.md. no 5, CFKWmdm, }}kX o k. Vhu)t ton ucli!0 56*c ;i.t !6i !ng gi< m" nh6 $-ug #$%&'!u$' CFK W-,bg po$iti;0 int0g0r$X x go # go b Bh*C' # z F'g*n r go x >%! # x go # # go r 'n! qCFK W-,bX l xr Vrong thu)t ton tr&n, cc gi tr? b-n 54u c,- x ; # t6Eng 1ng l - ; b. w mvi gi-i 5on c,- th, tNc, x 56*c th-# bTng # ; # 56*c th-# bTng x mo! #. u tr'nh n# 56*c lQp li chYng no # z. Vhu)t ton $C ngYng +hi # o z ; gi tr? c,- x D 5iIm n#, 5 l $% !6 +hc +h>ng cu%i c@ng trong th, tNc, cyng chGnh l 6c chung ln nht c,- - ; b.
13

1.Q.2. <*cu !*dn &,& De nguAfn: M6nh M +: Cho b l m t $% ngu#&n !6Eng ln hEn d. :hi 5 n.u n l m t $% ngu#&n
!6Eng, n c thI 56*c biIu !in m t cch !u# nht !6i !ngg n o -+b+ { -+Bdb+Bd { ... { -db { -z. w 5=# + l m t $% t2 nhi&n, -z, -d,..., -+ l cc $% t2 nhi&n nhM hEn b ; -+ z. `iIu !in c,- n 56*c cho trong Pnh 5 l 56*c gi l +h-i triIn c,- n th0o cE $% b, +L hiu l W-+-+Bd... -d-zXb. `=# gi t- $C m> t< thu)t ton x=# !2ng +h-i triIn cE $% b c,- $% ngu#&n n bt +x. Vr6c h.t t- chi- n cho b 5I 56*c th6Eng ; $% !6, t1c l n o bqz { -z, z -z p b. b% !6 -z chGnh l ch8 $% 51ng b&n ph<i c@ng trong +h-i triIn cE $% b c,- n. Vi.p th0o chi- qz cho b, t- 56*cg qz o bqd { -d, z -d p b. b% !6 -d chGnh l ch8 $% th1 h-i tGnh tY b&n ph<i trong +h-i triIn cE $% b c,- n. Vi.p tNc qu tr'nh n#, bTng cch li&n ti.p chi- cc th6Eng cho b t- $C 56*c cc ch8 $% ti.p th0o trong +h-i triIn cE $% b c,- n l cc $% !6 t6Eng 1ng. u tr'nh n# $C +.t th/c +hi tnh)n 56*c m t th6Eng bTng z. Th !" g: V'm +h-i triIn cE $% c,- Wdklm|Xdz. dklm| o .d|ml { d d|ml o .dek { ~ dek o .km { z km o .l { z l o .z { l. no 5, Wdklm|Xdz o Wlzz~dX. Hon gi< m" $-u biIu !in thu)t ton t'm +h-i triIn cE $% b c,- $% ngu#&n n. #$%&'!u$' &hai t'in th(o c) *% b Wng po$iti;0 int0g0rX q go n + go z Bh*C' q z F'g*n -+ go q >%! b q go 'n!
+ b

+ go + { d

1.Q.+. Thu0) )%,n &h% &,& #hh# ) nh De nguAfn:


Cc thu)t ton th2c hin cc phap tGnh ;i nh8ng $% ngu#&n +hi !@ng cc +h-i triIn nh? ph=n c,- ch/ng l c2c +x qu-n trng trong $% hc c,- m# tGnh. V- $C m> t< D
14

5=# cc thu)t ton c ng ; nh=n h-i $% ngu#&n trong biIu !in nh? ph=n. V- cyng $C ph=n tGch 5 ph1c tp tGnh ton c,- cc thu)t ton n# th>ng qu- $% cc phap ton bit th2c $2 56*c !@ng. ii< $j +h-i triIn nh? ph=n c,- h-i $% ngu#&n !6Eng - ; b lg - o W-nBd-nBk ... -d -zXk ; b o WbnBd bnBk ... bd bzXk $-o cho - ; b 5u c n bit W5Qt cc bit z D 54u mvi +h-i triIn 5, n.u c4nX. 1T Hhh# &Nng: at bi ton c ng h-i $% ngu#&n ;i.t D !ng nh? ph=n. Vh, tNc th2c hin phap c ng c thI !2- tr&n ph6Eng php th>ng th6ng l c ng cQp ch8 $% nh? ph=n ;i nh-u Wc nhX 5I tGnh tng c,- h-i $% ngu#&n. HI c ng - ; b, tr6c h.t c ng h-i bit D ph<i c@ng c,- ch/ng, t1c lg -z { bz o cz.k { $z. w 5=# $z l bit ph<i c@ng trong +h-i triIn nh? ph=n c,- -{b, cz l $% nh, n c thI bTng z hoQc d. b-u 5 t- c ng h-i bit ti.p th0o ; $% nh -d { bd { cz o cd.k { $d. w 5=# $d l bit ti.p th0o WtGnh tY b&n ph<iX trong +h-i triIn nh? ph=n c,- -{b ; c d l $% nh. Vi.p tNc qu tr'nh n# bTng cch c ng cc bit t6Eng 1ng trong h-i +h-i triIn nh? ph=n ; $% nh 5I xc 5?nh bit ti.p $-u tGnh tY b&n ph<i trong +h-i triIn nh? ph=n c,tng -{b. w gi-i 5on cu%i c@ng, c ng -nBd, bnBd ; cnBk 5I nh)n 56*c cnBd.k{$nBd. `it 51ng 54u c,- tng l $nocnBd. :.t qu<, th, tNc n# to r- 56*c +h-i triIn nh? ph=n c,- tng, cN thI l -{b o W$n $nBd $nBk ... $d $zXk. Th !" i: V'm tng c,- - o WddzddXk ; b o WdzddzXk. -z { bz o d { z o z.k { d Wcz o z, $z o dX, -d { bd { cz o d { d { z o d.k { z Wc d o d, $d o zX, -k { bk {cd o z { d { d o d.k { z Wc k o d, $k o zX, -l { bl { ck o d { z { d o d.k { z Wcl o d, $l o zX, -m { bm {cl o d { d { d o d.k { d W$| o cm od, $m o dX. no 5, - { b o WddzzzdXk. Vhu)t ton c ng c thI 56*c m> t< bTng cch !@ng 5on gi< m" nh6 $-u. #$%&'!u$' c ng W-,bg po$iti;0 int0g0r$X c go z (%$ go z )% nBd F'g*n ! go
a , + b , + c k

$ go - { b { c k! c go ! 'n! $n go c q+h-i triIn nh? ph=n c,- tng l W$n $nBd ...$d $zX kr

15

Vng h-i $% ngu#&n 56*c tGnh bTng cch c ng li&n ti.p cc cQp bit ; +hi c4n ph<i c ng c< $% nh n8-. C ng m t cQp bit ; $% nh 5Ji b- hoQc Gt hEn phap c ng cc bit. Kh6 ;)#, tng $% cc phap c ng bit 56*c $j !Nng nhM hEn b- l4n $% bit trong +h-i triIn nh? ph=n. no 5, 5 ph1c tp c,- thu)t ton n# l uWnX. 2T Hhh# nhEn: at bi ton nh=n h-i $% ngu#&n ;i.t D !ng nh? ph=n. Vhu)t ton th>ng th6ng ti.n hnh nh6 $-u. n@ng lu)t ph=n ph%i, t- cg
a Wb , k -b o - b , k o
, , =z ,= z n d n d ,

X.

V- c thI tGnh -b bTng cch !@ng ph6Eng tr'nh tr&n. Vr6c h.t, t- th# rTng -b o- n.u bod ; -boz n.u boz. Pvi l4n t- nh=n m t $% hng ;i k l t- !?ch +h-i triIn nh? ph=n c,- n m t chv ; phG- tri bTng cch th&m m t $% +h>ng ;o cu%i +h-i triIn nh? ph=n c,- n. no 5, t- c thI nh)n 56*c W-bXk bTng cch !?ch +h-i triIn nh? ph=n c,- -b 5i chv ; phG- tri, t1c l th&m $% +h>ng ;o cu%i +h-i triIn nh? ph=n c,- n. Cu%i c@ng, t- $C nh)n 56*c tGch -b bTng cch c ng n $% ngu#&n -b.k ;i oz, d, ..., nBd. Th !" j: V'm tGch c,- - o WddzXk ; b o WdzdXk. V- c -bz.kz o WddzXk.d.kz o WddzXk, -bd.kd o WddzXk.z.kd o WzzzzXk, -bk.kk o WddzXk.d.kk o WddzzzXk. HI t'm tGch, h"# c ng WddzXk, WzzzzXk ; WddzzzXk. VY 5 t- c -bo WddddzXk. Vh, tNc tr&n 56*c m> t< bTng 5on gi< m" $-ug #$%&'!u$' nh=n W-,bg po$iti;0 int0g0r$X (%$ go z )% nBd F'g*n *( b o d )h'n c go - 56*c !?ch 5i chv 'CD' c go z 'n! qcz, cd,..., cnBd l cc tGch ri&ng ph4nr p go z (%$ go z )% nBd p go p { c qp l gi tr? c,- tGch -br Vhu)t ton tr&n tGnh tGch c,- h-i $% ngu#&n - ; b bTng cch c ng cc tGch ri&ng ph4n cz, cd, ck, ..., cnBd. :hi bod, t- tGnh tGch ri&ng ph4n c bTng cch !?ch +h-i triIn nh? ph=n c,- - 5i bit. :hi boz th' +h>ng c4n c !?ch chu#In no ;' c oz. no 5, 5I t'm tt c< n $% ngu#&n -b.k ;i oz, d, ..., nBd, 5Ji hMi t%i 5- l z { d { k { ... { nd o
nW n dX k

phap !?ch chv. f' ;)#, $% cc !?ch chu#In chv 5Ji hMi l uWn kX.
16

HI c ng cc $% ngu#&n -b tY oz 5.n nd, 5Ji hMi ph<i c ng m t $% ngu#&n n bit, m t $% ngu#&n n{d bit, ... ; m t $% ngu#&n kn bit. V- 5" bi.t rTng mvi phap c ng 5 5Ji hMi uWnX phap c ng bit. no 5, 5 ph1c tp c,- thu)t ton n# l uWnkX.

1.S. THUT TON kU\. 1.S.1. Kh,* n*6> 6 7uA:


H>i +hi ch/ng t- c thI qu# ;ic gi<i bi ton ;i t)p cc !8 liu 54u ;o xc 5?nh ; ;ic gi<i c@ng bi ton 5 nh6ng ;i cc gi tr? 54u ;o nhM hEn. Chng hn, bi ton t'm CFK c,- h-i $% -, b ;i - b c thI r/t gn ; bi ton t'm CFK c,- h-i $% nhM hEn, - mo! b ; b. :hi ;ic r/t gn nh6 ;)# th2c hin 56*c th' li gi<i bi ton b-n 54u c thI t'm 56*c bTng m t !"# cc phap r/t gn cho ti nh8ng tr6ng h*p m t- c thI ! !ng nh)n 56*c li gi<i c,- bi ton. V- $C th# rTng cc thu)t ton r/t gn li&n ti.p bi ton b-n 54u ti bi ton c !8 liu 54u ;o nhM hEn, 56*c p !Nng trong m t lp rt r ng cc bi ton. nh ngha: P t thu)t ton 56*c gi l 5 qu# n.u n gi<i bi ton bTng cch r/t gn li&n ti.p bi ton b-n 54u ti bi ton cyng nh6 ;)# nh6ng c !8 liu 54u ;o nhM hEn. Th !" 1l: V'm thu)t ton 5 qu# tGnh gi tr? - n ;i - l $% th2c +hc +h>ng ; n l $% ngu#&n +h>ng =m. V- x=# !2ng thu)t ton 5 qu# nh 5?nh nghU- 5 qu# c,- - n, 5 l -n{do-.-n ;i nz ; +hi noz th' -zod. f)# 5I tGnh -n t- qu# ; cc tr6ng h*p c $% my n nhM hEn, cho ti +hi noz. #$%&'!u$' po^0r W-g $% th2c +hc +h>ng( ng $% ngu#&n +h>ng =mX *( n o z )h'n po^0rW-,nX go d 'CD' po^0rW-,nX go - po^0rW-,nBdX Th !" 11: V'm thu)t ton 5 qu# tGnh CFK c,- h-i $% ngu#&n -,b +h>ng =m ; - b. #$%&'!u$' CFK W-,bg cc $% ngu#&n +h>ng =m, - bX *( b o z )h'n CFK W-,bX go 'CD' CFK W-,bX go CFK W- >%! b, bX Th !" 12: h"# biIu !in thu)t ton t'm +i.m tu#.n tGnh nh6 m t th, tNc 5 qu#. HI t'm x trong !"# t'm +i.m -d,-k,...,-n trong b6c th1 i c,- thu)t ton t- $o $nh x ;i -i. K.u x bTng -i th' i l ;? trG c4n t'm, ng6*c li th' ;ic t'm +i.m 56*c qu# ; !"# c $% ph4n tj Gt hEn, cN thI l !"# - i{d,...,-n. Vhu)t ton t'm +i.m c !ng th, tNc 5 qu# nh6 $-u. Cho *(a'ch Wi,,xX l th, tNc t'm $% x trong !"# -i, -i{d,..., -. n8 liu 54u ;o l b b- Wd,n,xX. Vh, tNc $C !Yng +hi $% hng 54u ti&n c,- !"# cJn li l x hoQc l +hi !"# cJn li ch9 c m t ph4n tj +hc x. K.u x +h>ng l $% hng 54u ti&n ; cJn c cc $% hng +hc th' li p !Nng th, tNc n#, nh6ng !"# t'm +i.m Gt hEn m t ph4n tj nh)n 56*c bTng cch x- 5i ph4n tj 54u ti&n c,- !"# t'm +i.m D b6c ;Y- qu-.
17

#$%&'!u$' *(a'ch Wi,,xX *( -i o x )h'n lo-c-tion go i 'CD' *( i o )h'n lo-c-tion go z 'CD' *(a'ch Wi{d,,xX Th !" 1+: h"# x=# !2ng phi&n b<n 5 qu# c,- thu)t ton t'm +i.m nh? ph=n. ii< $j t- mu%n 5?nh ;? x trong !"# - d, -k, ..., -n bTng t'm +i.m nh? ph=n. Vr6c ti&n t- $o $nh x ;i $% hng gi8- -Wn{dXk. K.u ch/ng bTng nh-u th' thu)t ton +.t th/c, n.u +h>ng t- chu#In $-ng t'm +i.m trong !"# ng7n hEn, nj- 54u c,- !"# n.u x nhM hEn gi tr? gi8- c,- c,- !"# xut pht, nj- $-u n.u ng6*c li. Kh6 ;)# t- r/t gn ;ic gi<i bi ton t'm +i.m ; ;ic gi<i cyng bi ton 5 nh6ng trong !"# t'm +i.m c 5 !i l4n l6*t gi<m 5i m t nj-. #$%&'!u$' bina'" *(a'ch Wx,i,X m go Wi{Xk *( x o -m )h'n lo-c-tion go m 'CD' *( Wx p -m -n! i p mX )h'n bina'" *(a'ch Wx,i,mBdX 'CD' *( Wx -m -n! mX )h'n bina'" *(a'ch Wx,m{d,X 'CD' lo-c-tion go z

1.S.2. 6 7uA 12 C-#:


Th !" 1Q. Vh, tNc 5 qu# $-u 5=# cho t- gi tr? c,- n ;i n l $% ngu#&n !6Eng. #$%&'!u$' -acto'ial Wng po$iti;0 int0g0rX *( n o d )h'n -acto'ial.n) go d else factorial(n) := n * factorial(n-1) C cch +hc tGnh hm gi-i thY- c,- m t $% ngu#&n tY 5?nh nghU- 5 qu# c,- n. Vh-# cho ;ic l4n l6*t r/t gn ;ic tGnh ton cho cc gi tr? nhM hEn, t- c thI xut pht tY gi tr? c,- hm ti d; l4n l6*t p !Nng 5?nh nghU- 5 qu# 5I t'm gi tr? c,- hm ti cc $% ngu#&n ln !4n. H l th, tNc lQp. #$%&'!u$' it0r-ti;0 s-ctori-l Wng po$iti;0 int0g0rX x go d (%$ i go d )% n x go i x
qx l nr

Vh>ng th6ng 5I tGnh m t !"# cc gi tr? 56*c 5?nh nghU- bTng 5 qu#, n.u !@ng ph6Eng php lQp th' $% cc phap tGnh $C Gt hEn l !@ng thu)t ton 5 qu# WtrY +hi !@ng cc m# 5 qu# chu#&n !NngX. V- $C x0m xat bi ton tGnh $% hng th1 n c,- !"# ibon-cci. #$%&'!u$' -ibonacci Wng ngu#&n +h>ng =mX
18

*( n o z )h' -ibonacciWnX go z 'CD' *( n o d )h'n -ibonacciWnX go d 'CD' -ibonacciWnX go -ibonacciWn B dX { -ibonacciWn B kX Vh0o thu)t ton n#, 5I t'm sn t- biIu !in sn o snBd { snBk. b-u 5 th-# th. c< h-i $% n# bTng tng c,- h-i $% ibon-cci b)c thp hEn, c1 ti.p tNc nh6 ;)# cho ti +hi s z ; sd xut hin th' 56*c th-# bTng cc gi tr? c,- ch/ng th0o 5?nh nghU-. no 5 5I tGnh s n c4n sn{dBd phap c ng. `=# gi t- $C tGnh cc phap ton c4n !@ng 5I tGnh s n +hi $j !Nng ph6Eng php lQp. Vh, tNc n# +hDi to x l s z o z ; # l sd o d. :hi ;Jng lQp 56*c !u#t qu- tng c,- x ; # 56*c gn cho bi.n phN _. b-u 5 x 56*c gn gi tr? c,- # ; # 56*c gn gi tr? c,_. f)# $-u +hi 5i qu- ;Jng lQp l4n d, t- c x o s d ; # o sz { sd o sk. :hi qu- ;Jng lQp l4n nBd th' x o snBd. Kh6 ;)# ch9 c n d phap c ng 56*c !@ng 5I t'm sn +hi n d. #$%&'!u$' /t('ati0( -ibonacci Wng ngu#&n +h>ng =mX *( n o z )h'n # go z 'CD' F'g*n x go z ( # go d (%$ i go d )% n B d F'g*n _ go x { # x go # ( # go _ 'n! 'n! q# l $% ibon-cci th1 nr V- 5" ch9 r- rTng $% cc phap ton !@ng trong thu)t ton 5 qu# nhiu hEn +hi !@ng ph6Eng php lQp. Vu# nhi&n 5>i +hi ng6i t- ;On thGch !@ng th, tNc 5 qu# hEn ng-# c< +hi n tM r- +am hiu qu< $o ;i th, tNc lQp. HQc bit, c nh8ng bi ton ch9 c thI gi<i bTng th, tNc 5 qu# m +h>ng thI gi<i bTng th, tNc lQp.

<_I TH CHNG I: 1. V'm m t $% ngu#&n n nhM nht $-o cho sWxX l uWxnX 5%i ;i cc hm sWxX $-ug
aT sWxX o kxl { xklog x. FT sWxX o kxl { Wlog xXm. &T sWxX o
1m + 1k +d 1l +d

19

!T sWxX o

1 | + | log 1 1 m +d

2. Ch1ng minh rTng


aT xk { mx { ~ l uWxlX, nh6ng xl +h>ng l uWxk {mx { d~X. FT xlog x l uWxkX, nh6ng xk +h>ng l uWxlog xX.

3. Cho m t 5nh gi bigBu 5%i ;i cc hm cho !6i 5=#. H%i ;i hm gWxX trong 5nh
gi sWxX l uWgWxXX, h"# chn hm 5En gi<n c b)c thp nht. aT nlogWnk { dX { nklogn. FT Wnlogn { dXk { Wlogn { dXWnk { dX. n k &T n k + n n .

4. Cho hn l $% 5iu ho th1 ng


hn o d { Ch1ng minh rTng hn l uWlognX.
d k

d l

{ ... {

d n

S. F)p m t thu)t ton tGnh tng tt c< cc $% ngu#&n trong m t b<ng. b. F)p thu)t ton tGnh xn ;i x l m t $% th2c ; n l m t $% ngu#&n. g. P> t< thu)t ton chn m t $% ngu#&n x ;o ;? trG thGch h*p trong !"# cc $% ngu#&n
-d, -k, ..., -n x.p th0o th1 t2 t3ng !4n.

i. V'm thu)t ton xc 5?nh ;? trG gQp 54u ti&n c,- ph4n tj ln nht trong b<ng lit +& cc
$% ngu#&n, trong 5 cc $% n# +h>ng nht thi.t ph<i +hc nh-u.

j. V'm thu)t ton xc 5?nh ;? trG gQp cu%i c@ng c,- ph4n tj nhM nht trong b<ng lit +&
cc $% ngu#&n, trong 5 cc $% n# +h>ng nht thi.t ph<i +hc nh-u.

1l. P> t< thu)t ton 5.m $% cc $% d trong m t x=u bit bTng cch +iIm tr- mvi bit c,x=u 5I xc 5?nh n c l bit d h-# +h>ng.

11. 2h$3t ton t4m &i#m tam ph5n. c 5?nh ;? trG c,- m t ph4n tj trong m t b<ng lit
+& cc $% ngu#&n th0o th1 t2 t3ng !4n bTng cch tch li&n ti.p b<ng lit +& 5 thnh bb<ng lit +& con c +Gch th6c bTng nh-u WhoQc g4n bTng nh-u nht c thI 56*cX ; gii hn ;ic t'm +i.m trong m t b<ng lit +& con thGch h*p. h"# ch9 rS cc b6c c,- thu)t ton 5.

12. F)p thu)t ton t'm trong m t !"# cc $% ngu#&n $% hng 54u ti&n bTng m t $% hng
no 5 51ng tr6c n trong !"#.

1+. F)p thu)t ton t'm trong m t !"# cc $% ngu#&n tt c< cc $% hng ln hEn tng tt
c< cc $% hng 51ng tr6c n trong !"#.
20

1Q. Cho 5nh gi bigBu 5%i ;i $% cc phap $o $nh 56*c !@ng bDi thu)t ton trong `i
t)p dz.

1S. Hnh gi 5 ph1c tp c,- thu)t ton t'm +i.m t-m ph=n 56*c cho trong `i t)p dd. 1b. Hnh gi 5 ph1c tp c,- thu)t ton trong `i t)p dk. 1g. P> t< thu)t ton tGnh hiu c,- h-i +h-i triIn nh? ph=n. 1i. F)p m t thu)t ton 5I xc 5?nh - b, - o b h-# - p b 5%i ;i h-i $% ngu#&n - ; b D
!ng +h-i triIn nh? ph=n.

1j. Hnh gi 5 ph1c tp c,- thu)t ton t'm +h-i triIn th0o cE $% b c,- $% ngu#&n n qu$% cc phap chi- 56*c !@ng.

2l. h"# cho thu)t ton 5 qu# t'm tng n $% ngu#&n !6Eng l 54u ti&n. 21. h"# cho thu)t ton 5 qu# t'm $% c2c 5i c,- t)p h8u hn cc $% ngu#&n. 22. P> t< thu)t ton 5 qu# t'm xn >%! m ;i n, x, m l cc $% ngu#&n !6Eng. 2+. h"# nghU r- thu)t ton 5 qu# tGnh
ngu#&n !6Eng.
ak
n

trong 5 - l m t $% th2c ; n l m t $%

24. h"# nghU r- thu)t ton 5 qu# t'm $% hng th1 n c,- !"# 56*c xc 5?nh nh6 $-ug
-zod, -d o k ; -n o -nBd -nBk ;i n o k, l, m, ...

2S. Vhu)t ton 5 qu# h-# thu)t ton lQp t'm $% hng th1 n c,- !"# trong `i t)p km l
c hiu qu< hEn

21

You might also like