You are on page 1of 159

K thut lp trnh

CHNG i I CNG V LP TRNH


I. Khi nim thut ton:
I.1. Khi nim:
Thut ton l tp hp cc quy tc c logic nhm gii mt lp
bi ton no c mt kt qu xc nh!
I.. Cc tnh cht c tr ng ca thut ton :
I.2.1. Tnh tng qut :
Thut ton c lp kh"ng phi ch# gii mt bi ton c$
th m th"i m c%n phi gii c mt lp cc bi ton c &'ng t(
)ng t*!
I.2.2. Tnh gii hn :
Thut ton gii mt bi ton phi c th*c hi+n qu, mt
-. gii h'n cc th,o tc 't n kt qu!
I..!. Tnh !u" nht :
Ton b qu t/0nh bin 1i2 c3ng nh t/t t* th*c hi+n
phi c xc nh 4 l &uy nh5t! 6h 4y khi &7ng thut ton
c7ng mt &8 li+u b,n 9u phi cho c7ng mt kt qu!
I.!. #h$n %oi:
Th:o c5u t/;c2 t, c th ph<n thnh b, lo'i thut ton c)
bn -,u =
( Thut ton kh"ng ph<n nhnh!
( Thut ton c ph<n nhnh!
( Thut ton th:o chu t/0nh c bc l>p xc nh 4 c b(
c l>p kh"ng xc nh!
II. "# t$ thut ton %&n' ( u )* :
II.1. & u ' :
?u @ l mt &'ng @ th &7ng m" t qu t/0nh tAnh
ton mt cch c h+ th.ng! 6gBi t, thBng th hi+n thut ton
bng lu @!
II.. Cc () hiu tr*n % u ' :
T+n ,h-i K. hiu . n'h/0
C
K thut lp trnh
Dh.i mE 9u ho>c
kt th;c
F7ng mE 9u ho>c
kt th;c ch)ng
t/0nh
Dh.i 4o /, G, -. li+u 4o ho>c
in kt qu
Dh.i tAnh ton Hiu &iIn cc c"ng
thJc tAnh ton 4
th,y 1i gi t/ cK,
cc bin
Dh.i iLu ki+n F7ng ph<n
nhnh ch)ng t/0nh
Mh)ng t/0nh con F7ng gNi ch)ng
t/0nh con
O3i tPn Mh# hng t/uyLn
th"ng tin2 liPn h+ cc
kh.i
II.!. +,t -. / !0 1i2u !i3n thut ton 14ng % u '
II.!.1. Thut ton (h5ng 6h$n nhnh:
QA &$ C= TAnh R S x
T
U y
T
H:gin
6h,Np Vx2yW
R Sx
T
Uy
T
Xu,Yt VRW
Zn&
QA &$ T = TAnh
y
x
M Hy Rx
[
T
T
+
+ +
=
\ bit R2H2M2x2y po]Vx2nW
T
K thut lp trnh
H:gin
6h,Np VR2 H2 M2 x2yW
[ SVRx UHy UMW ^ [_`T Vxax UyayW
Xu,Yt [
Zn&
II.!.. Thut ton c7 6h$n nhnh:
QA &$ C= T0m gi t/ m,x cK, b, -. th*c ,2b2c
H:gin
6h,Np V,2 b2 cW
O,x S,
Xu,Yt VO,xW
Zn&
, bb
O,x cc
O,x Sc
[
[
O,x Sb
d
d
QA &$ T= eii ph)ng t/0nh bc nh5t RxUH Sf 4i cc
nghi+m th*c!
g
K thut lp trnh
H:gin
6h,Np V,2 bW
Xu,Yt VhiTQdjW
Zn&
, Sf
[
[
Xu,Yt V(b^,W
b Sf Xu,Yt VhiTQ6jW
d
d
QA &$ g = eii ph)ng t/0nh bc h,i Rx
T
UHxUM Sf 4i cc
nghi+m th*c!
k
K thut lp trnh
H:gin
6h,Np V,2 b2 cW
Xu,Yt VhX
C
Sj2V(b U[_`TVF:lt,WW ^ VTa,WW
Xu,Yt VhX
T
Sj2V(b ( [_`TVF:lt,WW ^ VTa,WW
Zn&
, Sf
d
d
iTHC Vb2 cW
F:lt, cf Xu,Yt VhiTQ6jW
[
[
F:lt, Sbab ( ka,ac
d
F:lt, Sf
Xu,Yt V(b ^ VTa,WW
[
II.!.!. Thut ton c7 chu tr8nh:
Thut ton c chu t/0nh 4i cc bc l>p xc nh thBng
c th hi+n bng lu @ -,u =
i S gi,*t/3b,n K,lu
?:Nnh [\
T,Bng i
i cSn
[
d
4i n l gi t/ kt th;c!
m
K thut lp trnh
QA &$ k= TAnh [S
i
i
n
x
=

1
2 4i cc x
i
&o t, nhp 4o!
H:gin
6h,Np VnW
i SC
[ Sf
6h,Np Vx
i
W
Zn&
i SiUC
[ S[Ux
i
i cSn
Xu,Yt V[W
[
d
III. CC NG#N NG1 LP TRNH 2 CH 3NG TRNH 45CH:
III.1. 9g5n ng: %6 tr8nh :
III.1.1. ;ii thiu: Mon ngBi mu.n gi,o tip 4i my tAnh
phi th"ng qu, ng"n ng8! Mon ngBi mu.n my tAnh th*c hi+n
c"ng 4i+c2 phi 4it cc yPu c9u , cho my bng ng"n ng8
my hiu c! Qi+c 4it cc yPu c9u t, gNi l lp t/0nh
Vp/og/,mmingW! 6g"n ng8 &7ng lp t/0nh c gNi l ng"n
ng8 lp t/0nh!
6u ng"n ng8 lp t/0nh g9n 4i 45n L c9n gii quyt2
g9n 4i ng"n ng8 t* nhiPn th0 4i+c lp t/0nh -n )n gin h)n
nhiLu! 6h8ng ng"n ng8 lp t/0nh c tAnh ch5t nh t/Pn c gNi
l ng"n ng8 c5p c,o! 6hng my tAnh ch# hiu c ng"n ng8
/iPng cK, m0nh2 l cc chuoi -. f 4i C 4 nh 4y /p /ng l
kh khqn cho lp t/0nh 4iPn2 40 n kh"ng g9n g3i 4i con ngBi!
ri+n t'i2 ng"n ng8 lp t/0nh c chi, /, lm cc lo'i -,u=
s
K thut lp trnh
III.1.. #h$n %oi ng5n ng: %6 tr8nh:
( 6g"n ng8 my Vm,chin: l,ngu,g:W
( rp ng8 V,--:mbly l,ngu,g:W
( 6g"n ng8 c5p c,o Vhigh:/(l:4:l l,ngu,g:W
Fo my tAnh ch# hiu c ng"n ng8 my2 cho nPn mt ch(
)ng t/0nh 4it t/ong ng"n ng8 c5p c,o phi c biPn &ch
-,ng ng"n ng8 my! M"ng c$ th*c hi+n 4i+c biPn &ch c
gNi l ch)ng t/0nh &ch!
III.. Ch <ng tr8nh !=ch:
Mh)ng t/0nh &ch c chi, /, lm T lo'i = t/0nh biPn &ch
Vcompil:/W 4 t/0nh th"ng &ch Vint:/p/:t:/W
III..1. Tr8nh 1i*n !=ch: l 4i+c chuyn mt ch)ng
t/0nh t/ong ng"n ng8 c5p c,o no Vch)ng t/0nh ngu@nW
-,ng ng"n ng8 my Vch)ng t/0nh AchW!
( ThBi gi,n chuyn mt ch)ng t/0nh ngu@n -,ng ch)ng
t/0nh Ach c gNi l thBi gi,n &ch!
( ThBi gi,n m ch)ng t/0nh Ach th*c thi c gNi l thBi
gi,n th*c thi!
6h 4y2 ch)ng t/0nh ngu@n 4 &8 li+u ch)ng t/0nh
th*c thi c xt lu t/ong cc thBi im khc nh,u2 c gNi l thBi
gi,n &ch Vcompil: tim:W 4 thBi gi,n th*c thi V/un(tim:W
Mht$ng t/vnh
nguoln
T/vnh bi:pn
&3ch
Mht$ng t/vnh
Kch
O,*y tnh
tht7c hi:Nn
D:Yt qu,w
Ftxli:Nu
r0nh y!C! Mh)ng t/0nh th*c thi th:o c) ch &ch cK, t/0nh
biPn &ch
III... Tr8nh th5ng !=ch: qu t/0nh &ch 4 th*c thi
xy /, c7ng C thBi gi,n2 &ch n <u thi hnh l+nh n !
z
K thut lp trnh
Mht$ng t/vnh
nguoln
Mht$ng t/vnh
thopng &3ch
D:Yt qu,w
Ftxli:Nu
r0nh y!T! Mh)ng t/0nh th*c thi th:o c) ch &ch cK, t/0nh
th"ng &ch
{
K thut lp trnh
CH3NG L6" 789N V:I NG#N NG1 C
; Gi:i thiu n'#n n'1 C
6g"n ng8 M &o F:nni- `itchi: l ngBi 9u tiPn L xu5t2
| thit k 4 ci >t M t/ong m"i t/Bng }6yX! 6 c ngu@n
g.c tx ng"n ng8 HMi? &o O,/tin `ich,/&- , /, 4o nqm C~sz
4 ng"n ng8 H &o D:n Thomp-on pht t/in tx ng"n ng8 HMi?
nqm C~zf khi 4it h+ iLu hnh }nix!
M l ng"n ng8 lp t/0nh , &$ng2 c5p c,o nhng l'i c kh
nqng th*c hi+n cc th,o tc nh cK, ng"n ng8 R--:mbly! Q0 th
ng"n ng8 M nh,nh chng c ci >t2 -t &$ng t/Pn my 4i
tAnh 4 | t/E thnh mt c"ng c$ lp t/0nh kh m'nh2 hi+n n,y
,ng c khuynh hng t/E thnh mt ng"n ng8 lp t/0nh chAnh
cho my 4i tAnh t/Pn th gii!
; <= )i>m n'#n n'1 C
6g"n ng8 M c nh8ng >c im c) bn -,u =
( TAnh c" Nng Vcomp,ctW = 6g"n ng8 M ch# c gT tx kho
chun2 kf ton tt chun m h9u ht c biu &in bEi cc &|y
ku t* ngn gNn!
( TAnh c5u t/;c V-t/uctu/:&W = 6g"n ng8 M c mt tp hp
cc pht biu lp t/0nh c5u t/;c nh pht biu quyt nh
ho>c l>p! Fo 2 n cho php ch;ng t, 4it ch)ng t/0nh c
t1 chJc 4 & hiu!
( TAnh t )ng thAch Vcomp,ct,bl:W = 6g"n ng8 M c b l+nh
tiLn xt lu 4 cc th 4i+n chun lm cho cc ch)ng t/0nh 4it
bng ng"n ng8 M c th t)ng thAch khi chuyn tx my tAnh
ny -,ng my tAnh kiu hon ton khc!
( TAnh linh ng V:xibl:W = 6g"n ng8 M l mt ng"n ng8
/5t linh ng 4L ng8 php2 n c th ch5p nhn /5t nhiLu cch
th hi+n m kh"ng c E ng"n ng8 khc nh i,-c,l2 n gi;p cho
kAch thc m| l+nh c th thu gNn l'i ch)ng t/0nh th*c thi
nh,nh chng h)n!
( HiPn &ch = 6g"n ng8 M c biPn &ch bng nhiLu bc 4
cho php biPn &ch nhiLu tp tin ch)ng t/0nh /iPng /n thnh
cc tp tin .i tng Vob:ctW 4 n.i cc .i tng l'i 4i nh,u
~
K thut lp trnh
VlinkW thnh mt ch)ng t/0nh th*c thi th.ng nh5t!
I. CC KHI NI" C3 ?$N
I.1. Cu tr>c c< 1?n ca m,t ch <ng tr8nh C
tiLn xt lu
Mc hm
4oi& m,inVW
kh,i bo bin\
nhp &8 li+u \
xt lu \
xu5t \

QA &$ = Mh)ng t/0nh hi+n t/Pn mn h0nh c<u Mh,o c,c


b,n
4oi& m,inVW
p/intVMh,o c,c b,nnW\

Ot 4i nhn xt qu,n t/Nng =


( Mh)ng t/0nh M b,o giB c3ng c mt h,y nhiLu hm2
t/ong c mt hm chAnh bt buc phi c l hm m0inVW!
G<y chAnh l hm c th*c hi+n 9u tiPn t/ong ch)ng t/0nh!
( M>p &5u xc nh mt kh.i l+nh!
( rm p/intV Mh,o c,c b,n nW l hm chun cK, M &7ng
xu5t c<u th"ng bo Mh,o c,c b,n /, mn h0nh! Du t*
n l ku t* >c bi+t &7ng xu.ng &%ng!
( F5u \ ch5m &Jt mt l+nh!
( Mh)ng t/0nh M c ph<n bi+t ch8 thBng 4i ch8 ho,! G,
-. cc tx kho cK, M c 4it bng ch8 thBng2 c%n mt -. At (
c 4it bng ch8 ho, m t, phi tu<n thK ch>t chn2 nu kh"ng
th0 ch)ng t/0nh &ch -n kh"ng hiu!
; "@t A6i AB CD
QA &$ C= yn bng l3y thx, T cK, cc -. nguyPn tx Cf n mf
^a Mh)ng t/0nh in b0nh ph)ng cc -. tx Cf n mfa^
inclu&: c-t&io!hb
Cf
K thut lp trnh
4oi& m,inVW
int n\ ^aDh,i bo bin n kiu nguyPn a^
nSCf\ ^aen nSCf a^
]hil: VncSmfW ^a?>p tx Cf n mf bng ]hil:
a^
p/intVg& t m&n2n2nanW\ ^ain &'ng m& l &nh m 4
t/A in n 4 n
T
a^
nUU\ ^a Tqng n lPn C a^
^art ]hil:a^
^art m,ina^
CC
K thut lp trnh
QA &$ T = T)ng t* nh 4A &$ C nhng 4it cch khc =
inclu&: c-t&io!hb
&:n: m,x mf ^aTiLn xt lu2 nh ngh, m,x
Smfa^
4oi& m,inVW
int n\ ^aDh,i bo bin n kiu nguyPna^
o/ VnSCf\ ncSm,x\ nUUW ^a?>p tx Cf n mf bng
o/a^
p/intVg& t m&n2n2nanW\ ^ain n 4 n
T
&'ng m& l
nqm ch8 -.a^
^art m,ina^
QA &$ g = Mh)ng t/0nh in l3y thx, T2 g2 k2 m\ c &7ng hm
tAnh l3y thx, =
inclu&: c-t&io!hb
&:n: m,x mf ^aTiLn xt lu2 nh ngh, m,x Smfa^
o,t luythu,Vint n2 int mW ^arm luythu, 4i T th"ng -.a^
o,t -SC\ ^aDh,i bo 4 khEi t'o bin -a^
o/ V \mbf\m((W ^a?>p gim &9n tx m ti Ca^
-S-an\
/:tu/n -\ ^aT/ kt qu 4La^

4oi& m,inVW
int n2nT2ng2nk2nm\ ^aDh,i bo bin kiu nguyPna^
o/ VnSCf\ncSmf\nUUW ^a?>p tx Cf n mf bng o/a^
nTS luythu,Vn2TW\ ^aeNi hm luythu,a^
ngS luythu,Vn2gW\
nkS luythu,Vn2kW\
nmS luythu,Vn2mW\
p/intVg& t m!T t m!Tt m!Tt m!Tt m!Tn2
n2nT2ng2nk2nmW\ ^ain n 4 n
m
&'ng m ch8 -. 4i T -. l a^

^art m,ina^
; H6m EuFt =huGn HIintJKL
C> 6h6 =
HIintJVchuoi(nh&'ng2th,m-oC2th,m-oT2!!!W
) ngh@a =
CT
K thut lp trnh
rm p/intVW -n x:m xt chuoi(nh&'ng2 l5y gi t/ cc
th,m -. Vnu c9nW >t 4o th:o yPu c9u cK, chuoi(
nh&'ng 4 gEi /, thit b chun!
Mhuoi(nh&'ng l mt chuoi ku t*2 t/ong c nh8ng ku
t* xu5t /, nguyPn 4dn ho>c xu5t E &'ng >c bi+t2 4 c
th c nh8ng chuoi iLu khin c9n l5y gi t/ cK, cc
th,m -. th,y 4o khi in /,!
( 9h:ng () tA c 1it :
K. tM T= CDn' "N OPCII
n Xu.ng hng mi Cf
t T,b ~
b X, ku t* bPn t/i {
/ Mon t/Y t/E 4L 9u hng Cg
[,ng t/,ng CT
, iht ting c%i z
Xu5t &5u cho ngc ~T
j Xu5t &5u nhy )n h g~
jj Xu5t &5u nhy kp gk
x&& Xu5t ku t* c m| R[Myy &'ng
r:x l &&
&&& Xu5t ku t* c m| R[Myy &'ng
F:c l &&&
f Du t* 6}?? f
B ChuCi =nh !ng :
,g]i&th!p/:c6hl typ:
TQHR = nh kiu cK, th,m -. th:o -,u chuoi(nh&'ng
l5y gi t/ /,
TQHR . n'h/0
&2i [. nguyPn c) -. Cf
u [. nguyPn c) -. Cf kh"ng &5u
o [. nguyPn c) -. {
x [. nguyPn c) -. Cs2 ch8 thBngV,2b2!!!2W
Cg
K thut lp trnh
X [. nguyPn c) -. Cs2 ch8 in VR2H2!!!2W
[. th*c &'ng (&&&&!&&&!!!
: [. th*c &'ng (&!&&& :U^(&&&
Z [. th*c &'ng (&!&&& ZU^(&&&
g2e [. th*c &'ng :VZW h,y t7y th:o
chAnh xc
c Du t*
- Mhuoi ku t* tn c7ng bng hfj
F5u c9n in
Ck
K thut lp trnh
S(0' = F'ng iLu ch#nh
S(0' . n'h/0
nu kh"ng c in &8 li+u /, 4i c,nh phi
( in &8 li+u /, 4i c,nh t/i
U ?u"n bt 9u -. bng U h,y (
in /, t7y th:o typ:2 nu=
f = Mhn thPm f Jng t/c gi t/ bf
x2X = Mhn thPm fx h,y fX Jng t/c -.
ny
:2Z2 = ?u"n lu"n c &5u ch5m thp ph<n
e2g = 6h t/Pn nhng kh"ng c -. f i -,u
TiCth = nh kAch thc in /,
TiCth . n'h/0
n Fnh At nh5t n ku t* 2 iLn khong t/ng cc
ku t* c%n t/.ng
fn Fnh At nh5t n ku t* 2 iLn -. f cc ku t* c%n
t/.ng
a [. ku t* At nh5t c9n in nm E th,m -. t)ng Jng
PIR= = nh kAch thc ph9n ln in /,
PIR= . n'h/0
kh"ng c chAnh xc nh b0nh thBng
f &2i2o2u2x chAnh xc nh c3
:2Z2 Dh"ng c &5u ch5m thp ph<n
n nhiLu nh5t l n ku t* V-.W
a [. ku t* At nh5t c9n in nm E th,m -. t)ng
Jng
C= =h1 %U Vun' =
Th,m -. l con t/Y x, XXXX=
6 Th,m -. l con t/Y g9n
h Th,m -. l -ho/t int
l Th,m -. l long int V&2i2o2u2x2XW
Cm
K thut lp trnh
&oubl: V:2Z22g2eW
QA &$ C= ch,/ cShRj\
ch,/ -SHlu: moon \
4n' Th#n' V-
t3n' Wn'
XuFt Nhn EYt
c c R /ng C
Tc c R /ng T2 c,nh
phi
(gc c R /ng g2 c,nh t/i
& c sm O| R[Myy cK, hRj
- - Hlu: moon /ng Cf
g- - Hlu: moon 6hiLu ku t* h)n
c9n thit
!s- - Hlu: m MhAnh xc s ku t*
(CC!{- - Hlu: moo MhAnh xc {2 c,nh
t/i
QA &$ T= int i S CTg\
o,t x S f!CTgkmsz{~\
4n' Th#n' V-
t3n' Wn'
XuFt Nhn EYt
& i CTg /ng g
fm& i ffCTg ThPm T -. f
zo i CTg r+ {2 c,nh phi
(~x i zb r+ Cs2 c,nh t/i
c i Du t* c m| R[Myy CTg
(~x i fxzb r+ Cs2 c,nh t/i
Cf!m x f!CTgks /ng Cf2 c m ch8
-. thp ph<n
(CT!m: x C!Tgkmz:(
fC
M,nh t/i2 in /, &i &'ng
kho, hNc
QA &$ g= Qit ch)ng t/0nh in h0nh ch8 nht kp bng cc
ku t* R[Myy
Cs
K thut lp trnh
M~ MF HH
M{ MF HM
4oi& m,inVW
p/intVnxM~xMFxHHW\
p/intVnxM{xMFxHMnW\

Cz
K thut lp trnh
I.. Ki2u !: %iu c< 1?n
I..1. =nh ngh@a:
Diu &8 li+u c) bn l kiu &8 li+u c gi t/ )n2 kh"ng
ph<n chi, c n8, nh -.2 ku t*
I... #h$n %oi:
T+n ,i>u . n'h/0 KB=h
th:=
Phm Ai
ch,/ Du t* C byt:
(CT{ CTz
un-ign:&
ch,/
Du t* kh"ng &5u C byt:
fTmm
un-ign:&
-ho/t
[. nguyPn ngn
kh"ng &5u
T byt:-
fsmmgm
:num [. nguyPn c &5u T byt:-
(gTzs{gTzsz
-ho/t int [. nguyPn c &5u T byt:-
(gTzs{gTzsz
int [. nguyPn c &5u T byt:-
(gTzs{gTzsz
un-ign:&
int
[. nguyPn kh"ng &5u T byt:-
f smmgm
long [. nguyPn &i c
&5u
k byt:- (TCkzk{gsk{
TCkzk{gskz
un-ign:&
long
[. nguyPn &i kh"ng
&5u
k byt:-
fkT~k~szT~m
o,t [. th*c chAnh
xc )n
k byt:-
g!k Z(g{g!k
ZUg{
&oubl: [. th*c chAnh
xc kp
{ byt:-
C!z Z(gf{ C!z
ZUgf{
long &oubl: [. th*c chAnh
xc h)n &oubl:
Cf
byt:-
g!k Z(k~gT
C!C ZUk~gT
Ch =
C! 6g"n ng8 M kh"ng c kiu logic Vbool:,n nh i,-c,lW m
qu,n ni+m
f l ,l-: \ Dhc f l t/u:
T! 6g"n ng8 M kh"ng c kiu chuoi nh kiu -t/ing t/ong
i,-c,l
C{
K thut lp trnh
g! Mc kiu @ng nh5t=
int S -ho/t int S -ho/t S -ign:& int S -ign:& -ho/t int
long int S long
-ign:& long int S long
un-ign:& int S un-ign:& S un-ign:& -ho/t S
un-ign:& -ho/t int
un-ign:& long int S un-ign:& long
C~
K thut lp trnh
I.!. DiEn
I.!.1. T*n 1iEn = TPn bin l mt chuoi ku t* bt 9u
bng ku t* ch82 ku t* k tip l ku t* ch8 V&5u g'ch &i c
x:m l ku t* ch8W ho>c -. 4 kh"ng c t/7ng 4i cc tx kh,
cK, M!
Ch = ( 6g"n ng8 M ph<n bi+t ch8 thBng 4i ch8 ho, nPn
bin ch8 thBng 4i ch8 ho, l khc nh,u!
QA &$ = Hi:nC bi:nT l hp l+
bi:n T, , b l kh"ng hp l+
( 6g"n ng8 M ch# ph<n bi+t h,i tPn hp l+ 4i nh,u bng n
ku t* 9u tiPn cK, ch;ng! Th"ng thBng nS{2 nhng hi+n n,y
nhiLu ch)ng t/0nh &ch cho php nSgT2 nh Tu/bo M cho php
th,y 1i -. ku t* ph<n bi+t tx {(gTW
QA &$ = r,i bin -,u b x:m l c7ng tPn
bi:nt:n&,ihongTkytu&,uti:nC
bi:nt:n&,ihongTkytu&,uti:nT
I.!.. Khai 1o 1iEn
Mc bin phi c kh,i bo t/c khi -t &$ng nhm gi;p cho
ch)ng t/0nh &ch c th xt lu ch;ng!
Dh,i bo bin c &'ng =
Diu&8li+u tPnbinC
2t:nbinT !!! \
QA &$= int ,Sf2bSC2c\
o,t x2y2&:lt,\
ch,/ c\
a Dh,i bo 4 khEi t'o bin=
Diu &8 li+u tPnbin S git/ \
I.!.!. FGm nh6 !: %iu chuHn
a) Hm scanf()
C> 6h6: -c,nVchuoi(nh&'ng2i'ch#th,m-.C2
i'ch#th,m-.T2!!!W
( Mhuoi(nh&'ng cK, -c,nVW g@m c b, lo'i ku t* =
U Mhuoi iLu khin
Tf
K thut lp trnh
U Du t* t/ng
U Du t* khc t/ng
Mhuoi iLu khin c &'ng =
]i&thh^l typ:
Qi tQHR= xc nh kiu cK, bin , ch# th,m -. -n nhn gi
t/ nhp 4o
TQHR . n'h/0
&2i [. nguyPn c) -. Cf VintW
o [. nguyPn c) -. { VintW
u [. nguyPn c) -. Cf kh"ng &5u
Vun-ign:&W
x [. nguyPn c) -. Cs VintW
2: [. th*c Vo,tW
c Du t* Vch,/W
- Mhuoi ku t*
p Mon t/Y Vpoint:/W
l [. th*c V&oubl:W
? [. th*c Vlong &oubl:W
TiCth = xc nh -. ku t* t.i , -n nhn 4o cho 47ng !
rm -c,nVW ch# nhn cho K ]i&th ku t* ho>c cho n
khi g>p ku t* t/ng 9u tiPn! 6u chuoi nhp 4o nhiLu h)n
th0 ph9n c%n l'i -n &nh l'i cho l9n gNi -c,nVW k tip!
QA &$ C= -c,nVg-2-t/W\
6u nhp chuoi RHMFZe
th0 -c,nVW -n nhn t.i , g ku t* c5t 4o mng -t/2 c%n
FZe -n c l5y nu -,u c l9n gNi -,nV-2-t/W khc!
QA &$ T= un-ign:& long mon:y\
-c,nVlu2mon:yW\
L u = 6u -c,nVul2 mon:yW th0 gi t/ nhp 4o -n
kh"ng c lu t/8 t/ong bin mon:y2 nhng ch)ng t/0nh &ch
kh"ng bo loi!
TC
K thut lp trnh
QA &$ g= 6hp 4o tPn 4 b gii h'n t/ong khong R(2,(
ch,/ n,m:Tf\
p/intV6,m: = W \
-c,nVR(,(2n,m:W\
T/ong t/Bng hp ny2 nu t, gp -,i &'ng th0 n,m: S
Du t* t/ng= nu c t/ong chuoi(&'ng -n yPu c9u -c,nVW
bY qu, mt h,y nhiLu ku t* t/ng t/ong chuoi nhp 4o! Du t*
t/ng l ku t* khong t/ng Vh hW2 t,b VhtjW2 xu.ng hng VhnjW!
Ot ku t* t/ng t/ong chuoi(nh&'ng -n c hiu l chB nhp
n ku t* khc t/ng tip th:o!
QA &$ k= -c,nV& 2numW\
rm -c,nVW cho t, nhp mt ku t* khc t/ng n8, th0
mi thot /,! Du t* -n nm t/ong 47ng +m 4 -n c l5y bEi
hm -c,nVW ho>c g:t-VW tip th:o!
Du t* khc t/ng= nu c t/ong chuoi(nh&'ng -n khin
cho -c,nVW nhn 4o ;ng ku t* nh th!
QA &$ m= -c,nV&^&^&2&2m2yW\
rm -c,nVW chB nhn mt -. nguyPn2 c5t 4o &2 k n
l &5u h^j2 bY &5u ny i 4 chB nhn -. nguyPn k tip c5t
4o m! 6u kh"ng g>p &5u h^j k tip -. nguyPn th0 -c,nVW
ch5m &Jt!
Ch = rm -c,nVW %i hYi cc th,m -. phi l cc ,
ch# cK, cc bin ho>c l mt con t/Y!
a Ton tt , ch# = ?5y , ch# cK, mt bin
QA &$ s= int n\ bin n
n\ , ch# cK, n
p/intVt/ S &2 , ch# S &2n2nW\
b) Hm getch():
rm g:tchVW &7ng nhn mt ku t* &o t, nhp t/Pn bn
phAm m kh"ng c9n gp Znt:/ 4i c; php =
ch S g:tchVW\ Dh"ng hi+n ku t* nhp t/Pn
mn h0nh
ch S g:tch:VW\ ri+n ku t* nhp t/Pn mn h0nh
TT
K thut lp trnh
Qi ch l bin kiu ch,/!
QA &$ z=
4oi& m,inVW
ch,/ch\
p/intVeo 4,o ky tu b,t ky = hW\
ch S g:tch:VW\
p/intVn H,n 4u, go c2chW\
g:tchVW\

QA &$ {= H'n nhp 4o C ch8 ci! 6u ch8 ci nhp 4o l


& th0 ch)ng t/0nh -n kt th;c2 ngc l'i ch)ng t/0nh -n bo loi
4 bt nhp l'i!
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,inVW
ch,/ ch\
p/intVnH,n nh,p 4,o C chu c,i tu , &:n := W\
]hil: VVchSg:tch:VWW S &W
p/intVnXin loi2 c l, -,i /oi2chW\
p/intVn Thu l,i l,n nu,! nW\

? u u= rm g:tchVW c%n cho php t, nhp 4o C ku t* mE


/ng nh cc phAm C2 T2!!2 cc phAm &i chuyn cu/-o/! Mc
phAm ny lu"n c T byt:-= byt: thJ nh5t bng f2 c%n byt: T l
m| -c,nco&: cK, phAm ! G nhn bit t, | gp phAm ku t*
h,y phAm mE /ng2 t, c ch)ng t/0nh -,u=
4oi& m,inVW

int c\
int :xt:n&:& S f\
c S g:tchVW\
i VcW
:xt:n&:& S g:tchVW\
i V:xt:n&:&W
p/intVTh: ch,/,ct:/ i- :xt:n&:&nW\
Tg
K thut lp trnh
:l-:
p/intVTh: ch,/,ct:/ i-nt :xt:n&:&nW\

PhBm "N V=0n=oCR


C m~
T sf
g sC
k sT
m sg
s sk
z sm
{ ss
~ sz
Cf s{
rom: zC
zT
{f
zm
zz
ig}p zg
igFn {C
Zn& z~
yn- {T
F:l {g
Hng m| -c,nco&: cK, cc phAm mE /ng
c. Hm kbhtVW= rm int ,%hitKL -n kim t/, x:m c phAm
no c gp 4o h,y kh"ng! 6u c2 hm kbhit -n t/ 4L mt -.
nguyPn khc f2 4 ngc l'i!
Du t* m t, nhp 4o qu, hm kbhitVW c th l5y c qu,
hm g:tchVW ho>c g:tch:VW!
QA &$=
4oi& m,inVW

p/intVi/:-- ,ny k:y to continu:=W\


]hil: VkbhitVWW ^a &o nothing a^ \
Tk
K thut lp trnh
ch,/ kytuSg:tchVW\
p/intVnDy tu 4u, ,n = c2kytuW\

I.Z F4ng: rng l cc 'i lng m gi t/ cK, n kh"ng th,y


1i t/ong qu t/0nh ch)ng t/0nh th*c hi+n!
I.Z.1. #h$n %oi :
,! H!ng s" = l cc gi t/ -. | xc nh 4 kh"ng 1i!
int un-ign
:&
long h+ { h+ Cs o,t^&oubl:
F'ng nnnn
(nnnn
nnnn}^
u
nnnn?^l
(
nnnnl^?
fnnnn fxnnnn nnnn!nnnn
nnnn!nnnZ^:
nnn
QA
&$
kmsz
(CT
CTg}
CTu?
kmsz{~
?
(CTgk?
fgkm fxCRH CTg!smk
CTg!TgkZ(k
Ch =
( Mc hng -. 4it kh"ng &5u ho>c kh"ng -. m3 c hiu
l -. nguyPn2 ngc l'i l &oubl:!
( Mc hng -. nguyPn ln h)n int -n c lu t/8 th:o kiu
long2 c%n ln h)n long th0 c lu t/8 th:o kiu &oubl:!
( Mc hng -. nguyPn &)ng ln h)n long -n c lu t/8 th:o
kiu &oubl:
( Ot hng -. c lu t/8 th:o &'ng long nu th:o -. c
ku t* l V?W2 &'ng un-ign:& nu -,u c ch8 u V}W2 &'ng
thp l$c ph<n nu t/c -. c fx 4 &'ng bt ph<n
nu t/c -. c f
QA &$= mffff\ Cf ?\ ?ong
m}2 Cffu un-ign:&
fxCf h+ Cs S Cs
Cf
fCf h+ { S {
Cf
b! H!ng k t# = l ku t* /iPng bi+t c 4it t/ong h,i &5u
nhy )n = hRj
ei t/ cK, hng ku t* l m| R[Myy cK, n!
Tm
K thut lp trnh
QA &$ = p/intVc c gi t/ l &2jRj2jRjW\
hRj c gi t/ l sm
rng ku t* c th th,m gi, 4o cc php ton nh mNi -.
nguyPn khc!
QA &$ = h~j(jfjSmz(k{S~
rng ku t* c th l cc ku t* >c bi+t &'ng hc
C
j m t,
| xt E hm p/intVW nh hnj2j,j2jtj !!!
c! H!ng chu$ = ? mt chuoi ku t* nm t/ong h,i &5u nhy
kp !
QA &$ = F,y l, mot chuoi
r,ng chuoi co ky tu 'c bi+t nh n Tk{
chuoi /ong!
Ch =
( ih<n bi+t R hRj
rng= Mhuoi Du t*
F'ng lu t/8 =
R f R
( 6hn xt= E &'ng lu t/82 t, th5y tn c7ng cK, chuoi c ku
t* 6}?? hfj m kh"ng c E &'ng ku t*! MhAnh 40 4y m
kh"ng c ku t* /ong hj!
( Ot chuoi c th c 4it t/Pn nhiLu hng 4i iLu ki+n
hng t/Pn phi c &5u hj!
QA &$ = F,y l, mot chuoi &uoc 4i:t t/:n
nhi:u h,ng n
&! H!ng b%u th&c = ? mt biu thJc m t/ong cc
ton h'ng Lu l cc hng! Dhi ch)ng t/0nh &ch -n tAnh
ton biu thJc t/c2 4 kt qu c lu t/8 thng bng mt hng
-. t)ng )ng!
QA &$ ={aTf(Cg kt qu lu t/8 l Czg
h, (jRj l ~z(sm S gT
Cc{ l f V-,iW
I.Z.. Khai 1o h4ng:
C> 6h6: =onVt tPnhng S biuthJc\
Ts
K thut lp trnh
QA &$ =con-t ORX S mf\
con-t iy S g!CkCm~g\
Ch = ( T, c th kh,i bo hng bng cch nh ngh, C
m,c/o nh -,u=
&:n: tPnhng git/
( ?+nh &:n: phi c kh,i bo ngoi hm 4 -,u
n kh"ng c &5u \
I.[. #hI6 ton
I.[.1. #hI6 gn:
C> 6h6: bin S biu thJc\
Ch = ihp gn t/ong ng"n ng8 M t/ 4L mt kt qu l
t/ cK, biu thJc
QA &$ C = c S Cf\
, S b S c\
p/intV,S& 2 bS&2,2bW\ ,SCf2bSCf
QA &$ T = x S b U Tac\ yS , U VxS b U
TacW
y S , U x\
QA &$ g = VnUgW S kU\ Vkh"ng hp l+ 40 bPn
t/i l biu thJcW
h hS c Ujoj\ Vkh"ng hp l+ 40 bPn t/i l hngW
I.[.. Cc 6hI6 ton -. hJc :
,! 'h(p t)*n ha t)*n h+ng = U2 (2 a2 ^2
PhYH
ton
Ki>u ton hn' Ki>u ,\t ]u$
U2 (2 a ch,/2 int2 long2
o,t2 &oubl:
Diu cK, ton h'ng c kiu c,o
nh5t
^ nguyPn^nguyPn Diu nguyPn 4 l php chi,
nguyPn
th*cVnguyPnW^th*
c VnguyPnW
Diu th*c 4 l php chi, th*c
nguyPn^nguyPn Diu nguyPn 4 l php chi, l5y
ph9n &
Tz
K thut lp trnh
QA &$ =
inclu&: c-t&io!hb
4oi& m,inVW
ch,/ c4\
int i4 S CTC\
o,t 4C24T\
p/intV Mhuyn kiu =nnW\
c4 S i4\
p/intVint c gn cho ch,/ = & &
VcWnn2i42c42c4W\
4C S i4^mf\
p/intV int = & ^ mf S nn2i424CW\
4C S i4^mf!f\
p/intV o,t = & ^ mf!f S nn2i424CW\
4C S CfT{!zm\
4T S 4C Ui4 \
p/intV U & S nn24C2i424TW\
g:tchVW\

b! 'h(p t)*n m,t t)*n h+ng = php tqng UU2 php gim ((
,UU ho>c UU, , S ,UC
,(( ho>c ((, , S ,(C
Ch = Tuy nhiPn ,UU -n khc UU, khi ch;ng Jng t/ong
biu thJc Vc php gnW!
,UU = Tqng , -,u khi gi t/ cK, n c -t &$ng!
UU, = Tqng , t/c khi gi t/ cK, n c -t &$ng!
QA &$ =
m,inVW 0 % n
int ,Sk 2 bSs2 n\
n S , U b\
n S ,UU U b\
n S UU, U b\
n S ((, U b\
n S ,(( U b\
n S ,U b\
k
k
m
s
m
k
k
s
s
s
s
s
s
s
Cf
Cf
CT
CC
CC
Cf
T{
K thut lp trnh

I.[.!. #hI6 gn 6hKc hL6:


C> 6h6= bin opS cbiuthJcb bin S
bin op cbiuthJcb
Qi op l php ton!
Mc php gn phJc hp = US 2 (S 2 aS 2 ^S 2 S 2
ccS 2 bbS
QA &$ = n S naVCfUxW n aS VCf UxW
n S n Cf n S Cf
y S y Ug y US g
cc = l php &ch chuyn bit qu, t/i !
bb = l php &ch chuyn bit qu, phi !
I.[.Z. #hI6 ton quan h:
c = nhY h)n
b = ln h)n
bS = ln h)n ho>c bng
cS = nhY h)n ho>c bng
S = khc
SS = bng
Ch =
( ih<n bi+t ton tt -o -nh SS 4i php gn S
( M kh"ng c kiu &8 li+u bool:,n m qui c = ei t/ f l
-,i
ei t/ Sf l ;ng
QA &$=
,SCf\
bS V,bsWaV,(sW b S k
cS V,c mWaV,(mW c S f
QA &$= T0m -. ln nh5t t/ong g -. nguyPn ,2 b2 c
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,in VW
T~
K thut lp trnh
int ,2 b2 c2 m,x\
p/intVMh)ng t/0nh t0m -. ln nh5t t/ong g -.W\
p/intV6hp ,2 b2 cW\
-c,nV& & & 2 ,2 b2 cW\
m,x S ,\
i Vm,xcbW m,x S b\
i Vm,xccW m,x S c\
p/intV[. ln nh5t S &2 m,xW\
g:tchVW\

I.[.[.Ton tM %ogic:
Ton t^ . n'h/0
6T ihK nh
R6F ei,o2 4
` ri
ThJ t* tAnh ton tx t/Pn xu.ng!
Hng ch<n t/=
E _ E E Q E 22
Q
t/u: ,l-: t/u: t/u: t/u:
,l-: t/u: t/u: ,l-: ,l-:
,l-: t/u: ,l-:
,l-: ,l-: ,l-:
E Q E `` Q
t/u: t/u: t/u:
,l-: t/u: t/u:
,l-: t/u: t/u:
,l-: ,l-: ,l-:
QA &$ C= Xt ku t* c c phi l ku -. h,y kh"ng
ch,/ c\
i Vc bS hfj c cS h~jW
p/int V c l kA t* -. 2 cW\
gf
K thut lp trnh
QA &$ T= Xt ku t* ch l ch8 ci h,y kh"ng
i VVchb Sh,jW ,n& Vchc ShjWW o/ VVchb ShRjW ,n& Vchc
ShjWW
p/intVc l chu c,i n2chW\
QA &$ g=
int ,SCf2 bSm2 cSf\
, b C
, c f
, c C
QA &$ k=
int ,SCf2 bSm\
int iST2 Sf\
V,bbW VicW f
V,cbW VibW C
QA &$ m=
nSm\
]hil: VnW
p/intVn[. n S &2nW\
n((\

I.[.a. Ton tM 6hH":


C> 6h6:
T S V:xpC2 :xpT2 :xpg W\ ^^ T S kt qu cK,
:xpg
QA &$= mS VtST2 tatUgW mSz\ tST
cS V,SCf2bSm2,UbW\ ,SCf2 bSm2 cSCm
I.[.b. Ton tM iNu (in:
C> 6h6 =
T S ciLu ki+nb cbtCb =
cbtTb\
6u ciLu ki+nb l ;ng th0 T S cbtCb 2 ngc l'i T S
cbtTb
gC
K thut lp trnh
QA &$= R S ibS ORX C= f\
p/int V m,x V,2bW S & 2 V,bbW ,=bW\
lo]:/ S Vc b S hRj cc S hjW c ( hRj U h,j =c\
I.[.c. Ton tM tr*n 1it O1it Pi-QR :
4n' K. hiu . n'h/0
6T bit l5y b7 C
R6F bit gi,o
` bit hi
X` bit hi lo'i t/x
&ch t/i cc nh<n T
&ch phi bb chi, T
gT
K thut lp trnh
Hng ch<n t/=
?it ?it ?it ,\t ]u$
S D T S S U D S V D S W D
f f C f f f
f C C f C C
C f f f C C
C C f C C f
QA &$=
,S
kmsk
fffC fffC CCfC fCff
bS
Cgssz
ffCC fCfC fCCf ffCC
, b fffC fffC fCff ffff
, b ffCC fCfC CCCC fCCC
, b ffCf fCff CfCC fCCC
u ngh,=
C! ihp R6F bit thBng c &7ng kim t/, mt bit c$ th
no t/ong thnh ph9n &8 li+u x c t/ f h,y C! Qi+c ny
th*c hi+n bng cch -t &$ng mt m>t n' Vm,-kW 4i bit c9n
qu,n t<m bng C c%n cc bit khc bng f! T, l5y m,-k R6F 4i
gi t/ x! 6u kt qu thu c bng m,-k th0 l bit c9n qu,n
t<m l C2 ngc l'i l f!
QA &$ C=
4oi& m,inVW
un-ign:& xC\ xT\
p/int Vn cho T -. h:xVT -.W W\
-c,n Vx x 2 xC2 xTW\
p/int V fTx fTx S fTxn2 xC2 xT2 xC xTW\

QA &$ T= T, mu.n bit bit thJ g cK, -. h:x, ch l C h,y f =


4oi& m,inVW
un-ign:& ch,/ ch2 kq\
p/int V n cho C -. h:x T -. =W\
-c,n V x2 chW\
gg
K thut lp trnh
kqS ch fxf{\
i VkqSS fxf{W p/int Vbit g S CW\
:l-: p/int Vbit g S fW\

T! ihp ` &7ng bt cc bit c9n thit lPn c3ng nhB 4o


mt m>t n'! Mhng h'n nh t, mu.n bt bit thJ z cK, bin ch
Vun-ign:& ch,/ chW lPn C=
ch S ch fx{f\
QA &$ g=
4oi& m,inVW
un-ign:& ch,/ xC2xT\
p/int Vn cho T -. h:x V h,y nhY h)nW =W\
-c,n Vx x2 xC2 xTW\
p/int V fTx fTx fTx n2 xC2 xT2 xC xTW\

g! ihp X` &7ng lt bit ngh, l hon chuyn fC


QA &$ k= G lt bit g t, c ch)ng t/0nh=
4oi& m,inVW
un-ign:& ch,/ ch\
p/int V nhp C -. h:x c S =W\
-c,n Vx2 chW\
p/int VfTx fxf{ S fTx n 2 ch2 ch fxf{W\

k! Ton tt cc 2 bb
cc &ch -,ng t/i Vnh<n TW
bb &ch -,ng phi Vchi, TW
QA &$ m= num S TfC Vfxffc~W
num = f f f f f f f f C C f f C f f C
num cc
T =
f f f f f f C C f f C f f C f f
Dt qu S fxfgTk {fk ngh, l TfCa k
gk
K thut lp trnh
QA &$ s=
4oi& m,inVW
un-ign:& ch,/ xC2 xT \
p/int V nhp C -. h:x c S 4 -. bit = W\
-c,n V x & 2 xC2 xTW\
p/int V fTx bb & S fTx n2 xC2 xT2 xCbb
xTW\

Ch = T/ong php &ch phi M lm th:o T cch khc nh,u


t7y thuc 4o kiu &8 li+u cK, ton h'ng bPn t/i!
( 6u ton h'ng bPn t/i kiu un-ign:& th0 php &ch -n
iLn f 4o cc bit bPn t/i!
( 6u ton h'ng bPn t/i kiu -ign:& th0 php &ch -n
iLn bit &5u 4o cc bit bPn t/i
QA &$ z= un-ign:& int num\
num S g~kzf\ ^^ ~RTZ h:x,
num S
num bb
T S
f
C f f C
~{sz S
fxTs{H
f f C f
C f C
f
f C C
f
f f C
f
C f f
f
C C C
f
C f C
C
QA &$ { = int num\ ^^ ~RTZ h:x,
num S (Tsfss
num S
num bb
T S
C
C f f C
(smCz S
fxZs{H
C C C f
C f C
f
f C C
f
f f C
f
C f f
f
C C C
f
C f C
C
QA &$ {= Mh)ng t/0nh 1i -. h:x /, -. nh ph<n =
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,inVW
int num\
un-ign:& int m,-k\
cl/-c/VW\
gm
K thut lp trnh
p/int VMhuong t/inh &oi -o h:x, -,ng nhi ph,nnW\
p/int V6h,p 4,o -o h:x, =W\
-c,nVx2numW\
m,-k S fx{fff\
p/intVn F,ng nhi ph,n cu, -o x l, 2numW\
o/ Vint SC\ cSCs\ UUW
p/intV&2m,-k numC=fW\
i VSSk SS{ SSCTW p/intV(W\
m,-k bbSC\

g:tchVW\

QA &$ ~= Mh)ng t/0nh my tAnh bit]i-:


G<y l ch)ng t/0nh gi lp mt my tAnh th*c hi+n cc
ton tt bit]i-:!
&:n: T`}Z C
m,inVW
ch,/ opCf\
int xC2 xT\
]hil: VT`}ZW
p/int Vn n Mho biu thJc V 4& h oo CCjW = W\
p/int VnW\
-]itch V opfW
c,-: hj=
pbin VxCW\ p/int V V,n&W n W\
pbin VxTW\
plin: VW\ pbin VxC xTW\
b/:,k\
c,-: hj=
pbin VxCW\ p/int V n W\
pbin VxTW\
plin: VW\ pbin VxC xTW\
b/:,k\
c,-: hj=
pbin VxCW\ p/int V nW\
pbin VxTW\
plin: VW\ pbin VxC xTW\
gs
K thut lp trnh
b/:,k\
c,-: jbh=
pbin VxCW\ p/int V bbW\ p/int V& n 2xTW\
plin: VW\ pbin VxC bb xTW\
b/:,k\
c,-: hch=
pbin VxCW\ p/int VccW\ p/int V& n2
xTW\
plin: VW\ pbin VxC cc xTW\
b/:,k\
c,-: hj=
pbin VxCW\ p/int V nW\
plin: VW\ pbin V xCW\
b/:,k\
&:,ult = p/int VTon tt kh"ng hp l+ ^n W\



pbin VnumW
int num\
un-ign:& int m,-k\
int 2 bit\
m,-k S fx{fff\
p/int Vfkx2 numW\
o/VSf\ cCs\ UUW
bit S V m,-k num W C=f\
p/int V&2 bitW\
i VS S zW p/int V( (W\
m,-k bb S C\

p/int V( (W\
m,-k bb C\

plin: VW
p/int V( ( ( ( ( ( ( ( nW\

; PM =huQ>n ,i>u %dt %u@=:
T/ong M c T t/Bng hp chuyn kiu= chuyn kiu t* ng
gz
K thut lp trnh
4 chuyn kiu bt buc!
Mhuyn kiu bt buc= c p &$ng khi chuyn kiu t*
ng kh"ng c!
C> 6h6= VTyp:W biu
thJc
QA &$= & S Vo,tW V ( gTW
int ,S Cff2 bSs\
&oubl: \
S,^b ^^ kt qu SCs
S V&oubl:W ,^ V&oubl:Wb ^^ kt qu S Cff!f ^ s!fS
Cs!sss!
; "W= )@ u ti+n =e0 == HhYH ton:
@ u ti+n PhYH ton ThW tM ,\t
hfH
C
VW
T UU ( ( Vtyp:W a
-i: o

g a ^

k U (

m cc bb

s c cS b
bS

z S S S

{

~

Cf

CC

CT

Cg

Ck S U S ( S
!!

QA &$ C= g^k a s gas ^k
g{
K thut lp trnh
f a s C{ ^k
f k
QA &$ T= Vo,tW T ^k Vo,tW VT^kW
T!f ^k Vo,tW f
f!m f!f
I.a. ChuCi
I.a.1. X=nh ngh@a :Mhuoi l mt mng m cc ph9n tt cK,
n c kiu ku t*!
Dh,i bo mt chuoi ku t* chJ, t.i , k~ ku t*
ch,/ chuoimf\
a L u = T5t c cc chuoi Lu c kt th;c bng ku t* 6}??
VfW! Fo 2 nu chuoi &i mf th0 t, ch# c th chJ, t.i , k~
ku t*!
I.a.. KhYi ,ng tr=:
ch,/ chuoi S hRj2 h6j2 hrj2 h fj\
ch,/ chuoi S R6r\
I.a.!. 9h6 Z [ut chuCi:
a. 9h6 chuCi:
'RtV K=hugiL
1. \ut chuCi:
HutV K=hugiL
Ch> ):
( Dhi nhp chuoi th0 kh"ng c &7ng hm -c,n 40 hm
-c,n kh"ng ch5p nhn khong t/ng!
QA &$= -c,nV-2 chuoiW\ ^^ t, nhp 4o 6guyIn Qqn i th0
^^ chuoi S 6guyIn 40 hm -c,n ct
khong t/ng
( Dhi &7ng hm g:t- t/ong ch)ng t/0nh th0 kh"ng nPn &7ng
hm -c,n E b5t k0 <u &7 /ng &7ng hm -c,n nhp -.
m t, nPn &7ng hm g:t- 4 hm ,toi2 ,to nhp -.!
Q0 =
-c,nV&2 nW\ ^^ t, nhp -. m
g:t- VchuoiW\ ^^ l;c ny chuoi S Vchuoi /ongW
I.a.Z. FGm chu"2n i -. -ang chuCi /G ngLc %i
g~
K thut lp trnh
-.int S ,toi Vchuoi-.W ^^ chuyn chuoi -. -,ng -.
nguyPn
-. S ,to Vchuoi-.W ^^ chuyn chuoi -. -,ng -. th*c
a r,i hm ny nm t/ong c -t&lib !h b
I.a.[. Cc hGm /N chuCi: Kh in=(uCR i VtIin'. hj L
( int VtI(RnKPL = t/ 4L chiLu &i chuoi [!
( int VtI=mHKP1k PL= -o -nh chuoi [C 4i [T! 6u chuoi
[C gi.ng [T kt qu bng f! 6u chuoi [Cc [T kt qu l <m2
nu chuoi [Cb [T kt qu b f!
( int VtIi=mHKP1k PL= -o -nh chuoi [C2 [T kh"ng ph<n
bi+t ch8 thBng h,y ch8 ho,
( int VtIn=mHKP1k Pk nL= ch# -o -nh n ku t* 9u cK, T
chuoi [C2 [T 4i nh,u!
( int VtIni=mHKP1k Pk nL= ch# -o -nh n ku t* 9u cK, T
chuoi [C2 [T 4i nh,u2 kh"ng ph<n bi+t ch8 thBng2 ch8 ho,
( VtI=HQKCRVtk VouI=RL= chp chuoi tx ngu@n -ou/c: -,ng
Ach &:-t
QA &$= ch,/ -t/ingCf\
ch,/ a-t/C S ,bc&:ghi\
-t/cpyV-t/ing2 -t/CW\
p/intV-n2 -t/ingW\ ^^ ,bc&:ghi
( VtIn=HQKCRVtk VouI=Rk nL= chp chuoi tx ngu@n -,ng
Ach 4i nhiLu nh5t l n ku t*!
QA &$=
ch,/ -t/ingCf\
ch,/ a-t/C S ,bc&:ghi\
-t/ncpyV-t/ing2 -t/C2 gW\ ^^ -t/ing S ,bcxC]:CT
-t/ingg S f\ ^^ G>t ku t* kt th;c chuoi 4o cu.i
chuoi!
p/intV-n2 -t/ingW\ ^^ ,bc
( VtI=0tKCRVtk VI=L= n.i chuoi -/c 4o -,u chuoi &:-t!
MhiLu &i cK, chuoi kt qu bng -t/l:nV&:-tW U -t/l:nV-/cW
QA &$=
ch,/ &:-tin,tionTm\
ch,/ abl,nk S 2 ac S MUU2 atu/bo S Tu/bo\
kf
K thut lp trnh
-t/cpyV&:-tin,tion2 tu/boW\ ^^ &:-tin,tion S Tu/bo
-t/c,tV&:-tin,tion2 bl,nkW\ ^^ &:-tin,tion S Tu/bo
-t/c,tV&:-tin,tion2 cW\ ^^ &:-tin,tion S Tu/bo MUU
( VtIn=0tKCRVtk VI=k nL= n.i nhiLu nh5t l n ku t* cK, -/c
4o cu.i chuoi &:-t2 -,u thPm ku t* null 4o cu.i chuoi kt
qu!
QA &$=
ch,/ &:-tin,tionTm\
ch,/ a-ou/c: S [t,t:-\
-t/cpyV&:-tin,tion2 }nit:&W\
-t/nc,tV&:-tin,tion2 -ou/c:2 sW\
p/intV-n2 &:-tin,tionW\ ^^ &:-tin,tion S }nit:&
[t,t:
( =h0I ; VtI=hIKVk =hL= t/ 4L , ch# cK, ku t* ch 9u
tiPn c t/ong chuoi [\ nu kh"ng c th0 t/ 4L 6}?? VthBng
&7ng l5y hNW
QA &$=
ch,/ -t/ingCm\
ch,/ apt/2 c S /\
-t/cpyV-t/ing2 Thi- i- , -t/ingW\
pt/ S -t/ch/V-t/ing2 cW\
i Vpt/W
p/intVDu t* c E 4 t/A= &n2 c2 pt/(-t/ingW\
:l-:
p/intVDh"ng t0m th5y ku t* cn2cW\
( ch,/ ; VtIVtIKP1k PL= t/ 4L 4 t/A cK, chuoi [T t/ong
chuoi [C\ nu [T kh"ng c t/ong [C th0 hm -t/-t/ t/ 4L t/
6}??!
I.a.a. +?ng cc chuCi
]Khai 1o: Dh,i bo bin CV chJ, t.i , mf chuoi ku t*2
moi chuoi ku t* c t.i , gf ku t*!
ch,/ &-mf gf\
Ch =
( Dh"ng nPn gn chuoi 4i chuoi V-CS -TW m phi &7ng
hm -t/cpyV[C2[TW
kC
K thut lp trnh
( Dh"ng c -o -nh T chuoi bng cc ton tt qu,n h+
V[CSS [T2 [Cb[T2 [CbS [TW2 m phi &7ng hm
-t/cmpV[C2[TW!
QA &$= Qit ch)ng t/0nh t0m kim C tx t/ong C c<u
inclu&: c -t/ing!hb
inclu&: c -t&io!hb
4oi& m,in VW
ch,/ c,u{f2 txz2 apt/\
p/intV6hp c<u =W\
g:t-Vc<uW\
p/intV6hp tx =W\
g:t-VtxW\
pt/ S -t/-t/Vc<u2 txW\
i Vpt/ SS 6}??W p/intVDh"ng c txW\
:l-: p/intVc txW\

II. C= =Fu tIl= )iu ,hi>n tIon' C:


6g"n ng8 M l ng"n ng8 lp t/0nh c5p c,o c c5u t/;c2
g@m= c5u t/;c tu9n t*2 chNn2 4 l>p!
II.1 Cu tr>c tu^n tA KPR]uRn=RL :
Mc l+nh t/ong ch)ng t/0nh c th*c hi+n tu9n t* tx l+nh
ny n l+nh khc cho n khi ht ch)ng t/0nh!
QA &u = Qit ch)ng t/0nh tAnh 4 in /, &i+n tAch cK, h,i (
Bng t/%n bn kAnh l9n lt l gm 4 k!mm c7ng 4i hi+u
-. cK, T &i+n tAch!
&:n: iy g!CkCm~
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,inVW

o,t /C2 /T2 hi:u-o\


cl/-c/VW\
p/intVnMr}6e T`y6r Ty6r FyZ6 TyMr T ry6r T`6 QR ryZ}
kT
K thut lp trnh
[nW\
p/intVH,n kinh hinh t/on thu nh,t = W\
-c,nV2/CW\
p/intVH,n kinh hinh t/on thu h,i = W\
-c,nV2/TW\
p/int VFi:n tich hinh t/on C S !Tn2iya/Ca/CW\
p/int VFi:n tich hinh t/on T S !Tn2iya/Ta/TW\
hi:u-o S iya/Ca/C ( iya/Ta/T\
p/int Vri:u -o &i:n tich T hinh t/on S !Tn2hi:u-oW\
g:tchVW\

II.. Cu tr>c chJn


Du hi+u = k l biu thJc ?ogic
[
C
2 [
T
l cc pht biu h,y C nhm cc pht biu
Vl+nhW
II..1. &nh i_ Q%-Q:
C> 6h6:
i VkW [
C
\
dD
6
Z[
[C
kg
K thut lp trnh
i VkW [
C
\
:l-: [
T
\
dD [C
[T
6
Z[
Ch = Mc l+nh i :l-: l@ng nh,u
i VkCW [
C
\
:l-: i VkTW [
T
\
:l-: i VkgW [
g
\
:l-: [
k
\
QA &$ C= T0m m,xV,2b2cW
i V,bbW
i V,bcW m,xS,\
:l-: m,xSc\
:l-: i VbbcW m,x Sb\
:l-: m,xS c\
QA &$ T= TAnh hm VxW =
VxW S x
T
2 nu (T c S xc T
k 2 x b S T
i VxbS(T xcTW
xS xax\
:l-: i VxbSTW
xS k\
:l-: p/intVn Dhong x,c &inhW \ :xitVfW \
II... &nh chJn %Aa: -Pitch`ca-Q
C> 6h6:
-]itch Vbiu thJcW
c,-: hng C= [
C
\
c,-: hng T= [
T
\ b/:,k\
kk
K thut lp trnh
!
!
!
c,-: hng g= [n\ b/:,k\
&:,ult= [
f
\

Cch hot ,ng=


( VbiuthJcW c kt qu nguyPn
( rng= ku t*2 -. nguyPn2 biu thJc c -. nguyPn
( 6u kt qu bng hng y no th0 n -n lm l+nh [
i
4
tu9n t* th*c hi+n ht cc l+nh E &i cho n khi ht l+nh
-]itch!
( Ou.n ngt -* tu9n t* t/Pn th0 phi &7ng l+nh b/:,k!
QA &$= 6hp C ku t* -. &'ng h:x 1i /, -. thp ph<n
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,inVW

un-ign:&ch,/ ch\
int k\
cl/-c/VW\
p/intV6h,p C ky tu -o h:x = W\
chSg:tch:VW\
-]itch VchW

c,-: f=
c,-: C=
c,-: T=
c,-: g=
c,-: k=
c,-: m=
c,-: s=
c,-: z=
c,-: {=
c,-: ~= kSch(f\ b/:,k\
km
K thut lp trnh
c,-: R=
c,-: H=
c,-: M=
c,-: F=
c,-: Z=
c,-: =kSch(RUCf\ b/:,k\
c,-: ,=
c,-: b=
c,-: c=
c,-: &=
c,-: :=
c,-: = kS ch(,UCf\ b/:,k\
&:,ult= kSf\

p/int Vn[o th,p ph,n cu, ky tu h:x, c l, & 2ch2kW\


g:tchVW\

QA &$= Qit ch)ng t/0nh t'o C my tAnh c k php


ton U 2 ( 2 a 2 ^
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,inVW

o,t numC2 numT\


ch,/ op\
cl/-c/VW\
p/int Veo 4,o -o2 to,n tu2 -o nW\
-c,nV c 2 numC2 op2 numTW\
-]itch VopW

c,-: U= p/intVS 2numCUnumTW\
b/:,k\
c,-: (= p/intVS 2numC(numTW\
b/:,k\
c,-: a= p/intVS 2numCanumTW\
b/:,k\
c,-: ^= p/intVS 2numC^numTW\
ks
K thut lp trnh
b/:,k\
&:,ult = p/intVTon tt l'2 kh"ng bitW\

II.!. Cu tr>c %6
II.!.1. &nh Phi%Q=
C> 6h6:
hil: VbtW
[\
dD
6
Z[
[
Ch = T/ong ph9n th<n l+nh phi c bin iLu khin
4%ng l>p!
QA &$ C= Qit ch)ng t/0nh in /, bng m| R[Myy
4oi& m,in VW
int nSf\
]hil: Vn cS TmmW
p/intVc c m| R[Myy l &2 n2 nW\
n UU

QA &$ T= 6hp mt chuoi ku t*2 4 kt th;c nhp bng Z[M


&:n: Z[M h fxCbj
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& m,inVW
ch,/ c\
]hil: VCW
kz
K thut lp trnh
i VVc S g:tch:VW W S Z[M W b/:,k\

QA &$ g= Qit ch)ng t/0nh in bng ctu ch)ng
4oi& m,in VW
int ,2 b\
b S C\
]hil: Vb c S ~W
, S T\
]hil: V, c S ~W
p/intV& a & S & t2 ,2 b2 ,abW\
,UU\

b UU\
p/intVnW\


II.!.. &nh !o Phi%Q:
C> 6h6=
&o
[
]hil: VbtW\
[
Kk
6o
:-
QA &$ C= Qit ch)ng t/0nh in bng m| R[Myy
inclu&: c-t&io!hb
m,in VW
int nSf\
&o
p/intVc c m| R[Myy &n2 n2 nW\
n UU\
]hil: Vn cS TmmW\

II.!.!. &nh _or:


C> 6h6:
o/ VbtkhEi ng\ btk\ btl>pW \
k{
K thut lp trnh
QA &$ C= ?>p l+nh [ tx C n Cf
o/ Vint ySC\ ySS Cf\ yUUW -,i
[\
o/ Vint ySC\ ycS Cf\ yUUW ;ng
[\!
QA &$ T= o/ V\ \W
c S g:tchVW
i Vc SS Z[MW b/:,k\

[o -nh 4%ng l>p ]hil: ( o/=


btkhEi ng\
]hil: VHiuThJcDW
[\
HTl>p\

o/ V btkhEi ng\ btk\


btl>pW
[\
QA &$ g= Qit ch)ng t/0nh in /, bng ctu ch)ng bng 4%ng
o/
4oi& m,in VW
int ,\
o/ V,ST\ ,cS ~\ ,UUW
o/ Vb SC\ b cS ~\ bUUW
p/intV&a & S & t2 ,2 b2 ,abW\
p/intVnW\

QA &$ k= Qit ch)ng t/0nh tAnh n gi,i thx,


4oi& m,in VW
long gt S C\
o/ Vint i SC\ icS n\ iUUW
gt S gt a i\
p/intV& S u n2 n2 gtW\

QA &$ m= Qit ch)ng t/0nh tAnh biu thJc=


VC U C^C
T
W a VC U C^T
T
W a!!!!!!!!! VC U C^ n
T
W
k~
K thut lp trnh
4oi& m,in VW
int i2 n\
o,t [\
p/intV6hp -. =W\
-c,nV&2 nW\
[ S C\
o/ ViS C\icS n\ iUUW
[ S [aVCUC!f ^ ViaiWW\
p/intVnD:t qu, S 2 [W

; Pht %i>u %IR0,k =ontinuRk 'oto:


1. DrQa(:
?+nh b/:,k cho php thot /, -m khYi 4%ng l>p
V ]hil:&o 2 o/2 &o]hil:W2 l+nh -]itch!
2. &nh continuQ:
?+nh continu: ch# &7ng t/ong 4%ng l>p lm cho ch)ng
t/0nh nhy tt 4L iLu ki+n kim t/, cK, 4%ng l>p bt
9u mt 4%ng l>p mi!
QA &$= Qit ch)ng t/0nh nhp mt c<u ch8 thBng kt
th;c bng &5u ch5m2 xu5t /, bng ch8 ho,
4oi& m,in VW
ch,/ ch\
]hil: VCW
ch S g:tch VW\
i VVchb S h,jW Vchc S hjWW
p/intVc2 ch ( h,j U hRjW\
i Vch SS h h W continu:\
i Vch SS h!jW b/:,k\

a. &nh goto: &7ng chuyn iLu khin ch)ng t/0nh


4L mt 4 t/A no !
Cl HhH= eoto nh|n\
?+nh goto -n chuyn iLu khin ch)ng t/0nh ng,y lp tJc
4L 4 t/A >t nh|n!
mf
K thut lp trnh
QA &$=
Rg,in:
m
!
!
goto Rg,in\
?6i tH:
C! Qit ch)ng t/0nh tAnh &i+n tAch
( r0nh 4u"ng
( r0nh th,ng
( T,m gic thBng
( T,m gic 4u"ng
( r0nh t/%n
T! TAnh khong cch mt im VX
f
2
f
W ti mt Bng thng Rx
U Hy U M S f
H R
M Hy
Rx
[
T T
f
f
+
+ +
=
2 nhp R2 H2 M2 X
f
2
f
g! Mho g -. th*c x2 y2 ! T0m
,! O,xVxUyU2 xayaW
b! Oin
T
VVxUyUW ^ T2 xayaW UC
k! Qit ch)ng t/0nh t0m -. ln nh5t t/ong g -. nguyPn ,2b2 c
m! eii ph)ng t/0nh bc T Rx
T
UHxUM S f t/Pn t/Bng -. th*c!
s! Qit ch)ng t/0nh tAnh &i+n tAch h0nh t/%n2 bit bn kAnh /
&)ng\ Mh)ng t/0nh c kim t/, -. li+u nhp 4o2 nu / cSf
th0 ch)ng t/0nh bo loi 4 bt nhp l'i!
z! Qit ch)ng t/0nh nhp -. thp l$c ph<n in /, -. nh ph<n2
cJ k -. th0 cch mt khong t/ng!
{! Qit ch)ng t/0nh t'o C my tAnh g@m cc php ton -,u = U 2
( 2 a 2 ^ 2 V,
x
4i x nguyPn &)ngW2 V:
x
W
~! Qit ch)ng t/0nh kim t/, C bit b5t k0 cK, -. bng f h,y C
Cf! Qit ch)ng t/0nh tAnh kt qu cK, mt -. -,u khi &ch
mC
K thut lp trnh
phi ho>c &ch t/i n l9n!
CC! Gm -. l9n xu5t hi+n cK, tx mt t/ong C c<u
CT! Th,y th C tx t/ong C c<u bng C tx khc!
Cg! 6hp hN tPn2 tch hot:n /, lm T ph9n hN 4 tPn /iPng!
Ck! Qit ch)ng t/0nh 1i cc ku t* 9u cK, cc tx /, ch8 in2
cc ku t* c%n l'i /, ch8 thBng!
Cm! Qit ch)ng t/0nh cho php t, kim t/, mt p,--]o/& l
;ng h,y -,i Vnhp t.i , p,--]o/& g l9nW!
Cs! Mho chuoi -2 4it ch)ng t/0nh &i chuyn ch8 tx bPn t/i
qu, bPn phi cK, mn h0nh t'i &%ng m! _u t/0nh &i chuyn
&xng l'i khi t, 5n phAm Z[M!
Cz! H'n h|y 4it ch)ng t/0nh tAnh gi t/ t1ng cng cK, mt
-n phm c k c thu2 bit /ng tw -u5t thu l Cg!s
tAnh t/Pn gi g.c! ei g.c cK, -n phm 4, -o luong cu, -,n
ph,m c Nc 4o2 4 c9n in /,=
( TiLn thu
( ei | c thu
C{! T/ong mt k thi cu.i kh,2 cc hNc 4iPn phi thi k m"n =
m"n y h+ -. T2 m"n yy h+ -. k2 m"n yyy h+ -. C2 m"n yQ h+ -.
T2 im cc m"n cho t.i , l Cf im! Qit ch)ng t/0nh
nhp im cK, k m"n 4 tAnh im t/ung b0nh!
C~! Ot ngBi bn /u bn 6 ch,i /u c )n gi l i! 6u t1ng
-. tiLn 4t qu mffffff th0 4i+c chuyPn chE l min phA2
nu kh"ng phA chuyPn chE thBng c tAnh bng C t1ng t/
gi hng! Qit ch)ng t/0nh nhp 4o 62 i! yn /, cc chi tit
T1ng t/ gi hng2 tiLn chuyPn chE2 4 t1ng -. tiLn phi t/!
Tf! Ot -inh 4iPn &* tuyn c cc chi tit -,u = hN tPn2 im
?C cK, l9n C2 im ?T cK, l9n T2 im thi cu.i k MD! Qit
ch)ng t/0nh xc nh x:m mt -inh 4iPn c c tuyn h,y
b lo'i2 bit /ng -n c tuyn nu im c tAnh th:o c"ng
thJc -,u ln h)n h,y bng z = O,xV V?CU?TUMDW^g2 MDW!
TC! Qit ch)ng t/0nh cho bit tiLn l)ng hng ngy cK, mt
ngBi gi8 t/! Mch tAnh l Cmfff^giB cho moi giB t/c Ck giB
4 Tmfff ^giB cho moi giB -,u Ck giB! eiB bt 9u 4 giB
kt th;c c"ng 4i+c c nhp tx bn phAm!
mT
K thut lp trnh
TT! Mho g -. th*c x2 y
,! T@n t'i h,y kh"ng mt t,m gic c g c'nh c &i x2 y2

b! 6u l t,m gic th0 n 4u"ng2 c<n2 Lu h,y thBng
Tg! eii h+ ph)ng t/0nh bc nh5t=

,xUby S
c
,jxUbjy S
cj
r ng &n=
F S , b
,j bj
S ,bj (
,jb
FxS c b
cj bj
S cbj (
cjb
FyS , c
,j cj
S ,cj (
,jc
i FS f xS Fx^F\ yS Fy^ F
:l-: i VV Fx S fW V Fy S fWW pt 4" nghi+m
:l-: pt 4" nh
Tk! eii h+ ph)ng t/0nh g n -. bc nh5t

,
C
x U b
C
y U c
C
S
&
C
,
T
x U b
T
y U c
T
S
&
T
,
g
x U b
g
y U c
g
S
&
g
Tm! Qit ch)ng t/0nh gii ph)ng t/0nh t/7ng ph)ng ,x
k
U bx
T
U c S f
Ts! 6gBi t, mu.n lp h, )n cho khch hng cK, M"ng ty
i+n l*c! Mh# -. 9u 4 ch# -. cu.i k -n c cho bit! Hit
/ng biu gi c tAnh t7y th:o i+n nqng tiPu th$!
( 6u i+n nqng tiPu th$ nhY h)n CffD]h2 gi moi D]h l
mff!
( 6u i+n nqng tiPu th$ tx CffD]h t/E lPn2 th0 moi D]h
mg
K thut lp trnh
&"i /, -n c tAnh gi l {ff
( ihA khu 4*c l mfff cho moi khch hng! Qit ch)ng
t/0nh tAnh tiLn phi t/ t1ng cng g@m tiLn i+n2 4 phA
khu 4*c
Tz! Hit T -. X2 biu &in thBi gi,n tAnh th:o gi<y! 6gBi t,
mu.n 4it ch)ng t/0nh =
( GNc T -. ny 4 in /, t1ng cK, ch;ng
( Mhuyn cc -. ny 4 t1ng /, &'ng giB2 ph;t2 gi<y cK,
ch;ng /@i in /,! Dim x:m kt qu cK, T cch tAnh c nh
nh,u kh"ng
T{! Qit ch)ng t/0nh in bng ctu ch)ng tx T ~ th:o hng
ng,ng
T~! yn t,m gic a2 h0nh ch8 nht a2 /ong ( >c
gf! Qn lu @ 4 4it ch)ng t/0nh tAnh =
,!
CUTU!!!Un
b!
CUgUmU!!!UTn(C
c!
TUkUsU!!!UTn
&!
C
T
U T
T
U g
T
U!!!Un
T
:!
C^CU C^TU C^gU!!!U C^n
!
TUkU{U!!!UT
n
g!
CU C^T
T
U C^g
T
U!!!!U C^n
T

gC! Mho :p-ilon S f!fffffC2 xc nh cc t1ng -,u <y
-,o cho -. h'ng cu.i c7ng cK, t1ng l kh"ng ng k V-.
h'ng cu.i c7ng c :p-ilon W
,! C^CU C^TU C^gUC^kU!!!!!
b! CU C^T
T
U C^g
T
U!!!!U!!!
gT! Qit ch)ng t/0nh in /, bng m| R[Myy2 Cs ku t* t/Pn C
&%ng!
gg! Qn lu @ 4 4it ch)ng t/0nh =
,!Xt mt -. c phi l -. nguyPn t. h,y kh"ng
b!yn t/Pn mn h0nh Cff -. nguyPn t. 9u tiPn
gk! Qit ch)ng t/0nh cho php mt ku t* ngu nhiPn /)i t/Pn
mn h0nh! 6u ngBi -t &$ng kh"ng kp 5n phAm t)ng Jng
mk
K thut lp trnh
4 ch'm y mn h0nh th0 thu, cuc!
gm! Mho hm ibon,cci=

n
S
{
C \ nSf2C

n(C
U
n(T
\ nbST
,! T0m
n
2 4i n &o t, nhp
b! yn /, 6 ph9n tt 9u tiPn cK, &|y ibon,cci
gs! Qit ch)ng t/0nh Nc 4o -. nguyPn 6 4 in /, CaTaga!!a6
cho n khi 6 cSf!
gz! Mho C &|y g@m mt t/i+u tx gT bit2 h|y m -. bit C t/ong
moi tx!
g{! Qit ch)ng t/0nh on -. = ngBi ch)i -n on C -. t/ong
ph'm 4i tx f n Cff2 t.i , m l9n! Mh)ng t/0nh kim t/,
kt qu 4 xu5t th"ng bo hng &n=
( [. b'n on ln h)n
( [. b'n on nhY h)n
( H'n on ;ng
( Oy thng cuc
mm
K thut lp trnh
III. H6m n ]uQ:
III.1. FGm:
III.1.1. +0c ch: rm l mt ch)ng t/0nh con cK, ch(
)ng t/0nh chAnh2 4i cc m$c Ach -,u=
a T/nh 4i+c l>p i l>p l'i cc o'n ch)ng t/0nh gi.ng
nh,u2 nhB 2 t, -n tit ki+m l;c lp t/0nh!
a T1 chJc ch)ng t/0nh= F7ng hm t, -n ph<n mnh ch(
)ng t/0nh thnh nh8ng kh.i nhY c lp2 moi kh.i l mt hm
th*c hi+n mt c"ng 4i+c no ! Txng hm -n c lp t/0nh2
kim t/, hon ch#nh\ [,u 2 t, kt l'i t'o ch)ng t/0nh
hon ch#nh! 6hB 4y2 ch)ng t/0nh 4L -,u & hiu 4 & -8,!
a TAnh c lp= cho php hm c lp 4i ch)ng t/0nh
chAnh! QA &$ hm c nh8ng bin c$c b m ch)ng t/0nh
chAnh 4 cc hm khc kh"ng th $ng ti! Fo 2 nu t, c
kh,i bo cc bin t/7ng tPn 4i cc hm khc th0 c3ng kh"ng -
nh hEng ti cc bin t/7ng tPn !
Ch> )=
( M kh"ng cho php cc hm l@ng nh,u ngh, l cc hm
Lu ng,ng c5p nh,u Vc th gNi ln nh,uW!
( M kh"ng ph<n bi+t thK t$c h,y hm2 m ch# qu,n t<m
n kt qu t/ 4L cK, hm! 6u hm kh"ng t/ 4L kt qu
g0 c th0 c th x:m l thK t$c!
QA &$= Qn h0nh ch8 nht >c bng &5u haj=
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& 4:hcnVint &2int /W ^^ kh,i bo 4oi& cho bit hm
kh"ng t/ 4L t/ no c
int i2 \ ^^ i2 l T bin c$c b t/ong hm 4:hcn
o/ ViSC\icS/\iUUW

o/ VSC\cS&\ UUW
p/intVaW\
p/intVnW\

4oi& m,inVW
ms
K thut lp trnh
int &STf2 /Sm\
cl/-c/VW\
4:hcnV&2/W\ ^^ lBi gNi hm
g:tchVW\

III.1.. C> 6h6 =nh ngh@a hGm


C> 6h6=
Diu tPnhm V&- .i -.W
Dh,i bo bin c$c b\
l+nh\
/:tu/n V:xp/W\

( Ki>u= ? kt qu t/ 4L cK, hm! 6u kh"ng ghi kiu2 M


-n t* hiu l kiu int! 6u kh"ng mu.n c kt qu t/ 4L th0
ghi kiu AoiC!
( 40nh V=h )-i V-= ?i+t kP cc .i -. 4 kiu cK, .i -.
gEi n hm2 cch nh,u bEi &5u 2! 6u kh"ng c .i -. t,
ch# c9n ghiVW
( Lnh IRtuIn: c cc &'ng -,u=
/:tu/n\
/:tu/n V:xp/W\
/:tu/n :xp/\
QA &$= rm chuyn ch8 thBng -,ng ch8 ho,
inclu&: c-t&io!hb
inclu&: cconio!hb
e:tupp:/Vch,/ chW
/:tu/n Vch bS, ch cSW ch(,UR=ch\

4oi& m,inVW
ch,/ ch\
p/intVn6h,p 4,o ky tu b,t ky W\
chSg:tch:VW\
p/intVnDy tu c qu, h,m e:tupp:/ t/o th,nh
c2ch2e:tupp:/VchWW\
g:tchVW\
mz
K thut lp trnh

L u :
( r'n ch cK, l+nh /:tu/n l ch# t/ 4L mt kt qu!
( ?+nh /:tu/n kh"ng nh5t thit phi E cu.i hm! 6 c th
xu5t hi+n E b5t k n)i no t/ong hm! Dhi g>p l+nh
/:tu/n2 quyLn iLu khin -n chuyn ng,y 4L ch)ng t/0nh
gNi!
III.1.!. Cc %oi tru"Nn .i -.
,! -ru./n the) tr0
inclu&: c-t&io!hb
inclu&: cconio!hb
int m,x Vint ,2int bW
int mS ,bb,=b\
,S,aCff\
bSbaCff\
/:tu/n m\

4oi& m,inVW
int ,2b2c\
cl/-c/VW\
p/intVnMhuong t/inh tim O,xV,2bWnW\
p/intV6h,p , b = W\
-c,nV& &2,2bW\
cSm,xV,2bW\
p/intVnei, t/i lon nh,t S&2cW\
p/intVnei, t/i , S&2,W\
p/intVnei, t/i b S&2bW\
g:tchVW\

ei -t t, ch'y ch)ng t/0nh t/Pn=


6h,p , b = CT Tk
ei, t/i lon nh,t STk
ei, t/i , SCT
ei, t/i bSTk
6hn xt=
m{
K thut lp trnh
( T, nhn th5y /ng gi t/ h,i bin ,2 b t/c 4 -,u khi 4o
hm m,x l kh"ng th,y 1i Vm>c &7 t/ong hm m,x2 c h,i
bin , 4 b Lu th,y 1iW\ l c) ch cK, -* t/uyLn .i
-. th:o t/!
Loi 'pi h6m= t*nhGm O!- .i-.thAcRb
( 6u t/uyLn .i -. th:o t/ th0 .i -. th*c c th l
bin2 ho>c c th l biu thJc!
QA &$= c S m,xVCfff2bW\
b! -ru./n the) 10a ch2: .i -. th*c l , ch# cK,
bin
inclu&: c-t&io!hb
inclu&: cconio!hb
m,x Vint 202int bW
int mS 0j%q 0 : %m
0r0 ;1ssm
bSbaCff\
/:tu/n m\

4oi& m,inVW
int ,2b2c\
cl/-c/VW\
p/intVnMhuong t/inh tim O,xV,2bWnW\
p/intV6h,p , b = W\
-c,nV& &2,2bW\
=rm0EK0k%Lm ^^ , l th,m -. th*c
bin
p/intVnei, t/i lon nh,t S&2cW\
p/intVnei, t/i , S&2,W\
p/intVnei, t/i b S&2bW\
g:tchVW\

ei -t t, ch'y ch)ng t/0nh t/Pn=


6h,p , b = CT Tk
ei, t/i lon nh,t STk
ei, t/i , SCTff
m~
K thut lp trnh
ei, t/i bSTk
6hn xt=
( T, nhn th5y /ng gi t/ bin , t/c 4 -,u khi 4o hm
m,x | th,y 1i\ l c) ch cK, -* t/uyLn .i -. th:o
, ch#!
Loi 'pi h6m= t*nhGm Ot*n1iEnRb
( 6u t/uyLn .i -. th:o , ch# th0 th,m -. th*c bt
buc phi l mt tPn bin!
QA &$= c S m,xVCfff2bW\ l -,i
QA &$= Qit hm gi,ohon hon 1i gi t/ cK, T bin
nguyPn ,2b!
4oi& gi,oho,n Vint ,2 int bW
int t,m\
t,m S ,\
, S b\
b S t,m\

4oi& m,inVW
int ,2b\
p/int V,2 b S W\
-c,n V& &2 ,2 bW\
gi,oho,nV,2 bW\

a T/uyLn .i -. l mng gNihm Vm,ngW
hm Vkiu m,ngW ho>c hmVkiu
am,ngW
QA &$= Mng thPm mt hng -. 4o mng tPn l &,y-o!
&:n: [yZ m ^^ &|y -. c m -.
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& ,&&con-tVint a,2 int n2 int conW ^^ int a, int ,
o/ Vint iSf\ icn\ iUUW
a, S aV,UUW U con\

sf
K thut lp trnh
4oi& m,inVW
int &,y-o [yZ S g2m2z2~2CC\
int kon-t S Cf\
,&&con-tV&,y-o2 [yZ2 kon-tW\
p/intVnF,y -o -,u khi cong th:m h,ng -o =W\
o/ Vint iSf\ ic[yZ\ iUUW
p/intV& 2 aV&,y-oUiWW\ ^^ aV&,y-oUiW &,y-oi
g:tchVW\

III.1.Z. Khai 1o ngu"*n mcu ca hGm


( Dh,i bo hm th:o nguyPn mu %i hYi phi kh,i bo kiu
&8 li+u cK, .i -. nm t/ong nh ngh, hm chJ kh"ng
>t ch;ng t/Pn cc &%ng /iPng!
( M kh"ng nh5t thit phi kh,i bo hm th:o nguyPn mu!
Tuy nhiPn2 nPn c 40 n cho php ch)ng t/0nh &ch pht hi+n
c loi &o kh"ng ;ng kiu &8 li+u gi8, t/ t/uyLn n hm
4 t/ m hm mong mu.n!
QA &$=
o,t &inhthuc Vo,t ,2 o,t b2 o,t c2 o,t &W
/:tu/n V,a&( bacW\

4oi& m,inVW
o,t , 2b2 ,C2 bC\
p/intV6h,p ,2b2,C2bC=W\
-c,nV 2,2b2,C2bCW\
p/intVFinh thuc S 2&inhthucV,2b2,C2bCW\
g:tchVW\

III.1.[. #hm /i t'n ti ca 1iEn:


,! 34n t)n c5c= l bin c kh,i bo ngoi cc hm V k
c hm m,inW! 6 c php t/uy nhp n tx t5t c cc hm
t/ong -u.t thBi gi,n ch)ng t/0nh ho't ng!
QA &$= Dh,i bo ngoi hm m,in
Diu tPn bin\ ^^ bin ton c$c
4oi& m,inVW
sC
K thut lp trnh

b! 34n c5c b,: l bin c kh,i bo t/ong cc hm2 k c


t/ong hm m,in! 6 kh"ng cho php cc hm khc t/uy
nhp n n! 6 t@n t'i t/ong thBi gi,n -.ng cK, hm
chJ, n!
4oi& m,inVW
kiu tPn bin\ bin c$c b t/ong hm m,inVW

c! 34n ng) = l bin m cc hm c th t/uy xu5t ti m


kh"ng phi ph<n ph.i b nh! 6 c &7ng E cc hm t/Pn
cc tp tin khc nh,u liPn kt l'i!
Zxt:/n,l Diu tPn bin\
4oi& m,inVW

&! 34n t6nh = l mt bin c$c b cK, mt hm nhng 4n


gi8 gi t/ cK, l9n gNi hm cu.i c7ng
4oi& m,inVW
-t,tic Diu tPnbin\

:! 34n thanh gh = l mt bin -t &$ng cc th,nh ghi cK,


Mi} tqng t.c t/uy xu5t
/:gi-t:/ Diu tPnbin \
III.1.a. Cc !cn hng tiNn [M %)
III.1.a.1. hCRtnR
,! 10nh ngh6a h!ng=
&:n: tPn hng gi t/
QA &$= &:n: iy g!Ck
&:n: ORX Cff
&:n: Tr6eHR rt ei
&:n: kho,ngt/,ng h h
b! 10nh ngh6a 7acr):
&:n: tPnm,c/o V.i -. W th,o tc
sT
K thut lp trnh
QA &$= &:n: -q/ VxW xax
&:n: -um Vx2yW xUy
, S b a -um Vx2yW\ ^^ , S b a xUy\
&:n: -um Vx2yW VxUyW
, S b a -um Vx2yW\ ^^ , S b a VxUyW\
aMh; u= T/ong cc th,o tc O,c/o nPn -t &$ng cc &5u
ngo>c t/nh &n /, mt kt qu -,i
QA &$= &:n: m,x V,2bW VV,W b VbW V,W = VbWW
&:n: hon4 V,2bW int t'm S,\ ,S b\ bS
t'm\
&:n: ://o/ VnW p/int V ://o/ &2 nW
Fi <y mt -. O,c/o ph<n tAch ku t*2 t5t c Lu t/ong
cctyp:! hb! Mc m,c/o ny t/ 4L t/ khc f nu thnh c"ng!
G.i 4i moi m,c/o2 thnh c"ng c nh ngh, nh -,u=
"0=Io K. tM
i-,lph, VcW
c l ku t* , 2 R
i-upp:/ VcW
c l ku t* R
i-lo]:/ VcW
c l ku t* ,
i-&igit VcW
c l ku -. f ~
i-x&igit VcW
f ~2 R 2 ,
i-cnt/lVcW c l ku t* x, ho>c ku t* iLu
khin Vfxz ho>c fxff n
fxCW
i-p,c: VcW c l ku t* -p,c:2 t,b2 c,//i,g:
/:tu/n2 n:] lin: Vfxf~ n fxfF2
fxTfW
Dh,i bo= ch,/ c\
a Phun %it "0=Io A:i h6m=
( F7ng O,c/o= t/uy xu5t nh,nh2 t.n b nh!
( F7ng hm= ngc l'i
III.1.a.. hin=(uCR
? tiLn xt lu &7ng kt n.i tp t/ung kh,i bo t/ong
inclu&: 4i tp tin ,ng lm 4i+c!
inclu&: c tPn tp tin!hb
sg
K thut lp trnh
inclu&: tPn tp tin!h
F'ng c b = i t0m tp tin!h t/ong th m$c | c ch#
nh t/ong ynclu&: Fi/:cto/i:-!
F'ng = t0m tp tin!h t/ong th m$c [ou/c: Fi/:cto/i:-2
nu kh"ng c2 n i t0m t/ong th m$c | c ch# nh t/ong
ynclu&: Fi/:cto/i:-!
III.. X qui OdQcur-ionR :
III..1. Khi nim: G+ qui l C c"ng c$ /5t thBng &7ng
t/ong kho, hNc my tAnh 4 t/ong ton hNc gii quyt cc
45n L! T/c ht2 ch;ng t, h|y kho -t th no l mt 45n L
c + qui qu, 4A &$ -,u=
TAnh [VnW S C UT Ug UkU !!!Un
T, nhn th5y /ng2 c"ng thJc t/Pn c th &iIn 't l'i nh
-,u=
[VnW S [Vn(CW U n2 4
[Vn(CW S [Vn(TW U Vn(CW
!!!!!
[VTW S [VCW U T
[VCW S C
6h 4y2 m,t 89n 1/ c: 1; <u l 89n 1/ 1=c 10nh
ngh6a l+ b!ng ch>nh n:.
G tAnh [VnW= t, c kt qu cK, [VCW2 th,y n 4o [VTW2 c
[VTW t, th,y n 4o [VgW !!!!2 cJ nh 4y c [Vn(CW t, -n tAnh c
[VnW
aOt -. 4A &$
1. H6m 'i0i thv0:
n S
w
CaTaga!!!!!!aVn(CWan 2 nbf
C 2 nSf
S
w
naVn(CW 2 nbf
C 2 nSf
sk
K thut lp trnh
9hn [It=
( Th:o c"ng thJc t/Pn2 t, nhn th5y t/ong nh ngh,
cK, n gi,i thx, VnW c nh ngh, l'i chAnh n nPn hm gi,i
thx, c + qui!
( Qi n bSf 2 iLu ki+n &xng tAnh hm gi,i thx, l nSC
. H6m SI?xNOCCI:

n
S

C \ n Sf2C

n(C
U
n(T
\ nbC
( Th:o nh ngh, t/Pn2 hm ibon,cci c lBi gNi + qui!
( _u t/0nh tAnh &xng l'i khi nS C
yyy!T!T! FGm qui trong ng5n ng: C:
6g"n ng8 M c t/,ng b c) ch gNi hm + qui! rm +
qui l hm gNi n chAnh hm mt cch t/*c tip h,y gin
tip!
QA &$ C= Qit hm + qui tAnh [VnW S C U T U g U!!!Un
inclu&: c-t&io!hb
inclu&: cconio!hb
int [Vint nW
i VnSSCW ^^ iLu ki+n &xng
/:tu/n C\
:l-: ^^ bc + qui
/:tu/n V[Vn(CW U nW\

4oi& m,inVW
int n\
p/intVn 6h,p n S W\
-c,nV&2nW\
p/intVTong [ S C U T U !!!U & S &2n2 [VnWW\
g:tchVW\

QA &$ T = Qit hm + qui tAnh hm gi,i thx, n!


long gi,ithu,Vint nW
/:tu/n VVnSSfW C = nagi,ithu,Vn(CWW\

III..!. HGm qui /G etac(:


sm
K thut lp trnh
Ot ch)ng t/0nh M thBng g@m c hm m,inVW 4 cc hm
khc! Dhi ch'y ch)ng t/0nh M th0 hm m,inVW -n c gNi ch'y t/(
c2 -,u hm m,inVW gNi cc hm khc2 cc hm ny t/ong khi
ch'y c th gNi cc hm khc n8,! Dhi mt hm c gNi2 th0
mt khung kAch ho't cK, n c t'o /, t/ong b nh -t,ck!
Dhung kAch ho't ny chJ, cc bin c$c b cK, hm 4 mu tin
ho't ng cK, hm! Ou tin ho't ng chJ, , ch# t/E 4L
cK, hm gNi n 4 cc th,m -. khc!
Hin c$c b
Ou tin
ho't
ng

G, ch# t/E 4L
Th"ng -. khc
Dhung kAch
ho't
[,u khi hm c gNi | thi hnh xong th0 ch)ng t/0nh -n
th*c hi+n tip &%ng l+nh E , ch# t/E 4L cK, hm gNi n2
@ng thBi x, khung kAch ho't cK, hm khYi b nh!
ei -t t, c c) ch gNi hm t/ong mt ch)ng t/0nh M nh
-,u=
m,inVW
!!!!!!
RVW\
!!!!!\
HVW\
!!!!\

RVW
!!!!!\
MVW\
!!!!\
FVW\

HVW
!!!!!\
FVW\

MVW
!!!!!!\
FVW\
!!!!!\

FVW
!!!!!!!!\
!!!!!!!!\

r0nh -,u <y cho t, th5y -* chim &$ng b nh -t,ck khi


ch'y ch)ng t/0nh M nh m" t E t/Pn!
b
nh
[t,ck
F
M M M F F
ss
K thut lp trnh
R R R R R R R H H H
O O O O O O O O O O O O O
thBi gi,n
T)ng t* 4i t/Bng hp hm + qui2 khi gNi + qui ln nh,u
th0 mt lo't cc khung kAch ho't -n c t'o /, 4 n'p 4o b nh
[t,ck! M5p + qui cng c,o th0 -. khung kAch ho't t/ong [t,ck
cng nhiLu2 &o 2 c kh nqng &n n t/n [t,ck V[t,ck
o4:/o]W! T/ong nhiLu t/Bng hp khi lp t/0nh2 nu c th c
t, nPn gv + qui cho cc bi ton!
IV. PtIu=tuIR:
Mc kiu )n gin t'i mt thBi im ch# lu gi8 c mt
gi t/ &uy nh5t! M%n mt bin kiu mng &7ng lu t/8 cc
gi t/ c7ng kiu &8 li+u 4i nh,u2 chng h'n nh mt &|y -.2 mt
&|y cc ku t*2!!!6hng t/ong th*c t2 iLu ny 4n ch, K 40
cc thnh ph9n m t, lu gi8 thBng l khc kiu &8 li+u 4i
nh,u!
QA &$ = T, mu.n lu gi8 cc th"ng tin 4L mt -inh 4iPn nh
-,u = OR[2 r2 TZ62 6eR[y6r2 6y[y6r2 irRy2 FyRMry2 ?i !
Qi cc thnh ph9n nh 4y2 th0 /p /ng cc thnh ph9n cK, C
-inh 4iPn kh"ng th c7ng kiu m phi thuc cc kiu khc
nh,u2 c$ th l=
( OR[2 r2 TZ6 = mng ch8
( 6eR[y6r = int ngy 2 thng 2 nqm \
( 6y[y6r = mng ch8
( irRy = un-ign:& int\
( ?i = mng ch8\
Fo 2 lu t/8 c cc thnh ph9n khc nh,u cK, mt
.i tng t, phi -t &$ng mt kiu &8 li+u t/ong M l
etructurQ. Vt)ng t* nh /:co/& t/ong i,-c,lW
IV.1. X=nh ngh@a:
Ot bin c kiu -t/uctu/: c &7ng lu t/8 mt .i tng
c nhiLu thnh ph9n! Mc thnh ph9n c th thuc cc kiu
&8 li+u khc nh,u!
IV.. Khai 1o= Ou.n kh,i bo kiu ho=AiRn &7ng lu t/8
hN2 tPn2 im m"n TR62?2rR2 GTH2 Xp lo'i cK, mt hNc
sz
K thut lp trnh
4iPn2 t, c =
-t/uct hoc4i:n
ch,/ hogf\
ch,/ t:nz\
o,t to,n2 ly2 ho, 2 &tb\
ch,/ x:plo,iCf\
m
( G kh,i bo bin hA c kiu ho=AiRn =
-t/uct hoc4i:n h4\
( G t/uy xu5t ti mt thnh ph9n2 t, &7ng &5u ch5m2 4A &$
nh= hA.ho t/uy xu5t ti hN cK, hNc 4iPn!
a Dh,i bo kt hp= 4x, kh,i bo kiu -t/uctu/: 4x, kh,i bo
bin c kiu !
-t/uct hoc4i:n
ch,/ hogf\
ch,/ t:nz\
o,t to,n2 ly2 ho, 2 &tb\
ch,/ x:plo,iCf\
hA1k hA\ ^^ kh,i bo T bin h4C2 h4T c7ng kiu
hoc4i:n
( Dh,i bo -t/uctu/: l@ng nh,u=
QA &$=
4oi& m,inVW
-t/uct ng,y-inh
un-ign:& int ng,y2 th,ng2 n,m\
\
-t/uct hoc4i:n
ch,/ hogf\
ch,/ t:nz\
-t/uct ng,y-inh ng-inh\
o,t to,n2 ly2 ho,2 &tb\
ch,/ x:plo,iCf\
\
-t/uct hoc4i:n h4\

s{
K thut lp trnh
T/ong t/Bng hp ny2 t/uy xu5t ti thng -inh cK, hNc
4iPn h42 t, 4it nh -,u= hA.n'Vinh.th0n'.
V. SIL9:
V.1. fi%Q /gn 1?n :
( il: 4qn bn l l: c lu t/8 &i &'ng kiu ku t*
M T cch t/uy xu5t th:o kiu ku t*!
( T/uy xu5t th:o txng ku t*
( T/uy xu5t th:o txng &%ng
V.1.1. Khai 1o t6 tin:
Dh,i bo bin kiu l:=
y?Z apt/
V.1.. +Y t6 tin:
pt/ S op:n VtPn l:2 kiuW\
( T/ong tPnl: 2 t, c th ch# nh mt Bng &n 9y
K nh -,u M=Tr}DT?TQyF}!TXT! rm op:n nu mE l:
thnh c"ng -n t/ 4L mt con t/Y l: cho tp tin tPn l:2 4
con t/Y ny c c5t gi8 t/ong bin pt/ Vbin kiu y?ZW!
6u kh"ng c l: tPn l: t/Pn &, th0 hm op:n -n t/
4L t/ 6}??
V nu pt/ SS 6}?? ngh, l kh"ng c l: W
( Diu= g@m c=
/ = Nc V l: phi c -n2 nu kh"ng c l:2 hm
op:n t/ 4L t/ 6}??W
] = ghi V nu c l: -n x, l: c3 W
, = n.i 4o cu.i tp tin
/ U= Nc ^ ghi2 tp tin phi c -n t/Pn &,
,U= Nc2 ghi 4o cu.i tp tin2 nu t/Pn &, ch, c tp
tin th0 n -n c t'o /,!
QA &$= Gm -. ku t* t/ong l: QH!TXT!
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
4oi& m,inVW
s~
K thut lp trnh
y?Z apt/\
int &:mSf\
ch,/ ch\
i VVpt/ S op:nVQH!txt2 /WW SS 6}??W ^^ mE l:
Nc

p/intVil: n,y khong th: monW\
/:turn \ ^^ (Et th>c ch<ng tr8nhh hGm Q[it thu,c
/N -t!%i1.h

]hil: V:oVpt/WW
chSg:tcVpt/W\ ^^ Nc C ku t* t/ong l: pt/ /,
&:mUU\

clo-:Vpt/W\
p/intVn[o ky tu t/ong l: QH!TXT S&2&:mW\
g:tchVW\

V.1.!. X7ng i%Q:


clo-: Vpt/W
V.1.Z. XJc Z ghi () tA: Mho bin ku t* ch,/ ch\
( GNc ku t* tx tp tin
ch S g:tc Vpt/W
( ehi ku t* lPn tp tin
putc Vch2 pt/W
QA &$ C= T'o C l: t/*c tip tx bn phAm! _u t/0nh t'o -n
&xng l'i khi t, 5n phAm Znt:/!
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
4oi& m,inVW
y?Z apt/\
ch,/ t:nl:sz\
ch,/ ch\
cl/-c/VW\
zf
K thut lp trnh
p/intVMho bi:t t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2]WWSS6}??W ^^ mE l: mi
ghi
p/intVQi:c t,o l: co loinW\
:xitVfW\

]hil: VVchSg:tch:VWW S/W
putcVch2pt/W\
clo-:Vpt/W\

QA &$ T= yn ni &ung tp tin /, mn h0nh


inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
4oi& m,inVW
y?Z apt/\
ch,/ t:nl:sz\
ch,/ ch\
cl/-c/VW\
p/intVMho bi:t t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2/WWSS6}??W
p/intVQi:c mo l: co loinW\
:xitVfW\

]hil: VVchSg:tcVpt/WW SZW
p/intVc2chW\
clo-:Vpt/W\

zC
K thut lp trnh
QA &$ g= Mh)ng t/0nh m -. tx t/ong l:
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
4oi& m,inVW
y?Z apt/\
ch,/ t:nl:sz\
int ch\
int &:mSf2 tuSf\
cl/-c/VW\
p/intVMho bi:t t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2/WWSS6}??W ^^ mE l: Nc
p/intVQi:c mo l: co loinW\
:xitVfW\

]hil: VVchSg:tcVpt/WW SZW
i VVchbS, ch cSW VchbSR chcSWW
tuSC\
i VVchSS chSSn chSStW tuW
&:mUU\
tuSf\


p/intV[o tu t/ong l: S&2&:mW\
clo-:Vpt/W\

V.1.[. XJc Z ghi chuCi () tA:


? rm J'RtV Vchuoi2 chiLu&i2 pt/W\
rm g:t- Nc C chuoi ku t* tx t/ong l: pt/ 4o bin
cchuoib 4i chiLu &i t.i , l cchiLu&ib! rm ny t/ 4L
6}?? khi | Nc ht l:
a rm JHutV Vchuoi2 pt/W= ghi C chuoi ku t* t/ong cchuoib
4o l: pt/! rm ny kh"ng t* ng thPm 4o m| kt th;c
chuyn &%ng mi2 &o t, phi ghi thPm m| ny 4o tp tin
zT
K thut lp trnh
bng l+nh JHutV Kyznyk JHtILm
QA &$ C= Mh)ng t/0nh ghi chuoi lPn l:2 cho n khi chuoi
nhp 4o l /ong th0 kt th;c!
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
inclu&: c-t/ing!hb
4oi& m,inVW
y?Z apt/\
ch,/ t:nl:sz\
ch,/ chuoi{f\
cl/-c/VW\
p/intVMho bi:t t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2]WWSS6}??W ^^ t'o l: mi
p/intVQi:c t,o l: co loinW\
:xitVfW\

]hil: V-t/l:nVg:t-VchuoiWW b fW ^^ hm -t/l:nVW t/ong
c-t/ing!hb
put-Vchuoi2pt/W\
put-Vn2pt/W\

clo-:Vpt/W\

QA &$ T= GNc cc chuoi ku t* tx tp tin2 4 in n t/Pn mn


h0nh!
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
4oi& m,inVW
y?Z apt/\
ch,/ t:nl:sz\
ch,/ chuoi{C\
cl/-c/VW\
p/intVMho bi:t t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2/WWSS6}??W
zg
K thut lp trnh
p/intVQi:c t,o l: co loinW\
:xitVfW\

]hil: Vg:t-Vchuoi2{f2pt/WS 6}??W
p/intV-2chuoiW\
clo-:Vpt/W\ g:tchVW\

V.1.a. \7a i%Q: ?+nh /:mo4: xo l: c ch# nh qu,


ctPnl:b
Cl HhH= IRmoAR VtPn l:W
rm /:mo4: t/ 4L f = x, thnh c"ng
t/ 4L (C = c loi khi x, l:2 4 l;c ny bin
RIIno c C t/ong T gi t/ -,u=
Z6Z6T = kh"ng t0m th5y l: mu.n x,
ZRMMZ[ = kh"ng cho php x, l: m b'n ch#
nh
& u )= il: nPn ng t/c khi x,!
QA &$= X, l: &o t, ch# nh!
inclu&: c-t&io!hb
4oi& m,inVW
ch,/ l:n,m:{f\
^a p/ompt o/ l: n,m: to &:l:t: a^
p/intVil: muon xo,= W\
g:t-Vl:n,m:W\
^a &:l:t: th: l: a^
i V/:mo4:Vl:n,m:W SS fW
p/intV`:mo4:& -!n2l:n,m:W\
:l-:
p://o/V/:mo4:W\ ^^ in th"ng bo loi m hm
/:mo4: g<y /,

V.. fi%Q nh= 6h$n Kt(R ={ =Fu tIl=L


il: nh ph<n l l: &7ng lu t/8 cc c5u t/;c &i &'ng
-t/uct ho>c union
V..1. Khai 1o:
zk
K thut lp trnh
y?Z a pt/\
V... +Y i%Q:
pt/ S op:n VtPnl:2 kiuW\
! /b V b= bin,/yW= mE ch# Nc
! ]b = ghi! 6u l: | c th0 x, t/c khi mE!
! ,b = n.i thPm\ mE ghi thPm 4o cu.i l:2 nu
l: ch, c th0 t'o mi
! /bU = mE l: | c cp nht VNc^ghiW
! ]bU = t'o l: mi cho php Nc^ghi
! ,bU = mE n.i thPm 4L cu.i l:2 cho php
Nc^ghi
V..!. X7ng i%Q:
clo-: Vpt/W
V..Z. XJcZghi i%Q: rm JIR0C : Nc -. mu tinVc5u t/;cW
t/ong l: pt/ 4o cbin c5u t/;cb!
JIR0C K2 %i\n =Fu tIl=k Vi|RoJ K%i\n =Fu tIl=L k V-
=Fu tIl=k JHtILm
rm /:,& t/ 4L -. c5u t/;c Nc c
rm J}IitR ghi &8 li+u t/ong cbin c5u t/;cb 4o l: pt/!
J}IitR K2%i\n =Fu tIl=k Vi|RoJ K%i\n =Fu tIl=L k V-
=Fu tIl=k JHtILm
rm ]/it: t/ 4L -. c5u t/;c ghi c lPn l:
Ch> ):
( G kim t/, 4i+c Nc l: t, kim t/, -. c5u t/;c c Nc!
6u -. c5u t/;c t/ 4L bng f m t, c9n Nc l C c5u t/;c th0
iLu chJng tY | ht l:!
] ;hi m,t m?ng cu tr>c %*n i%Q
]/it:VtPnmng2 -i:o VtPnmngW2 C2 pt/W\
o/ ViS f\ ic n\ iUUW
]/it: VtPnmngi2 -i:o VtPnmngiW 2 C2 pt/W\
QA &$ C= Mh)ng t/0nh ghi lPn l: nh ph<n
inclu&: c-t&io!hb
inclu&: c-t&lib!hb
zm
K thut lp trnh
inclu&: c-t/ing!hb
4oi& m,inVW
-t/uct hoc4i:n
ch,/ hot:ngf\
int tuoi\
h4\
y?Z apt/\
ch,/ t:nl:sz\
ch,/ tuoig\
p/intV6h,p t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2]bWW SS 6}??W ^^ mE l: nh
ph<n ghi
p/int VDhong th: t,o l:nW\ :xitVfW\

&o
p/intV6h,p ho t:n hoc 4i:n =W\
g:t-Vh4!hot:nW\
i V-t/l:nVh4!hot:nW SfW
p/intV6h,p tuoi =W\
g:t-VtuoiW\
h4!tuoi S ,toiVtuoiW\ ^^ m,c/o &oi chuoi qu, -o nguy:n
]/it:Vh42 -i:oVh4W2 C2 pt/W \ ^^ ghi noi &ung C m,u tin
t/ong bi:n h4
^^ 4,o l: pt/


]hil: V-t/l:nVh4!hot:nWSfW\
clo-: Vpt/W\

QA &$ T= ehi &8 li+u mng 4o l: nh ph<n


inclu&: c-t&io!hb
inclu&: c-t&lib!hb
inclu&: c-t/ing!hb
4oi& m,inVW
zs
K thut lp trnh
-t/uct hoc4i:n
ch,/ hot:ngf\
int tuoi\
h4\
-t/uct hoc4i:n t,bl:g\
y?Z apt/\
ch,/ t:nl:sz\
ch,/ tuoig\
int iSf\
p/intV6h,p t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2]bWW SS 6}??W
p/int VDhong th: t,o l:nW\ :xitVfW\

&o
p/intV6h,p ho t:n hoc 4i:n =W\
g:t-Vh4!hot:nW\
p/intV6h,p tuoi =W\
g:t-VtuoiW\
h4!tuoi S ,toiVtuoiW\ ^^ m,c/o &oi chuoi qu, -o
nguy:n
t,bl:iUUSh4\

]hil: VicgW\
]/it:Vt,bl:2 -i:oVt,bl:W2 C2 pt/W \ ^^ ghi noi &ung to,n bo
hoc 4i:n t/ong
^^ t,bl: 4,o l: pt/
^^ ho>c o/ ViSf\ icg\ iUUW
^^ ]/it:Vt,bl:i2 -i:oVt,bl:iW2 C2 pt/W
clo-: Vpt/W\

QA &$ g= Mh)ng t/0nh Nc l: nh ph<n2 4 in &,nh -ch


hNc 4iPn /, mn h0nh!
^^ yn &,nh -ch hNc 4iPn /, mn h0nh
inclu&: c-t&io!hb
inclu&: c-t&lib!hb
zz
K thut lp trnh
inclu&: cconio!hb
4oi& m,inVW
-t/uct hoc4i:n
ch,/ hot:ngf\
int tuoi\
h4\
y?Z apt/\
ch,/ t:nl:sz\
ch,/ tuoig\
p/intV6h,p t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2/bWW SS 6}??W ^^ OE l: Nc
p/int VDhong th: mo l:nW\ :xitVfW\

cl/-c/VW\
p/intV ro 4, t:n TuoiW\
]hil: V/:,&Vh42-i:oVh4W2C2pt/W SSCW

p/intVn(Tf-2h4!hot:nW\
p/intVg&2h4!tuoiW\

clo-: Vpt/W\

V..[. Tru" [ut t6 tin ngcu nhi*n: ViLu khin con


t/Y tp tin t/Pn l: nh ph<nW
a Mon t/Y l:= Ooi tp tin Lu c con t/Y l: -,u khi c
mE! Mon t/Y l: l con t/Y ch# n txng byt: t/Pn l:! Dhi Nc
h,y ghi &8 li+u t/Pn tp tin2 t, | lm &ch chuyn con t/Y l:
mt -. byt:2 <y chAnh l -. byt: m kiu &8 li+u | chim!
Dhi ng /@i mE tp tin2 con t/Y l: lu"n E 9u tp tin \ ngo'i
t/x t/Bng hp t, mE bng t7y chNn , th0 con t/Y l: -n E cu.i
tp tin ghi thPm &8 li+u 4o cu.i tp tin! rm -::k cho
php t, &i chuyn con t/Y l: n 4 t/A mong mu.n!
Cl HhH=
int -::k Vy?Z a pt/2 long
nbyt:-2 kiuW
z{
K thut lp trnh
U nbyt:- = -. byt:- tAnh tx 4 t/A kiu cho n 4 t/A c9n
ti
U kiu l -. nguyPn =
kiu S f VtAnh tx 9u tp tinW
kiu S C VtAnh tx 4 t/A hi+n t'iW
kiu S T VtAnh tx cu.i tp tinW
6u -::k t/ 4L f ngh, l n | &i chuyn ti 4 t/A !
? u u= -. thJ t* t/Pn tp tin tAnh tx f!
QA &$= Qit ch)ng t/0nh t/uy xu5t ngu nhiPn mt mu tin
th:o -. thJ t* cK, n t/ong l: nh ph<n
inclu&: c-t&io!hb
inclu&: c-t&lib!hb
inclu&: cconio!hb
4oi& m,inVW
-t/uct hoc4i:n
ch,/ hot:ngf\
int tuoi\
h4\
y?Z apt/\
ch,/ t:nl:sz\
int -tt2 -obyt:-\
p/intV6h,p t:n l: =W\
g:t-Vt:nl:W\
i VVpt/Sop:nVt:nl:2/bWW SS 6}??W
p/int VDhong th: mo l:nW\ :xitVfW\

cl/-c/VW\
p/intVMho bi:t -o thu tu m,u tin c,n &i chuy:n &:n =W\
-c,nV&2-ttW\
-obyt:- S -tt a -i:oVh4W\
i V-::kVpt/2-obyt:-2fWSfW
p/int VDhong th: &i chuy:n con t/o l: toi 4i t/i b,n chi
&inh &uocW\
:xitVfW\
z~
K thut lp trnh

/:,&Vh42-i:oVh4W2C2pt/W \
p/intVn(Tf-2h4!hot:nW\
p/intVg&2h4!tuoiW\
clo-: Vpt/W\
g:tchVW\

V.!. #ht hin %Ci (hi tru" [ut t6 tin


ih9n ln nh8ng hm xu5t2 nhp tp tin chun kh"ng th"ng
bo /p ni &ung cK, loi! Mhng h'n nh=
( putc VW -n t/ 4L Z khi c loi ho>c cu.i tp tin
( g:t- VW -n t/ 4L l 6}?? khi Nc ht l: ho>c khi c loi
Fo 2 pht hi+n loi khi t/uy xu5t tp tin2 t, &7ng m,c/o
://o/ Vy?Z apt/W
int ://o/ Vl: a pt/W
O,c/o ://o/ t/ 4L mt t/ khc f nu pht hi+n /, loi t/Pn
l: pt/!
a G xu5t c<u th"ng bo loi t, &7ng hm p://o/ VW
4oi& p://o/ Vcon-t ch,/ a -t/W
4i -t/ = chuoi ku t* chJ, c<u th"ng bo

a r,i hm ny thBng c -t &$ng ng,y -,u khi -t &$ng cc
hm Nc ^ ghi l:
QA &$= ]/it: Vt,bl:2 -i:o Vt,bl:W2 C2 pt/W\
i V://o/ Vpt/W S fW
p://o/ V?oi ghi &u li:uW\
:xit VfW\

QA &$ =
inclu&: c-t&io!hb
4oi& m,inVW

y?Z ap\
p S op:nVp://o/!&,t2 /W\
{f
K thut lp trnh
i VpW
p://o/VDh"ng th mE l: NcW\

Dhi ch'y ch)ng t/0nh ny2 nu t/Pn &, ch, c tp tin


p://o/!&,t th0 -n hi+n th"ng bo loi= Dh"ng th mE l: Nc=
6o -uch l: o/ &i/:cto/y!
DGi t6
C! T'o tp tin &i+n tAch!h
&:n: ii g!Ck
&:n: &th4 VxW xax
&:n: &tht VxW ViiaxaxW
T! Qit ch)ng t/0nh tAnh &i+n tAch &*, 4o l: &i:ntich!h E
t/Pn
g! Qit hm + qui tAnh tAch iVnW S C a T a ga !!!!a n 2 nbf
k! Qit hm + qui tAnh hm m3 x
n
2 4i n nguyPn!
m! Qit hm + qui tAnh ph9n tt thJ n cK, hm ibon,cci!
s! Qit hm + qui gii quyt bi ton Thp r ni!
M g ct R2 H2 M! Mt R hi+n ,ng c n &, kAch thc khc
nh,u2 &, nhY E t/Pn &, ln E &i! r|y &Bi n &, tx ct R -,ng
ct M Vx:m ct H l ct t/ung gi,nW 4i iLu ki+n moi l9n ch#
c &Bi C &, 4 &, >t t/Pn b,o giB c3ng nhY h)n &,
>t &i!
z! Qit ch)ng t/0nh m| h, 4 gii m| mt l: 4qn bn -,o cho
nu t, | m| h, /@i th0 ch)ng t/0nh kh"ng m| h, n8,2 4
nu l: ch, m| h, th0 kh"ng c gii m|!
{! Mho bit t/ong mt l: 4qn bn &o t, nhp 4o c b,o nhiPu
ku t*2 b,o nhiPu tx2 4 b,o nhiPu &%ng\ bit /ng cc tx cch
nh,u khong t/ng2 &5u t,b2 &5u ch5m!
~! Qit ch)ng t/0nh t'o mt m:nu th*c hi+n cc chJc nqng -,u
t/Pn l: 4qn bn=
( T'o l: mi
( GNc l:
( X, l:
( ehi n.i u"i l:
{C
K thut lp trnh
( Mopy l:
( Fi chuyn l: tx th m$c ny -,ng th m$c khc
( T0m mt tx xu5t hi+n b,o nhiPu l9n t/ong l: Vkh"ng
ph<n bi+t ch8 in2 ch8 thBngW
( Th,y th tx ny bng tx khc
Cf! T'o m:nu th*c hi+n cc c"ng 4i+c -,u=
( 6hp &,nh -ch c kiu hNc 4iPn 4o mt l: tPn
r[!TXT2 moi hNc 4iPn c cc th"ng tin -,u= m,-o VintW2 hot:n
Vchuoi t.i , gf ku t*W2 phi V6RO^6}W2 tu1i VintW!
( ?i+t kP &,nh -ch hNc 4iPn /, mn h0nh th:o &'ng -,u=
O| -. rN 4 tPn ihi Tu1i
( T/uy xu5t ngu nhiPn th:o thJ t* mu tin
( T0m kim mt ngBi t/ong l: th:o m| -.
( Mp nht -t, 1i cc mu tin th:o m| -. V6hp m| -.2
-,u hi+u ch#nh l'i hot:n2 ph,i2 4 tu1iW!
( X, mt ngBi t/ong l: th:o m| -.!
{T
K thut lp trnh
CH3NG ! CC TH8T TxN TR~N CF8 TRlC 41 LI8
"$NG
I. "$n' ,h#n' VdH E\H A6 thut ton tm ,i\m tI+n
m$n' =h 0 ={ thW tM
I.1. +,t -. (hi nim /N m?ng :
I.1.1. X=nh ngh@a:
Ong l C &|y cc ph9n tt c c7ng kiu &8 li+u c -p
xp liPn tip nh,u t/ong b nh
fCff
fCfT C int
fCfk T Ong n
ph9n tt
n(C
H nh
Kh0i %o:
C> 6h6: Dh,i bo mng C chiLu
DiuF? TPnmng kAch thc\
DiuF? = l C t/ong cc kiu &8 li+u c) bn2 l
kiu cK, ph9n tt cK, mng
TPnmng= l tPn cK, mng c >t C cch hp l+
DAch thc= l C hng nguyPn cho bit -. ph9n tt t.i
, cK, mng
QA &$ C= Dh,i bo C mng -. nguyPn
int n \
int On \ [Ry
int OCf \ ;ng 40 kAch thc mng phi l hng
kh"ng phi l bin
&:n: m,x Cff
int Om,x \
QA &$ T= Dh,i bo C &,nh -ch hN tPn hNc 4iPn cK, C lp hNc
{g
K thut lp trnh
ch,/ &-h4mfgf\ ^^ &-h4 c th chJ, t.i , hN tPn mf
hNc 4iPn2 ^^ chiLu &i hN tPn moi hNc 4iPn t.i
, l gf ku t*
Cl HhH: Dh,i bo mng T chiLu
DiuF? TPnmng kAch thc CkAch thc T
Ch> )= Ot mng t/ong M2 cc ph9n tt c nh -. tx f ti
n(C
QA &$= Qi OCf
th0 thnh ph9n thJ C l Of
thnh ph9n cu.i c7ng O~
a M kh"ng bt b2 kh"ng kim t/, x:m bin m c 4t /,
khYi gii h'n cho php cK, mng ch,! Fo 2 ch;ng t, phi
kim t/, bin m t/ong ch)ng t/0nh Vphi nhY h)n nW
I.1.. KhYi ,ng tr= cho m?ng:
T, khEi ng c t/ cho mng t/ong T t/Bng hp -,u=
Ong c kh,i bo l bin ngoi Vm,inW ngh, l bin
ton c$c
Ong c kh,i bo c$c b
QA &$ C = int Og S Cf2CC2CT
m,inVW

QA &$ T=
m,inVW
-t,tic int O SCf2TT2gf\
!!!!!!!!!!!!

T, c th gn C hng cho c mng nh -,u=


m:m-:t VO2f2-i:oVintW agW \ ^^ gn f cho mng O 4i O
c g ph9n tt
Tx kh, -t,tic &7ng kh,i bo C bin c$c b thBng t/*c
cho php &uy t/0 gi t/ /iPng cK, n E nh8ng l9n gNi hm -,u
ny!
DhEi t'o mng T chiLu=
int OTgS C2T2gk
{k
K thut lp trnh
f2C2f\
I.1.!.Tru" [ut thGnh 6h^n ca m?ng: "=h V-
T/uy xu5t thnh ph9n thJ T cK, mng C chiLu= OC
T/uy xu5t thnh ph9n thJ i cK, mng C chiLu= Oi(C
T/uy xu5t thnh ph9n &%ng T2 ct g cK, mng T chiLu
OCT
I.1.Z. XJc Onh6R !: %iu cho m?ng:
( G nhp &8 li+u cho mng t, phi nhp &8 li+u cho txng
thnh ph9n cK, mng!
QA &$ C=
int n2i\
o,t OCf\
p/intVnMho bi:t -o ph,n tu cu, m,ng=W
-c,n V&2nW\
o/ V iSf\ ic n\ iUUW
p/intV,&S 2iUCW\
-c,n V2OiW\

QA &$ T= 6hp 4o mng T chiLu!


int m2 n2 i2 \
o,t OCf Cf\
p/intV[o &ong SW\ -c,nV&2nW\
p/intV[o cot SW\ -c,nV&2mW\
o/ViS f\ ic n\ iUUW
o/VS f\ cm\ UUW
p/intVO& & S 2i2W\
-c,nV2 OiW\

I.1.[. \ut !: %iu (i2u m?ng: G xu5t &8 li+u mng


t, c3ng phi xu5t &8 li+u cK, txng thnh ph9n mng
QA &$=
int i2 n\
o,t OCf\
o/Vi S f\ ic n\ iUUW
p/intV,& S 2iUC2 OiW\
{m
K thut lp trnh
I.. Thut ton t8m (iEm tr*n m?ng ch a c7 thK tA :
Fo mng ch, c thJ t* nPn t, p &$ng ph)ng php t0m kim
tuyn tAnh t0m tx 9u mng cho n cu.i mng! T/ong ch(
)ng t/0nh -,u <y2 hm Timkim -n t/ 4L t/ (C nu kh"ng
c m| -inh 4iPn t/ong &,nh -ch &-2 ngc l'i hm -n t/ 4L 4 t/A
cK, m| -. t/ong &,nh -ch &-!
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: c-t&lib!hb
inclu&: c-t/ing!hb
&:n: ORX[[Q Cff^^ -. -inh 4iPn t.i , t/ong &,nh
-ch
typ:&: -t/uct -inh4i:n ^^ nh ngh, kiu -inh4i:n
ch,/ m,-os\
ch,/ hot:ngf\
\
typ:&: -t/uct &,nh-,ch-4 ^^ nh ngh, kiu
&,nh-,ch-4
int t--4\
-inh4i:n -4ORX[[Q\
\
AoiC Nh0HCV V-t/uct &,nh-,ch-4 ap-4W
ch,/ -o-4k\
p/intV[o -inh 4i:n muon nh,p =W\
g:t-V-o-4W\
p-4(bt--4S,toiV-o-4W\
o/ Vint iSf\ icp-4(bt--4\ iUUW
p/intVO, -o =W\
g:t-Vp-4(b-4i!m,-oW\
p/intVro t:n =W\
g:t-Vp-4(b-4i!hot:nW\

{s
K thut lp trnh
AoiC LiRt,RCV V-t/uct &,nh-,ch-4 ap-4W
int iSf\
cl/-c/VW\
p/int V O, -o ro t:n nW\
]hil: Vi c p-4(bt--4W
p/int V{- (-n2 p-4(b-4i!m,-o2p-4(
b-4i!hot:nW\
iUU\

g:tchVW\

Z] FGm Tim(iQm t8m ma-o trong !anh-ach ]6-/ ]Z


int Tim,iRmKC0nhV0=hVA ;HVAk =h0I m0VoL
w int irsm
}hi(R KKiiHVAnjtVVAL 22 KVtI=mHKHVAnjVAi.m0Vok
m0VoL_rsLL
im
IRtuIn KirrHVAnjtVVA q n1 : iL m

AoiC m0inVW
-t/uct &,nh-,ch-4 &-\
ch,/ m,-os\
int 4it/i\
6h,p&-V&-W\ ^^ eNi hm 6h,p&- 4i th,m -. l
&-
?i:tk:&-V&-W\
p/intVO, -o -inh 4i:n b,n c,n tim =W\
g:t-Vm,-oW\
4it/i S Timki:mV&-2 m,-oW\
i V4it/i S(CW
p/intVro t:n cu, -inh 4i:n l, -2&-!-44it/i!hot:nW\
:l-: p/intV Dhong co -inh 4i:n 4oi m, b,n nh,p 4,oW\
g:tchVW\

{z
K thut lp trnh
II. C= thut ton VdH E\H:
T/ong th*c t cuc -.ng c3ng nh t/ong lnh 4*c lp t/0nh2
4i+c qun l &8 li+u thBng %i hYi -* t0m kim cc &8 li+u
c9n thit\ G thun ti+n cho 4i+c t0m kim2 &8 li+u thBng c
-p xp th:o mt thJ t* no !
M /5t nhiLu ph)ng php -p thJ t*2 t/ong bi ging ny t,
ch# kho -t h,i ph)ng php -p xp l Hubbl:[o/t 4
_uick[o/t!
G thun ti+n t, gi -t mng l &|y -. c t.i , Cff -.2 4
cc thut ton &i <y &7ng -p xp &|y -. th:o thJ t*
tqng &9n!
II.1. ej6 [E6 thQo 6h <ng 6h6 Du11%Q`eort KHh3n'
HhH nUi %ptL
( 6i &ung = T, cho i &uy+t &|y ,f2 !! 2,n(C\ nu ,i(C ln
h)n ,i th0 t, hon 1i V,i(C2,iW! ?>p l'i qu t/0nh &uy+t
&|y ny cho n khi kh"ng c xy /, 4i+c 1i cho cK, h,i
ph9n tt!
QA &$= T, -p thJ t* &|y -. -,u = Ts gg gm T~ C~ CT gT
?:= s 1 ! Z [ a
Ts CT CT CT CT CT CT
gg Ts C~ C~ C~ C~ C~
gm gg Ts Ts Ts Ts Ts
T~ gm gg T~ T~ T~ T~
C~ T~ gm gg gT gT gT
CT C~ T~ gm gg gg gg
gT gT gT gT gm gm gm
( Mh )ng t/0nh=
inclu&: c-t&io!hb
inclu&: cconio!hb
int m,ngCff\ ^^ bin ton c$c
int -i: \
AoiC ?u%%(RPoItKint O1ssk int nL
w int ikktRmHm
JoI Kir1m iinm iL
JoI Krnn1mjrim nnL
{{
K thut lp trnh
iJ KOn1 j OL
w tRmH r On1m
On1 r Om
O r tRmHm

int Nh0HC0QVo Vint RW


int i2n\
p/intVn[o ph,n tu cu, m,ng =W\ -c,nV&2nW\
o/ ViSf\ icn\ iUUW
p/int VR& S 2iUCW\
-c,nV&2RiW\

/:tu/n n\

AoiC LiRt,R Vint R2 int nW


int i\
p/intVn ei, t/i m,ng &, &uoc -,p = nW\
o/ ViSf\ icn\ iUUW
p/int Vm&2RiW\
g:tchVW\

AoiC m0inVW

-i:S 6h,p&,y-oVm,ngW\
Hubbl:[o/tVm,ng2-i:W\
?i:tk:Vm,ng2-i:W\

T, nhn th5y ph)ng php ny c th c ci tin &I &ng!


6u E l9n &uy+t &|y no m kh"ng c c -* 1i cho gi8,
h,i ph9n tt th0 &|y | c thJ t* 4 gii thut kt th;c! T/ong t/(
Bng hp ny2 t, &7ng mt cB hi+u ,g ghi nhn iLu ny2
4 gii thut Hubbl: [o/t c ci tin nh -,u=
&:n: R?[Z f
&:n: T`}Z C
{~
K thut lp trnh
4oi& Hubbl:[o/tR&Vint R2 int nW
int i2t:mp\
un-ign:& ch,/ ,gST`}Z\
]hil: V,gW
,g S R?[Z \
o/ ViSf\ icn(C\ iUUW
i VRi b RiUCW
t:mp S Ri\
Ri S RiUC\
RiUC S t:mp\
,gST`}Z\

II.. ej6 [E6 thQo 6h <ng 6h6 kuic(`eort


II..1. 9,i !ung= MhNn mt ph9n tt b5t k t/ong &,nh
-ch lm im ch.t x2 -o -nh 4 1i cho nh8ng ph9n tt
t/ong &,nh -ch ny t'o /, g ph9n= ph9n c gi t/ nhY h)n
x2 ph9n c gi t/ bng x2 4 ph9n c gi t/ ln h)n x! ?'i tip
t$c chi, T ph9n c gi t/ nhY h)n 4 ln h)n x th:o nguyPn
tc nh t/Pn\ qu t/0nh chi, ph9n -n kt th;c khi moi ph9n ch#
c%n l'i mt ph9n tt2 l;c ny t, | c mt &,nh -ch c thJ t*!
QA &$= Xt &|y Ts gg gm T~ C~ CT gT
?9n chi, ph9n thJ nh5t = MhNn ph9n tt ch.t c kh, l T~2
>t l x
Ts gg gm T~ C~ CT gT
i
F7ng h,i bin ch# -. i 4 &uy+t tx h,i 9u &,nh -ch
n x! 6u i g>p ph9n tt ln h)n h,y bng x -n &xng l'i2 g>p
ph9n tt nhY h)n h,y bng x -n &xng l'i2 /@i 1i cho h,i ph9n tt
ny\ -,u tip t$c &uy+t cho n khi ib th0 ngxng l'i!
?;c ny &|y -n c g ph9n khc nh,u nh h0nh 4n -,u =
Ts gg gm T~ C~ CT gT
i
~f
K thut lp trnh
Ts CT gm T~ C~ gg gT
i
Ts CT C~ T~ gm gg gT
i
Ts CT C~ T~ gm gg gT
i
?9n chi, ph9n thJ h,i cho &|y con Ts CT C~2 chNn ch.t
xSCT
Ts CT C~ CT Ts C~
i i
Dt th;c t, -n c h,i ph9n = CT \ Ts C~
?9n chi, ph9n thJ g cho &|y con Ts C~2 chNn ch.t xSTs
Ts C~ C~ Ts Dt th;c qu t/0nh chi, nhY &|y
con Ts CT C~
i i
( ?9n chi, ph9n thJ k cho &|y con gm gg gT2 chNn ch.t
xS gg
gm gg gT gT gg gm gT gg gm
i i i
Dt th;c t, -n c b, ph9n = gT \ gg \ gm
Gn <y qu t/0nh chi, ph9n kt th;c 40 t5t c cc ph9n
ch# c mt ph9n tt2 l;c ny t, -n c mt &,nh -ch c thJ t*
l =
CT C~ Ts T~ gT gg gm
II... ;i?i thut:
,! @A thut khBng 1; <u.:
( T, t'o mt [t,ck 2 moi ph9n tt cK, [t,ck c T thnh ph9n
l q2 / chJ, ch# -. 9u 4 ch# -. cu.i cK, &|y c9n -p! H,n
9u2 [t,ckf!q S f 4 [t,ckf!/ Sn(C
( Tin hnh ph<n ho'ch &|y -. g@m cc -. bt 9u tx
ch# -. q n ch# -. /
( [,u moi l9n chi, ph9n2 t, kim t/, x:m ph9n c gi t/
nhY h)n ch.t 4 ph9n c gi t/ ln h)n ch.t nu c tx T ph9n
tt t/E lPn th0 , 4o [t,ck! [,u moi l9n ph<n ho'ch2 t, l'i l5y
~C
K thut lp trnh
&|y -. mi tx [t,ck /, ph<n ho'ch tip!
( _u t/0nh cJ nh th cho ti khi [t,ck /ong th0 kt th;c!
a Mh )ng t/0nh=
inclu&: c-t&io!hb
inclu&: cconio!hb
inclu&: ctim:!hb
inclu&: c-t&lib!hb
int m,ngCff\
int -i: \
AoiC 7ui=,PoItVint RCff2 int nW
-t/uct Zl:m:nt[t,ck ^^ kiu ph9n tt t/ong [t,ck

int q2 /\
\
Zl:m:nt[t,ck [t,ckmf\ ^^ [t,ck c t.i , mf ph9n
tt
int -pSf\ ^^ con t/Y [t,ck2 khEi t'o -pSf
int i22x2q2/2t:mp\
[t,ckf!q Sf \ ^^ ch# -. 9u cK, mng c9n -p
[t,ckf!/ Sn(C\ ^^ ch# -. cu.i cK, mng c9n -p
&o
^^ ?5y mt ph<n ho'ch /, tx [t,ck
q S [t,ck-p!q \ / S[t,ck-p!/ \
-p((\ ^^ X, C ph9n tt khYi [t,ck
&o
^^ ih<n o'n &|y con ,q 2!!!2 ,/
i S q\ S/\
x S RVqU/W ^ T \ ^^ ?5y ph9n tt gi8, cK, &|y c9n
-p thJ t* lm ch.t
&o
]hil: VRi c xW iUU\ ^^T0m ph9n tt 9u tiPn c t/
ln h)n h,y bng x
]hil: VR b xW ((\ ^^T0m ph9n tt 9u tiPn c t/ nhY
h)n h,y bng x
i VicSW ^^ G1i cho Ri 4i R
~T
K thut lp trnh
t:mp S Ri\
Ri SR\
R S t:mp\
iUU \ ((\

]hil: VicSW\
i Vic/W ^^ ph9n thJ b, c tx T ph9n tt t/E lPn
^^ G, 4o [t,ck ch# -. 9u 4 ch# -. cu.i cK, ph9n
thJ b,
-pUU\
[t,ck-p!qSi\
[t,ck-p!/S/\

/ S \ ^^ Mhun b 4 t/A ph<n ho'ch ph9n c gi
t/ nhY h)n ch.t
]hil: Vqc /W\
]hil: V-pS(CW\ ^^ D:t thuc khi [t,ck /ong

int Nh0HC0QVo Vint RW


^a T'o &|y n -. ngu nhiPn tx f n ~~~~ , 4o mng R a^
int i2n\
p/intVn[o ph,n tu cu, m,ng =W\ -c,nV&2nW\
/,n&omi:VW\ ^^ &7ng ctim:!hb 4 c-t&lib!hb
o/ ViSf\ icn\ iUUW
RiS /,n&VW Cffff\ ^^ iht -inh cc -. ngu nhiPn tx
f n ~~~~
/:tu/n n\

AoiC LiRt,R Vch,/ -t/2int R2 int nW


int i\
p/intVn-n2-t/W\
o/ ViSf\ icn\ iUUW
p/int Vm&2RiW\
g:tchVW\
~g
K thut lp trnh

AoiC m0inVW

-i:S 6h,p&,y-oVm,ngW\
?i:tk:VF,y -o ng,u nhi:n =2m,ng2-i:W\
_uick[o/tVm,ng2-i:W\
?i:tk:Vei, t/i m,ng &, &uoc -,p =2m,ng2-i:W\

b! @A thut Cuck D)rt 1; <u= 4L c) ch th*c hi+n th0


c3ng gi.ng nh gii thut kh"ng + qui2 nhng t, kh"ng kim
-ot [t,ck m cho qu t/0nh gNi + qui t* t'o /, [t,ck!
a Mh )ng t/0nh=
AoiC PoItVint R2 int q2int /W
int t:mp\
int iSq\
int S/\
int x S RVqU/W ^ T \ ^^ ?5y ph9n tt gi8, cK, &|y c9n -p
thJ t* lm ch.t
&o
^^ ih<n o'n &|y con ,q 2!!!2 ,/
]hil: VRi c xW iUU\ ^^T0m ph9n tt 9u tiPn c t/ ln
h)n h,y bng x
]hil: VR b xW ((\ ^^T0m ph9n tt 9u tiPn c t/
nhY h)n h,y bng x
i VicSW ^^ Foi cho Ri 4oi R
t:mp S Ri\
Ri SR\
R S t:mp\
iUU \ ((\

]hil: VicSW\
i VqcW ^^ ph9n thJ nh5t c tx T ph9n tt t/E lPn
[o/tVR2q2W\
i Vic/W ^^ ph9n thJ b, c tx T ph9n tt t/E lPn
[o/t VR2i2/W\
~k
K thut lp trnh

AoiC 7ui=,PoItVint R2 int nW


[o/tV R2f2n(CW\ ^^ eNi hm [o/t 4i ph9n tt 9u c ch#
-. f n ^^ ph9n tt cu.i c7ng c ch# -. n(C

III. Tm ,i\m tI+n m$n' )N ={ thW tM:
ei -t &|y -. cK, t, l &|y -. | c thJ t* tqng &9n2 4 x l
gi t/ c9n t0m! Mc hm t0m kim -n t/ 4L t/ (C nu kh"ng
c x t/ong &|y2 ngc l'i cc hm t0m kim -n t/ 4L ch# -. cK, x
t/ong &|y!
III.1. T8m (iEm nhanh 14ng 6h <ng 6h6 %6:
( 6i &ung= Fo &|y -. | c thJ t* tqng &9n2 nPn nu t, t0m
c ph9n tt 9u tiPn c t/ 4x, ln h)n x th0 t, c th kt
lun &|y -. kh"ng chJ, t/ x! Q0 4y2 t, -n /;t ngn thBi gi,n
t0m kim!
( eii thut=
int [:,/chVint R2 int n2 int xW
int iSf\
]hil: Vicn Ri c xW
iUU\
/:tu/n Vicn RiSSx i = (CW \

4oi& m,inVW
int -o24it/i\
-i:S 6h,p&,y-oVm,ngW\
_uick[o/tVm,ng2-i:W\
?i:tk:Vei, t/i m,ng &, &uoc -,p =2m,ng2-i:W\
p/intVnei, t/i muon tim =W\
-c,nV&2-oW\
4it/i S [:,/chVm,ng2-i:2 -oW\
i V4it/i S(CW
p/intVQi t/i cu, -o & t/ong &,y S &2-o24it/iW\
:l-: p/intV Dhong co -o & t/ong &,y2-oW\
g:tchVW\
~m
K thut lp trnh

III.. #hI6 t8m (iEm nh= 6h$n:


( 6i &ung=
Hc C= ih'm 4i t0m kim b,n 9u l ton b &,nh -ch!
Hc T= ?5y ph9n tt chAnh gi8, cK, ph'm 4i t0m kim VgNi
l yW -o -nh 4i x!
6u xSy th0 t, | t0m th5y2 t/ 4L ch# -.! eii
thut kt th;c
6u x c y th0 ph'm 4i t0m kim mi l cc ph9n tt
nm phA, t/c cK, y!
6u x b y th0 ph'm 4i t0m kim mi l cc ph9n tt
nm phA, -,u cK, y!
Hc g= 6u c%n t@n t'i ph'm 4i t0m kim th0 l>p l'i bc T2
ngc l'i gii thut kt th;c 4i kt qu l kh"ng c x t/ong &|y
-.!
( eii thut=
int Hin,/y[:,/chVint R2 int n2 int xW
un-ign:& ch,/ oun&SR?[Z\ ^^ ei -t b,n 9u t, ch, t0m
th5y x t/ong &|y
^^ ih'm 4i b,n 9u t0m kim l tx kSf
m S n(C
int kSf\
int mSn(C\
int \
]hil: VkcSm oun&W
SVkUmW ^T\ ^^ch# -. ph9n tt gi8,
i VRSSxW
oun&ST`}Z\
:l-: i VxbRW kSUC\ ^^ ih'm 4i t0m mi l VUC2
mW
:l-: mS(C\ ^^ ih'm 4i t0m mi l Vk2 (CW

/:tu/n Voun& = (CW \

III.!. #hI6 t8m (iEm nh= 6h$n qui:


~s
K thut lp trnh
( 6i &ung= t)ng t* nh t/Pn
Hc C= ih'm 4i t0m kim b,n 9u l ton b &,nh -ch
VkSfmSn(CW!
Hc T= ?5y ph9n tt chAnh gi8, cK, ph'm 4i t0m kim VgNi
l yW -o -nh 4i x!
6u xSy th0 t, | t0m th5y2 t/ 4L ch# -.! eii
thut kt th;c
6u x c y th0 ph'm 4i t0m kim mi l cc ph9n tt
nm phA, t/c cK, y2 nPn t, gNi + qui 4i ph'm 4i mi l Vk2(CW
6u x b y th0 ph'm 4i t0m kim mi l cc ph9n tt
nm phA, -,u cK, y2 nPn t, gNi + qui 4i ph'm 4i mi l
VUC2m W
GiLu ki+n &xng= xSy ho>c k b m!
( eii thut=
int Hin,/y[:,/chTVint R2 int k2int m2 int xW
int SVkUmW ^T\
i VkbmW /:tu/n (C \
:l-: i VRSSxW /:tu/n \
:l-: Hin,/y[:,/chTVR2 VRcx UC=kW2 VR b x (
C=mW2xW\

~z
K thut lp trnh
?6i tH:
C! Mho mt &|y n -. th*c R =
,W T0m ph9n tt nhY nh5t cK, &|y -. R
bW T0m ph9n tt ln nh5t cK, &|y -. R
cW TAnh gi t/ t/ung b0nh cK, &|y -. R!
T! ri+n ,ng lu hnh cc tB gi5y b'c mffff2 Tffff2 Cffff2
mfff2 Tfff2 Cfff2 mff2 Tff2 Cff! 6u c x @ng2 hYi
/ng nPn chNn cc tB gi5y b'c no -. lng cc tB gi5y b'c l At
nh5t!
g! Qit ch)ng t/0nh nhp mt m, t/n -. nguyPn c kAch thc O
x 6! yn /,=
( T1ng cc ph9n tt cK, m, t/n
( [ cc ph9n tt &)ng2 ph9n tt <m2 ph9n tt f cK, m, t/n
( ih9n tt ln nh5t2 nhY nh5t cK, m, t/n
( Mc ph9n tt t/Pn Bng cho chAnh cK, m, t/n V4i O S
6 W
( T1ng cc ph9n tt t/Pn Bng cho chAnh cK, m, t/n V4i
O S 6 W
k! Mho T m, t/n 4u"ng RVn2nW 4 H Vn2nW =
( TAnh m, t/n t1ng M S RU H2
bit Mi2 S Ri2 U Hi2 2 i2 C2m
( TAnh m, t/n tAch F S R a H2
bit F i2 S A i k B k j
k
n
[ , ] * [ , ]

1
\ i2 S C!!n
m! T'o mt m:nu th*c hi+n cc c"ng 4i+c -,u=
,! 6hp &,nh -ch c kiu hNc 4iPn 4o mt mng2 moi hNc
4iPn c cc th"ng tin -,u= m,-o VintW2 hot:n Vchuoi t.i , gf
ku t*W2 phiV6RO^6}W2 im Vo,tW2 h'ng Vun-ign:& ch,/W! _u
t/0nh nhp -n &xng l'i khi m| -. nhp 4o l f!
b! ?i+t kP &,nh -ch hNc 4iPn /, mn h0nh th:o &'ng -,u=
O| -. rN 4 tPn ihi Gim r'ng
c! T0m kim mt hNc 4iPn t/ong &,nh -ch th:o m| -.2 4 in
/, cc th"ng tin c%n l'i cK, hNc 4iPn !
&! [p xp &,nh -ch hNc 4iPn th:o im tqng &9n!
~{
K thut lp trnh
:! Xp h'ng &,nh -ch hNc 4iPn th:o qui tc c7ng im th0
c7ng h'ng2 h'ng cK, hNc 4iPn -,u bng h'ng cK, nhm hNc
4iPn t/c cng -. ngBi cK, nhm hNc 4iPn t/c c7ng im!
! ei -t &,nh -ch hNc 4iPn | c thJ t* tqng &9n th:o
im\ 6hp thPm C hNc 4iPn -,o cho -,u khi nhp th0 &,nh
-ch 4n c%n c thJ t*!
g! Mp nht -t, 1i cc mu tin th:o m| -. V6hp m| -.2 -,u
hi+u ch#nh l'i hot:n2 ph,i2 imW!
h! ?o'i bY C hNc 4iPn /, khYi &,nh -ch &*, 4o m| -.!
s! ,W Qit ch)ng t/0nh t'o ngu nhiPn mt &|y -. Tffff -.
nguyPn c gi t/ tx f n ~~~~!
bW Gm -. l9n -o -nh cK, T gii thut t0m kim tu9n t* Vt/Pn
&|y -. ch, c thJ t*W 4 t0m kim nh ph<n Vt/Pn &|y -. |
c -p thJ t*W!
cW T/ong t/Bng hp &|y -. t/Pn l Tfffff -. nguyPn ph<n bi+t
khc nh,u t/ong miLn gi t/ C!!gfffff th0 t, t.i u gii
thut -p xp 4L m>t kh"ng gi,n 4 thBi gi,n nh th
no Mho bit thBi gi,n th*c thi cK, gii thut _uick [o/t 4
gii thut b'n ci >t!
z! Mho bit thBi gi,n th*c thi cK, T gii thut Hubbl: [o/t 4
_uick [o/t t/Pn &|y -. c -. ph9n tt kh ln!
{! ei -t t, | c C &|y -. th*c R tqng &9n! Qit gii thut thPm
C -. th*c x 4o &|y R -,o cho -,u khi thPm x th0 &|y 4n tqng
&9n
~! Qit hm x, t5t c cc ph9n tt c t/ bng x t/ong &|y -. R!
Cf! Qit ch)ng t/0nh tAnh im cK, mt lp=
( 6hp cc th"ng tin -,u cho moi hNc 4iPn = hot:n2
n,m-inh2 t/ung b0nh rDC2 t/ung b0nh rDT
( yn /, &,nh -ch cc hNc 4iPn cK, lp th:o thJ t* gim &9n
cK, GTH ton nqm
TH ton nqm S VTH rDC U TH rDTW^T
th:o mu -,u=
4ONH PCH i>" L:P ......
PTT Hp 2 T+n T? HK1 T? HK T? to6n
nm
Hn'
~~
K thut lp trnh
C
T
g
& u )=( Mc hNc 4iPn c7ng GTH th0 c7ng h'ng
( yn Cz hNc 4iPn t/Pn mt t/,ng mn h0nh
CC! Mho T &|y -. R c n ph9n tt 4 H c m ph9n tt 4i thJ t*
tqng &9n! r|y t/n T &|y -. t/Pn thnh C &|y mi M -,o cho -,u
khi t/n th0 M c3ng tqng &9n!
Cff
K thut lp trnh
CHNG Z CxN TR KPxINT9RL
I. 5NH NGH/O
Mon t/Y l mt kiu &8 li+u &7ng chJ, , ch#! Hin con
t/Y l mt bin chJ, , ch# cK, mt th*c th no 2 th*c
th l bin ho>c l hm!
Mon t/Y thBng c &7ng =
( T/ 4L nhiLu t/ tx hm qu, c) ch t/uyLn th:o th,m -.
th:o , ch# t/ong hm Vth,m -. h0nh thJc binW!
( T'o cc c5u t/;c &8 li+u phJc t'p nh &,nh -ch liPn kt 4
c<y nh ph<n!
( T/uyLn mng 4 chuoi gi8, cc hm kh thun li!
I.1. Khai 1o: Dh,i bo bin pi l con t/Y t/Y n mt -.
nguyPn!
int ;Him
?;c ny2 pi chim T byt:- chJ, , ch# cK, -. nguyPn
m n ,ng ch# n2 @ng thBi t/0nh biPn &ch cK, M c3ng
bit pi ,ng ch# n mt -. nguyPn V&o kh,i boW! G ,
mt gi t/ nguyPn 4o 47ng nh m pi ,ng t/Y n2 t, &7ng
l+nh= api S C\
QA &$=
4oi& m,inVW
int xSk2 ySCf\
int apx2 apy \ ^^ px2 py l cc bin con t/Y
px S x \ ^^ , , ch# cK, x2y 4o px 4 py
py S y\
apx S apx U apy\ ^^ tqng gi t/ cK, 47ng nh m px
,ng t/Y ti
^^ thPm y 2 t)ng )ng 4i x S xUy

Oinh hN, ch )ng t/0nh t/Pn t/ong b nh=


Hi
n
int xSk2
ySCf\
int apx2 apy\
pxSx\
pySy\
apx S apx U
apy\
x ~m
f
k k Ck
CfC
K thut lp trnh
~m
C
y ~m
T
Cf Cf Cf
~m
g
px ~mf ~mf
py ~mT ~mT
r0nh z!C! M) ch t/uy xu5t gi t/ qu, bin con t/Y!
T1ng qut=Diu abin\
I.. Tru"Nn =a chl cho hGm= T/ong C -. t/Bng hp t,
mu.n gEi , ch# cK, C bin x cho hm! 6hB 4o c) ch
t/uyLn th:o , ch# ny m hm c th t/ 4L nhiLu gi t/
cho ch)ng t/0nh gNi!
QA &$= rm hon 1i gi t/ cK, T bin x2 y
4oi& ho,n&oi Vint a,2 int abW
int t,m\
t,m S a,\
a, S ab\
ab S t,m\

4oi& m,inVW
int x2y\
p/int Vx2 y S W\
-c,n V& &2 x2 yW\
gi,oho,nVx2 yW\ ^^ T/uyLn , ch# cK, T bin x2y
cho hm ho,n&oi

II C= HhYH ton tI+n %i\n =on tI:
II.1. Ton tM =a chl U:
6u x l bin th"ng thBng2 x -n l , ch# cK, bin x
QA &$= o,t x2 ap\
x S mf\
CfT
K thut lp trnh
p S x\ ^^ -,i 40 p l bin con t/Y nPn t, 4it p S
x\
x S p\ ^^ -,i \ t, 4it x S ap\ l5y ni &ung
cK, p
II.. Ton tM n,i !ung ] :
6u p l point:/ th0 ap l ni &ung cK, n!
QA &$= int x2y2 ap\
x S mf\
p S x\ ^^ p chJ, , ch# cK, 47ng nh x
y S ap\ ^^ yS ap S mf 40 p chJ, , ch# cK, 47ng
nh x
QA &$= , ST\
p S ,\
b S VapW U U U g\ ^^ b Sm2 ap S g2 ,S g!
V 40 p t/Y ti , ch# , nPn ap tqng th0 , tqngW
T{m (i= ax l bin m x gi8 , ch#
x l , ch# cK, x nu x l bin th"ng th(
Bng
II.!. #hI6 c,ng trm 1iEn con trn /i m,t -. ngu"*n:
6u p l bin point:/ th0 pUn l , ch# cK, mt bin
mi cch n n bin th:o chiLu tqng2 c%n p(n th0 ngc l'i!
Ch> ):
( ihp cng con t/Y 4i mt -. nguyPn ch# c p &$ng t/Pn
mt &|y bin c7ng kiu
( Dh"ng c cng T point:/ 4i nh,u
( Dh"ng c nh<n2 chi,2 l5y & bin con t/Y 4i b5t k -. no
QA &$= ei -t t, c mng num-S Cf2Tf2gf2kf2mf! Qi+c
th,m kho ti num-i th*c ch5t l &7ng &'ng ku hi+u con t/Y2 40
khi biPn &ch2 t/0nh biPn &ch -n chuyn 1i ku hi+u mng
thnh ku hi+u con t/Y!
4oi& m,inVW
-t,tic int num- S Cf2Tf2gf2kf2mf\
o/ Vint i Sf\ icm\ iUUW
p/int V&n2 aVnum- U iWW\

Cfg
K thut lp trnh
L u = aVnum-UiW t)ng )ng 4i num-i
II.Z. #hI6 gn /G 6hI6 -o -nh:
B #hI6 gn= cc bin con t/Y c th gn cho nh,u 4i
iLu ki+n phi c7ng kiu
QA &$= int apC2 apT\
apC S Cf\
pT S pC\ ^^ l;c ny apT S Cf\
B #hI6 -o -nh= t, c th -o -nh T bin con t/Y x:m c
c7ng , ch# h,y kh"ng2 )ng nhiPn T bin con t/Y
phi c7ng kiu 4i nh,u!
II.[. eA chu"2n (i2u:
M; php= V DiuW atPnbin
QA &$= int apC2 num \
o,t apT\
num Sm\
pC S num\
apT S Vo,t W apC\ ^^ a pT S m!f
QA &$= int num2 ap2 n\
ch,/ c\
p S num\
ap S ~z\ ^^ num S~z
n S ap\ ^^ nS~z
c S Vch,/W ap\ ^^ c S h,j
Ch> ): G, ch# cK, mt bin c x:m nh mt con t/Y
hng2 &o n kh"ng c php gn2 tqng ho>c gim!
QA &$= int num2 ap2 n\
p S num\
p UU\ ^^ ;ng
V numW UU\ ^^ -,i
con t/Y hng
II.a. Khai 1o m,t con trn h4ng /G con trn chl En .i
t Lng h4ng:
,! Con trn h4ng:
Diu a con-t p S gi t/\
Cfk
K thut lp trnh
b! Con trn chl En .i tLng h4ng:
Diu con-t ap S gi t/ hng\
ho>c Mon-t kiu ap S gi t/ hng\
QA &$= ch,/ acon-t pT S RHMF
con-t ch,/ apCS RHMF
pT U U \ ^^ -,i
pC U U \ ^^ ;ng\ apCS hHj \ pC S HMF
III. PM t 3n' ]u0n 'i10 =on tI A6 m$n'
QA &$= T, c mng R nh -,u=
int RCf 2 ap\
th0 R S Rf
6u p S R th0 t/uy xu5t ti ph9n tt thJ i cK, mng R2 t, c
cc cch -,u=
Ri aVR U iW aV p U iW
Ri VR U iW Vp Ui W
QA &$= 6hp mng R=
int RCf 2 ap2 i\
p S R\
o/ Vi S f\ ic ~\ iUUW
-c,n V&2 pUi W\
Xu5t mng R=
o/ Vi S f\ ic ~\iUUW
p/int V&2 aVpUiWW\
QA &$= [p xp mng bng cch th,m kho con t/Y!
con-t n SCf \
int 0nk ;Hm
4oi& m,inVW
int 2t:mp\
cl/-c/VW\
Hr0m
p/intV6h,p &,y -o R =nW\
o/ Vint iSf\ icn\ iUUW
p/intVR& S 2iUCW\
-c,nV&2pUiW\
Cfm
K thut lp trnh

^^ [,p x:p m,ng R th:o gi,i thu,t Hubbl: [o/t
o/ V iSC\ icn\ iUUW
o/ VSn(C\ bSi\ ((W
i VaVpU(CW b aVpUWW
t:mp S aVpUW\
aVpUW S aVpU(CW\
aVpU(CW S t:mp\

p/intVn O,ng R -,u khi -,p x:p =nW\
o/ V iSf\ icn\ iUUW
p/intV{&2aVpUiWW\

a G.i 4i mng T chiLu=


6u t, kh,i bo = Diu , Cf Tf 2 ap\ th0 mng , c
&'ng=
, f C T g !!!!! C{ C~
f
C
T
g
,i
!
~
9hn [It:
, S ,ff S ,f
,i S ,if
,i ni &ung cK, " i!
Qi p S , th0 t/uy xu5t ti " ,i =
,i S aVaVpUiW UW
,i S VaVpUiW UW
QA &$=6u t, c int ,km S
C2T2g2k2m2 T2g2k2m2s2 g2k2m2s2z 2 k2m2s2z2{ \
th0 =
( , l , ch# cK, ton b mng Vgi -t l CfffW
Cfs
K thut lp trnh
( Fo , l mng nguyPn nPn moi ph9n tt chim T byt:-2 4
moi &%ng cK, mng -n chim Cf byt:-!
( T/0nh biPn &ch cK, M bit -. ct V&o kh,i boW nPn n -n
hiu ,UC l :m Cfff U Cf byt:-2 kt qu l CfCf l ,
ch# cK, &%ng thJ T t/ong ,! T)ng t*2 CfTf l l , ch#
cK, &%ng thJ g t/ong ,!
, f C T g k
Cff
f
C T g k m
CfC
f
T g k [ s
CfT
f
g k m s z
Cfg
f
k m s z {
?;c ny= ,C h,y ,UC l , ch# cK, &%ng thJ T t/ong
mng T chiLu ,!
T, c = aV,UCW SS CfCf ^^ , ch# cK,
ph9n tt 9u tiPn t/Pn &%ng C
aV,UCWUg SS CfCs ^^ , ch# cK, ph9n tt c
ch# -. g t/Pn &%ng C
aVaV,UCWUgWSSm ^^ ni &ung cK, ph9n tt ,Cg
-:m l+= 0i r ;K;K0iLL
T, c%n c mt cch khc t/uy xu5t ti ,i =
N\u = Diu ,n
f
n
C
!!! n
m
2 ap\
p S ,\
th , i
f
i
C
!!! i
m
S aVaVaVpUi
f
W U i
C
W U !!!i
m
W
Ch> ):
1. eA (hc nhau gi:a con trn /G m?ng:
( Hin con t/Y th0 c th tqng2 gim ho>c gn c%n bin
mng l mt con t/Y hng &o kh"ng th tqng2 gim ho>c
gn!
( T, c th l5y , ch# cK, con t/Y nhng kh"ng th l5y ,
ch# cK, mng 40 bn th<n mng | l , ch#!
( Dhi t, kh,i bo mt mng th0 ch)ng t/0nh &ch -n c5p pht
mt 47ng nh cho n!
Cfz
K thut lp trnh
QA &$ C= Diu ,mf
T/ong b nh =
f C T k~

,
( Hin con t/Y khi c kh,i bo th0 ch# c c5p mt " nh
m ni &ung cK, n chng bit ch# n <u
QA &$ T= ,C xc nh thnh ph9n thJ T
pUC = ni &ung kh"ng xc nh
phi c p S , p ch# ti ,
( 6u t, mu.n t'o mt mng bng con t/Y th0 t, phi xin
c5p pht mt 47ng nh bng hm m,lloc VW
QA &$= int ap\
p S VintW m,loc V Cfa -i:oVintWW\
T/ong b nh=
f C T ~
p
QA &$= int ap\
p S m,lloc VCfa -i:o VintWW\
o/ViSf\ ic Cf\ iUUW
-c,n V&2 pUiW
( G lo'i bY 47ng nh c c5p cho con t/Y t, &7ng hm /::
VpW
. eA (hc nhau gi:a tham -. ca hGm %G m?ng /G .i
-. %G 6ointQr:
rm Vkiu ,W rm Vkiu apW
Mh; u=
6u= Diu ,mfgf2 ap\
pS ,\
th0 rm VDiu ,gfW rm VDiu apW
!. H6m tI$ A ,i>u =on tI:
Diu ahm V.i-.W
Cf{
K thut lp trnh
QA &$=
ch,/ a-t/c,t Vch,/ -C2 ch,/ -TW
int iSf2Sf\
]hil: V -CiSf W iUU\
]hil: V V-CiUU S -TUUW Sf W \
/:tu/n -C \

IV. Con tI A6 =hugi


IV.1. Khai 1o: G kh,i bo - l C chuoi ku t* 4 p l con t/Y
t/Y n C chuoi ku t*2 t, 4it nh -,u=
ch,/ - mf\
ch,/ ap\
G khEi t'o C chuoi t/ong c T t/Bng hp=
-t,tic ch,/ - S RHMF\
ch,/ ap S RHMF\
?;c ny2 nu t,= put- VpW \ ^^ RHMF
put- VUUpW \ ^^ HMF
IV.. \It m,t -. / !0 /N cc hGm [M %) chuCi
0. FGm etrc6": [,o chp chuoi ku t* tx -ou/c: qu, &:-t!
f C T g k m
-ou/c
:
R H M F Z f
&:-t
inclu&: c-t&io!hb
inclu&: cconio!hb
4oi& -t/cpy Vch,/ &:-t2 ch,/ -ou/c:W
int iSf\
]hil: VV&:-tiUU S -ou/c:iW SfW\

4oi& m,inVW
ch,/ -/c-t/Sro,ng Q,n\
ch,/ &-t-t/Tf\
Cf~
K thut lp trnh
-t/cpyV&-t-t/2-/c-t/W\
p/intVn-2 &-t-t/W\

Qit l'i hm -t/cpy bng con t/Y=


4oi& -t/cpy Vch,/ a&:-t2 con-t ch,/ a-ou/c:W
]hil: VV a&:-t S a-ou/c:W ShfjW
&:-t UU\
-ou/c: UU\

%. FGm etrcm6 OR = &7ng -o -nh T chuoi -C2 -T 4i


nh,u!
int -t/cmp Vch,/ -C 2 ch,/ -T W\
int iS f\
]hil: V-Ci SS -TiW
i V-Ci SS hfjW
/:tu/n f\
iUU\

/:tu/n V-Ci( -TiW\

Mi >t l'i bng con t/Y=


int -t/cmp Vch,/ a-C2 con-t ch,/ a-TW\
]hil: Va-C SS a-TW
i Va-C SS hfjW/:tu/n f\
a-CUU\
a-TUU\

/:tu/n Va-C ( a-TW

=. FGm -trcat: n.i chuoi -T -,u chuoi -C


ch,/ a-t/c,t Vch,/ -C2ch,/ -TW
int iSf2Sf\
]hil: V -CiSf W iUU\
]hil: V V-CiUU S -TUUW Sf W \
/:tu/n -C \
CCf
K thut lp trnh

Mi >t l'i bng con t/Y=


ch,/ a-t/c,t Vch,/ a-C2 con-t ch,/ a-TW
ch,/ ap\
pS-C\
]hil: V a-CSf W
-C UU\
]hil: V Va-CSa-TW Sf W
-C UU\ -T UU\

/:tu/n p \

!. FGm -trchr= t/ 4L , ch# cK, ku t* c t/omg chuoi -!


inclu&: c-t&io!hb
inclu&: cconio!hb
ch,/ a-t/ch/ Vch,/ -2 ch,/ cW
int iSf\
]hil: V -iSc -iSf W
iUU\
i V -i S cW /:tu/n Vch,/ aWf\
:l-: /:tu/n -i \

Mi >t l'i bng con t/Y=


ch,/ a-t/ch/ Vch,/ a-2 ch,/ cW

]hil: V a- Sc a-Sf W
-UU\
i V a- S cW /:tu/n Vch,/ aWf\
:l-: /:tu/n - \

ch,/ -t/SDy \
4oi& m,inVW
ch,/ a4t\
4tS-t/ch/V-t/ 2yW\
i V4tSS6}?? W
p/intVDhong co ky tu t/ong chuoi W\
CCC
K thut lp trnh
:l-: p/intVnQi t/i S&2 4t(-t/UCW\
g:tchVW\

IV.!. +?ng con trn chl En chuCi


n Khai 1o: G kh,i bo C mng con t/Y ch# n chuoi2 4A
&$ nh &,nh -ch hN tPn2 t, 4it nh -,u=
ch,/ a &-mS ^^ mng chuoi &-mz
ro,ng2 Q,n2 Mhi2 6goc2 6guy:t
6u t, khEi t'o mng m kh"ng &7ng con t/Y th0 lng " nh
c5p pht cho moi ph9n tt cK, mng Lu bng 4i -. ku t* cK,
chuoi &i nh5t\ T/ong khi 2 nu khEi t'o bng mng con t/Y
nh t/Pn th0 lng " nh -n c5p pht 4x, K cho txng ph9n tt cK,
mng!
&-f r o , n g f
&-C Q , n f
&-T M h i f
&-g 6 g o c f
&-k 6 g u y : t f
r0nh g!T! Ong con t/Y t/Y n chuoi
&-f r o , n g f
&-C Q , n f
&-T M h i f
&-g 6 g o c f
&-k 6 g u y : t f
r0nh g!g! Ong cc chuoi
a Xt lu con t/Y n chuoi= xt 4A &$ -p xp &,nh -ch hN
tPn th:o ch# m$c=
inclu&: cconio!hb
inclu&: c-t&io!hb
inclu&: c-t&lib!hb
inclu&: c-t/ing!hb
4oi& m,inVW
con-t [y[ORX S mf\
ch,/ &-[y[ORXgf\ ^^ m,ng chuoi
CCT
K thut lp trnh
ch,/ ap[y[ORX\ ^^m,ng con t/o &:n chuoi
ch,/ at,m\
ch,/ -i-oT\
int i22n\
cl/-c/VW\
gotoxyVCf2TW\ p/intV6h,p -i -o lop=W\
g:t-V-i-oW\
nS ,toiV-i-oW\
o/ ViSf\ icn\ iUUW
p/intVro t:n hoc 4i:n thu & =2iUCW\
g:t-V&-iW\
pi S &-i\ ^^ l5y , ch# cK, chuoi hN tPn t/ong &-
,
^^ 4o mng con t/Y p

o/ ViSf\ icn(C\iUUW
o/ VSiUC\ cn\ UUW
i V -t/cmpVpi2pW bfW
t,m S pi\
pi S p\
p S t,m\

p/intVn F,nh -,ch ho t:n -,u khi -,p x:pnW\
o/ ViSf\ icn\iUUW
p/intV-n2 piW\

? u u= Mh)ng t/0nh t/Pn th*c ch5t t, ch# hon 1i gi t/


cK, mng con t/Y p chJ mng chuoi &- 4n nh c3!
Hi tp=
C! [p xp l'i &,nh -ch hNc 4iPn th:o thJ t* hN tqng &9n
bng con t/Y!
T! [p xp l'i &,nh -ch hNc 4iPn th:o thJ t* tPn tqng &9n2
nu t/7ng tPn th0 -p th:o hN bng con t/Y!
g! [p xp l'i &,nh -ch hNc 4iPn th:o thJ t* tPn tqng &9n2
nu t/7ng tPn th0 -p th:o hN bng mng chuoi!
CCg
K thut lp trnh CCk
K thut lp trnh
CHNG [ CC TH8T TxN TR~N CF8 TRlC
4ONH PCH LI~N K\T KLINK94 LIPTL
I. Khi nim:
M5u t/;c &,nh -ch liPn kt l c5u t/;c ng2 4i+c c5p pht
n;t 4 gii phng n;t t/Pn &,nh -ch xy /, khi ch)ng t/0nh
,ng ch'y! T, thBng c5p pht n;t cho &,nh -ch liPn kt bng
bin ng!
Mc ph9n tt -n c c5p pht 47ng nh t/ong qu t/0nh th*c
thi ch)ng t/0nh2 &o ch;ng c th nm /i /c E nhiLu n)i
khc nh,u t/ong b nh Vkh"ng liPn t$cW !
3

i/-t 1

2

4

Mc ph9n tt t/ong &,nh -ch c kt n.i 4i nh,u th:o ch7m
liPn kt nh h0nh t/Pn=
( i/-t l con t/Y ch# n ph9n tt 9u cK, &,nh -ch liPn
kt
( ih9n tt cu.i cK, &,nh -ch liPn kt 4i 47ng liPn kt c gi
t/ 6}??
(Ooi n;t cK, &,nh -ch c t/Bng ino chJ, ni &ung cK, n;t
4 t/Bng n:xt l con t/Y ch# n n;t k tip t/ong &,nh -ch!
a & u )=
( M5u t/;c &,nh -ch liPn kt l c5u t/;c ng2 cc n;t c
c5p pht ho>c b gii phng khi ch)ng t/0nh ,ng ch'y!
CCm
Nil
First

K thut lp trnh
( F,nh -ch liPn kt /5t thAch hp khi th*c hi+n cc php
ton t/Pn &,nh -ch thBng b bin ng! T/ong t/Bng hp x,
h,y thPm ph9n tt t/ong &,nh -ch liPn kt th0 t, kh"ng &Bi cc
ph9n tt i nh t/ong mng m ch# 4i+c hi+u ch#nh l'i t/Bng
n:xt t'i cc n;t ,ng th,o tc! ThBi gi,n th*c hi+n cc php
ton thPm 4o 4 lo'i bY kh"ng ph$ thuc 4o -. ph9n tt cK,
&,nh -ch liPn kt!
( Tuy nhiPn2 &,nh -ch liPn kt c3ng c cc im h'n ch
-,u=
U Q0 moi n;t cK, &,nh -ch liPn kt phi chJ, thPm t/Bng
n:xt nPn &,nh -ch liPn kt phi t.n thPm b nh!
U T0m kim t/Pn &,nh -ch liPn kt kh"ng nh,nh 40 t,
ch# c t/uy xu5t tu9n t* tx 9u &,nh -ch!
Dh,i bo = Ot ph9n tt cK, &,nh -ch liPn kt At nh5t phi
c h,i thnh ph9n = ni &ung cK, ph9n tt VinoW 4 thnh ph9n
n:xt liPn kt ph9n tt ny 4i ph9n tt khc!
ei -t t, kh,i bo kiu 6FZiT` l kiu con t/Y ch# n
n;t t/ong C &,nh -ch liPn kt2 moi ph9n tt c T thnh ph9n =
ino VintW 4 n:xt !
-t/uct no&:
int ino \
-t/uct no&: an:xt \
\
typ:&: -t/uct no&: a6FZiT`\
( G kh,i bo bin i/-t qun lu &,nh -ch liPn kt t, 4it
nh -,u=
6FZiT` i/-t\
( DhEi t'o &,nh -ch liPn kt = i/-t S 6}??\
( ehi ch; =
Thnh ph9n chJ, ni &ung c th g@m nhiLu 47ng 4i cc
kiu &8 li+u khc nh,u!
Thnh ph9n liPn kt c3ng c th nhiLu h)n mt nu l
&,nh -ch , liPn kt ho>c &,nh -ch liPn kt kp!
i/-t l con t/Y t/Y n ph9n tt 9u tiPn cK, &,nh -ch
liPn kt2 n c th l kiu con t/Y Vnh kh,i bo t/PnW2 4
c3ng c th l mt -t/uct c h,i thnh ph9n= i/-t t/Y
CCs
K thut lp trnh
n ph9n tt 9u tiPn cK, &,nh -ch liPn kt2 4 ?,-t t/Y
n ph9n tt cu.i cK, &,nh -ch liPn kt!
-t/uct ?ink:&?i-t\
i/-t 6FZiT`\
?,-t 6FZiT`\
\
II. M = HhYH ton tI+n C0nh V=h (i+n ,\t:
II.1. To !anh -ch:
,! DhEi t'o &,nh -ch Vyniti,li:W= &7ng khEi ng mt
&,nh -ch liPn kt2 cho ch)ng t/0nh hiu l hi+n t'i &,nh -ch
liPn kt ch, c ph9n tt!
4oi& yniti,li:V6FZiT` i/-tW

i/-t S 6}??\

b! M5p pht 47ng nh V6:]6o&:W= c5p pht mt n;t cho


&,nh -ch liPn kt! rm 6:]6o&: ny t/ 4L , ch# cK, n;t
4x, c5p pht!
T/ong ch)ng t/0nh c -t &$ng hm m,lloc Vt/ong
c,lloc!hbW 2 hm ny c5p pht mt kh.i nh tAnh th:o byt: tx
b nh h:,p! 6u c5p pht thnh c"ng2 hm m,lloc t/ 4L ,
ch# cK, 47ng nh 4x, c5p pht2 ngc l'i n -n t/ 4L 6}??!
6FZiT` 6:]6o&:VW

6FZiT` p\
p S V6FZiT`Wm,llocV-i:oV-t/uct no&:WW\
/:tu/n VpW\

c! ThPm 4o 9u &,nh -ch Vyn-:/ti/-tW= thPm mt n;t c


ni &ung x 4o 9u &,nh -ch liPn kt!
4oi& yn-:/ti/-t V6FZiT` i/-t2 int xW

6FZiT` p\
p S 6:]6o&:VW\
p(bino S x\
CCz
K thut lp trnh
p(bn:xt S i/-t\
i/-t S p\

&! ThPm n;t mi 4o -,u n;t c , ch# p Vyn-:/tRt:/W=


thPm mt n;t c ni &ung x 4o -,u n;t c , ch# p t/ong
&,nh -ch liPn kt i/-t!
4oi& yn-:/tRt:/V6FZiT` p2 int xW

6FZiT` q\
iVp SS 6}??W
p/intVkhong th:m nut moi 4,o &,nh -,ch &uocW\
:l-:

q S 6:]6o&:VW\
q(bino S x\
q(bn:xt S p(bn:xt\
p(bn:xt S q\

CC{
K thut lp trnh
II.. C6 nht !anh -ch:
,! eii phng 47ng nhV/::6o&:W= rm ny &7ng hKy
n;t | c5p pht2 4 t/ 47ng nh 4L l'i cho m:mo/y h:,p!
4oi& /::6o&:V6FZiT` pW

/::VpW\

b! Dim t/, &,nh -ch liPn kt /ong h,y kh"ng VZmptyW=


hm Zmpty t/ 4L T`}Z nu &,nh -ch liPn kt /ong2 4 ngc
l'i!
int ZmptyV6FZiT` i/-tW

/:tu/nVi/-t SS 6}??W\

c! X, ph9n tt 9u cK, &,nh -ch VF:l:t:i/-tW= mu.n


x, C ph9n tt khYi &,nh -ch liPn kt th0 t, phi kim t/, x:m
&,nh -ch c /ong h,y kh"ng! 6u &,nh -ch c ph9n tt th0
mi x, c!
int F:l:t:i/-t V6FZiT` i/-tW
6FZiT` p\
i VZmptyVi/-tWW
/:tu/n f\
:l-:

p S i/-t\ ^^ nut c,n xo, l, nut &,u
i/-t S p(bn:xt\
/::6o&:VpW\
/:tu/n C\

&! X, ph9n tt Jng -,u n;t c , ch# p VF:l:t:Rt:/W=


int F:l:t:Rt:/V6FZiT` i/-t2 6FZiT` ?,-t2 6FZiT`
pW
6FZiT` q\
^^ nu p l 6}?? ho>c -,u p kh"ng c n;t
CC~
K thut lp trnh
iVVp SS 6}??W Vp(bn:xt SS 6}??WW
/:tu/n f\
q S p(bn:xt\ ^^ q chi nut c,n xo,
p(bn:xt S q(bn:xt\
/::6o&:VqW\
i Vp(bn:xtSS6}??W ?,-tSp\

:! X, ton b &,nh -ch VF:l:t:RllW= t, c th -t &$ng


l+nh ai/-t S 6}?? x, ton b &,nh -ch2 nhng t/ong b
nh2 cc 47ng nh | c5p pht cho cc n;t kh"ng gii phng 4L l'i
cho m:mo/y h:,p2 nPn -n l|ng phA 47ng nh! Fo 2 t, -t &$ng
gii thut -,u=
4oi& F:l:t:Rll V6FZiT` i/-tW
6FZiT` p\
]hil: Vi/-t S 6}??W
pSi/-t\
i/-t S i/-t(bn:xt\ ^^ ho>c i/-t S p(bn:xt
/::6o&:VpW\

II.!. ou"t !anh -ch: Th"ng thBng t, h,y &uy+t &,nh -ch
liPn kt th*c hi+n mt c"ng 4i+c g0 2 nh li+t kP &8 li+u
t/ong &,nh -ch h,y m -. n;t t/ong &,nh -ch!!!
4oi& T/,4:/-:V6FZiT` i/-tW
6FZiT` p\
int -tt S f\
p S i/-t\
iVp SS 6}??W
p/intVn VDhong co -inh 4i:n t/ong &,nh -,chWW\
]hil:Vp S 6}??W

p/intVn m&{&2 -ttUU2 p(binoW\
p S p(bn:xt\

II.Z. T8m (iEm KPR0I=hL: T0m n;t 9u tiPn t/ong &,nh


CTf
K thut lp trnh
-ch c ino bng 4i x! Fo <y l &,nh -ch liPn kt nPn t,
phi t0m tx 9u &,nh -ch!
rm [:,/ch nu t0m th5y x t/ong &,nh -ch th0 t/ 4L
, ch# cK, n;t c t/ bng x t/ong &,nh -ch2 nu kh"ng c
th0 t/ 4L t/ 6}??!
6FZiT` [:,/chV6FZiT` i/-t2 int xW

6FZiT` p\
p S i/-t\
]hil:Vp S 6}?? p(bino S x W
p S p(bn:xt\
/:tu/n VpW\

II.[. PdH E\H K[:l:ction[o/tW= -p xp &,nh -ch liPn kt


th:o thJ t* ino tqng &9n!
( 6i &ung= T, -o -nh t5t c cc ph9n tt cK, &,nh -ch
chNn /, mt ph9n tt nhY nh5t , 4L 9u &,nh -ch\ -,u 2
tip t$c chNn ph9n tt nhY nh5t t/ong cc ph9n tt c%n l'i ,
4L ph9n tt thJ h,i t/ong &,nh -ch! _u t/0nh ny l>p l'i cho
n khi chNn /, c ph9n tt nhY thJ Vn(CW!
( eii thut=
4oi& [:l:ction[o/tV6FZiT` i/-tW
6FZiT` p2 q2 pmin\
int min\
o/Vp S i/-t\ p(bn:xt S 6}??\ p S p(bn:xtW
min S p(bino\
pmin S p\
o/Vq S p(bn:xt\ q S 6}??\ q S q(bn:xtW
iVmin b q(binoW

min S q(bino\
pmin S q\

^^ ho,n &oi t/uong ino cu, h,i nut p 4, pmin


pmin(bino S p(bino\
p(bino S min\
CTC
K thut lp trnh

CTT
K thut lp trnh
?6i tH:
C! Qit ch)ng t/0nh t'o mt m:nu th*c hi+n cc c"ng 4i+c -,u=
,! 6hp &,nh -ch liPn kt th:o gii thut thPm 4L 9u &,nh
-ch2 moi ph9n tt g@m c cc th"ng tin -,u= m--4 VintW2 4
hot:n V ch,/ hot:ngf W!
b! ?i+t kP &,nh -ch /, mn h0nh
c! Mho bit t1ng -. n;t t/ong &,nh -ch liPn kt2 >t tPn
hm l `:ccount
V int `:ccountV6FZiT` i/-tW W
&! ThPm C ph9n tt c ni &ung ino Vm--42 hot:nW 4o -,u
ph9n tt c thJ t* thJ i t/ong &,nh -ch!
ehi ch;= ( ThJ t* th:o qui c bt 9u l C
( 6u Vi cS fW thPm 4o 9u &,nh -ch
6u i b `:ccountVi/-tW th0 thPm 4o cu.i &,nh -ch!
:! yn /, hN tPn cK, -inh 4iPn c m| &o t, nhp 4o!
! ?o'i bY n;t c m| &o t, nhp 4o2 t/c khi x, hYi l'i H'n
tht -* mu.n x, V^6W
g! [p xp l'i &,nh -ch th:o thJ t* m| -. gim &9n!
h!ehi ton b &,nh -ch 4o l: tPn F[[Q!FRT
i! 6'p &,nh -ch tx l: F[[Q!FRT 4o &,nh -ch liPn kt! 6u
t/ong &,nh -ch liPn kt | c n;t th0 x, t5t c &8 li+u
hi+n c t/ong &,nh -ch liPn kt t/c khi , &8 li+u tx l:
4o!
T! Qit ch)ng t/0nh t'o mt &,nh -ch liPn kt th:o gii thut
thPm 4o cu.i &,nh -ch2 moi n;t chJ, mt -. nguyPn!
g! (Qit hm tPn F:l:t:6o&: x, n;t c , ch# p!
( Qit mt hm lo'i bY t5t c cc n;t c ni &ung x t/ong &,nh
-ch liPn kt i/-t!
k! Qit hm Mopy?i-t t/Pn &,nh -ch liPn kt t'o /, mt
&,nh -ch liPn kt mi gi.ng &,nh -ch liPn kt c3!
m! ehp mt &,nh -ch liPn kt c , ch# 9u l i/-tT 4o
mt &,nh -ch liPn kt c , ch# 9u l i/-tC ng,y -,u
ph9n tt thJ i t/ong &,nh -ch liPn kt i/-tC!
s! Qit hm lNc &,nh -ch liPn kt t/nh t/Bng hp cc n;t
CTg
K thut lp trnh
t/ong &,nh -ch liPn kt b t/7ng ino!
z! Go ngc 47ng liPn kt cK, mt &,nh -ch liPn kt -,o cho=
( i/-t -n ch# n ph9n tt cu.i
( ih9n tt 9u c liPn kt l 6}??!
{! Qit hm ?:tT/,4:/-: V6FZiT` i/-tW &uy+t ngc
&,nh -ch liPn kt!
~! Qit gii thut tch mt &,nh -ch liPn kt thnh h,i &,nh
-ch liPn kt2 t/ong mt &,nh -ch liPn kt chJ, cc ph9n
tt c -. thJ t* ln 4 mt &,nh -ch liPn kt chJ, cc ph9n tt
c -. thJ t* chn t/ong &,nh -ch liPn kt c3!
Cf! ( T'o mt &,nh -ch liPn kt chJ, tPn hNc 4iPn2 im t/ung
b0nh2 h'ng cK, hNc 4iPn V4i iLu ki+n ch# nhp tPn 4
im t/ung b0nhW! _u t/0nh nhp -n &xng l'i khi tPn nhp
4o l /ong!
( Xp h'ng cho cc hNc 4iPn! yn /, &,nh -ch hNc 4iPn thJ t*
h'ng tqng &9n Vehi ch; = M7ng im t/ung b0nh th0 c7ng
h'ngW!
CC! 6hp h,i , thJc th:o &,nh -ch liPn kt! yn /, tAch
cK, h,i , thJc ny!
QA &$= G, thJc i/-tC = Tx
m
Ukx
T
(C
G, thJc i/-tT = Cfx
z
(gx
k
Ux
T
Dt qu in /, = Tfx
CT
U gkx
~
( {x
z
( CTx
s
U zx
k
( x
T
Vehi ch; = Dh"ng nhp 4 in /, cc -. h'ng c h+ -. bng fW
CT! Qit gii thut thPm ph9n tt c ni &ung x 4o &,nh
-ch liPn kt c thJ t* tqng &9n -,o cho -,u khi thPm &,nh
-ch liPn kt 4n c thJ t* tqng!
Cg! ?o'i bY ph9n tt c ni &ung l x t/ong &,nh -ch liPn
kt c thJ t* tqng &9n!
Ck! Mho T &,nh -ch liPn kt i/-tC2 i/-tT c thJ t* tqng
&9n th:o ino! Qit gii thut O:/g: t/n T &,nh -ch liPn
kt ny l'i -,o cho &,nh -ch liPn kt -,u khi t/n c3ng c
thJ t* tqng &9n!

CTk
K thut lp trnh
CH3NG a == thut ton tI+n =Fu tIl= =u
OTrQQR
M<y l mt c5u t/;c &8 li+u /5t th"ng &$ng 4 qu,n t/Nng
t/ong nhiLu ph'm 4i khc nh,u cK, k thut my tAnh!
QA &$ = T1 chJc cc qu,n h+ hN hng t/ong mt gi, ph2
m$c l$c cK, mt cu.n -ch2 x<y &*ng c5u t/;c 4L c; php
t/ong cc t/0nh biPn &ch!
T/ong ch)ng t/0nh ny2 ch;ng t, kho -t cc khi ni+m c)
bn 4L c<y2 cc php ton t/Pn c<y nh ph<n2 c3ng nh cc
php ton t/Pn c<y nh ph<n c<n bng V RQ? t/::W 4 Jng
&$ng cK, h,i lo'i c<y nh ph<n t0m kim VH[TW2 c<y nh
ph<n c<n bng V RQ? t/::W!
I. Phun (oi =uQ:
I.1. + ,t -. (hi nim c< 1?n:
C! CuQ= M<y l tp hp cc ph9n tt gNi l n;t2 mt n;t Vt(
)ng t* nh mt ph9n tt cK, &|yW c th c kiu b5t k! Mc n;t
c biu &iIn bEi C ku t* ch82 mt chuoi2 mt -. ghi t/ong mt
4%ng t/%n!
7,t s" 10nh ngh6a the) 1; <u.
Ot n;t )n c3ng chAnh l mt c<y!
Mc n;t c gNi l E c7ng mt c<y khi c Bng i gi8,
cc n;t ny!
Ot c<y -n b,o g@m mt n;t g.c V`ootW 4 m c<y con2
t/ong moi c<y con l'i c mt n;t g.c 4 m1 c<y con nhY
h)n 4!4!
Ot c<y kh"ng c mt n;t no c gNi l c<y /ong!
QA &$ C =
CTm
K thut lp trnh
A
B C
G H E
J
D
F
K I
1
2
3
4
6u*t goYc
r0nh m!C! M<y 4i n;t g.c l R
( R l n;t g.c 4i g c<y
con l9n lt c g n;t g.c
/iPng lJ H2 M2 F
( 6;t ch, (ancest)r)
6;t con (EescenEent)
R l n;t ch, cK, H2 M2 F
e2 r l n;t con cK, M
e2 r kh"ng qu,n h+ ch,
con 4i R

QA &$ T = Qi L c)ng mt m"n hNc T2 t, c th biu &iIn
&'ng c<y nh -,u =
T
CHNG I CHNG II CHNG III
I.1 I. II.1 II.! II.
II.1.1 II.1.
r0nh m!T
Mr)6e y
y!C
y!T
Mr)6e yy
yy!C
yy!C!C
yy!C!T
yy!T
yy!g
Mr)6e yyy
T! Nlt =h0 (Fncest)r) = 6;t Jng t/Pn cK, mt n;t c
gNi l n;t ch,
M l n;t ch, cK, e2 r
Nlt =on (EescenEent) = 6;t Jng -,u mt n;t khc c
gNi l n;t con cK, n;t !
6;t y2 2 D l n;t con cK, n;t Z
g! ?= (Eegree) =
( Hc cK, n;t l -. c<y con cK, n;t !
M c bc l T2 Z c bc l g Vr0nh m!CW
CTs
K thut lp trnh
( Hc cK, c<y l bc ln nh5t cK, cc n;t t/ong c<y!
M<y t/ong h0nh m!C c bc l g!
M<y bc n c gNi l c<y n ph<n nh c<y nh ph<n2
c<y t,m ph<n!
k! Nlt ( A6 nlt tIun' 'i0n=
( 6;t l l n;t c bc bng f VtJc l kh"ng c c<y con
noW =
( 6;t t/ung gi,n= l mt n;t c bc khc f 4 kh"ng phi
l n;t g.c!
QA &$= T/ong h0nh m!C2 H2 e2 r2 y2 2 D2 l n;t l
M2 F2 Z l n;t t/ung gi,n!
m! "W= =e0 nlt (le8el) = 6;t g.c c mJc l C
OJc cK, n;t con S mJc cK, n;t ch, U C
QA &$= t/ong h0nh m!C2
R c mJc l C
H2 M2 F c mJc l T
e2 r2 Z2 c mJc l g
y2 2 D c mJc l k
s! Chiu =0o =e0 =uQ (heght) = l mJc ln nh5t cK, cc
n;t l t/ong c<y!
QA &$= M<y t/ong h0nh m!C c chiLu c,o l k
z! ThW tM =e0 == nlt ()rEer )f n)Ees) = 6u c<y c gNi
l c thJ t* th0 phi m bo 4 t/A cK, cc n;t con tx t/i qu,
phi2 tJc l nu th,y 1i 4 t/A cK, mt n;t con b5t k th0 t,
| c mt c<y mi!
QA &$ =
A
B C
A
C B
c,py kh,*c
r0nh m!g= [,u khi 1i 4 t/A cK, T n;t H2 M t, | c c<y mi!
{! Chiu C6i ) on' )i KP0th (Rn'thL:
CTz
K thut lp trnh
n MhiLu &i Bng i cK, n;t x= l -. cc c'nh i tx n;t
g.c n n;t x!
QA &$= T/ong h0nh m!C=
6;t g.c R c chiLu &i Bng i l C
6;t H2 M2 F c chiLu &i Bng i l T
T1ng qut= mt n;t t'i mJc i c chiLu &i Bng i l i
( MhiLu &i Bng i cK, c<y= l t1ng cK, cc chiLu &i
Bng i cK, t5t c cc n;t t/ong c<y!
QA &$= MhiLu &i Bng i cK, c<y t/ong h0nh m!C l gC!
MhiLu &i Bng i t/ung b0nh cK, c<y=
n ^ W i !
n
V
i
i
i i

=
t/ong n
i
l -. cc n;t E mJc i 4 n l t1ng -. cc n;t
t/ong c<y!
I.. Cch 1i2u !i3n c$"= biu &iIn C c<y2 t, c nhiLu
cch nh biu &iIn bng @ th2bng gin @2 bng ch# -.!!
6hng th"ng thBng2 t, h,y &7ng &'ng @ th biu &iIn C
c<y nh h0nh m!C
I.!. Di2u !i3n thK tA cc n>t trong c$" :
Ot c<y thBng t1 chJc cc n;t th:o mt thJ t* nh5t nh
cqn cJ 4o mt ni &ung gNi l kh, cK, cc n;t! M th t1
chJc c<y c kh, tqng &9n th:o mJc tx t/i qu, phi nh 4A &$
-,u =
1
2 3
4
`oot
7 6 8
5
9
RxxT
CTgkmsz{~
6h 4y khi &uy+t l'i c<y
th:o mJc tqng &9n 4 tx t/i
qu, phi t, -n l'i c c thJ
t* cc n;t nh t/Pn!
r0nh m!k! M<y c thJ t* tqng &9n th:o mJc tx t/i qu, phi
II. CuQ nh5 Hhun ODinar" trQQR
CT{
K thut lp trnh
II.1. X=nh ngh@a :
C! CuQ nh5 Hhun l c<y c bc bng T2 tJc l -. n;t con
t.i , cK, mt n;t b5t k t/ong c<y l T!
M<y nh ph<n c th l mt c<y /ong Vkh"ng c n;t noW
ho>c c<y ch# c mt n;t2 ho>c c<y ch# c cc n;t con bPn
t/i V?:t Mhil&W ho>c n;t con bPn phi V`ight Mhil&W ho>c c
h,i!
QA &$= r0nh m!k l c<y nh ph<n!
T! C= =uQ nh5 Hhun )<= %it:
( M<y nh ph<n ;ng= Ot c<y nh ph<n c gNi l c<y
nh ph<n ;ng nu n;t g.c 4 t5t c cc n;t t/ung gi,n Lu
c T n;t con!
R
H
F Z
e
M
X
r y
r0nh m!m! M<y nh ph<n ;ng
ehi ch;= nu c<y nh ph<n ;ng c n n;t l th0 c<y ny
-n c t5t c Tn(C n;t!
( M<y nh ph<n 9y= Ot c<y nh ph<n gNi l c<y nh
ph<n 9y 4i chiLu c,o & th0=
! 6 phi l c<y nh ph<n ;ng 4
! T5t c cc n;t l Lu c mJc l &!
r0nh m!m kh"ng phi l c<y nh ph<n 9y
CT~
K thut lp trnh
R
H
F
r
y
Z
D
M

? O
e
6
r0nh m!s! M<y nh ph<n 9y!
ehi ch;= M<y nh ph<n 9y l c<y nh ph<n c -. n;t t.i
, E moi mJc!
( M<y nh ph<n t0m kim VHin,/y [:,/ch T/::W= Ot c<y
nh ph<n gNi l c<y nh ph<n t0m kim nu 4 ch# nu .i
4i mNi n;t cK, c<y th0 kh, cK, mt n;t b5t k phi ln h)n
kh, cK, t5t c cc n;t t/ong c<y con bPn t/i cK, n 4 phi
nhY h)n kh, cK, t5t c cc n;t t/ong c<y con bPn phi cK,
n!
QA &$=
8
7 9
3
12
11
10 2
1
5
4 6
k
1
<k
1
<k
1
r0nh m!z! M<y nh ph<n t0m kim VH[TW
( M<y nh ph<n c<n bng VRQ?W= Ot c<y nh ph<n c
gNi l c<y nh ph<n c<n bng nu 4 ch# nu .i 4i mNi n;t
cK, c<y th0 chiLu c,o cK, c<y con bPn t/i 4 chiLu c,o cK,
Cgf
K thut lp trnh
c<y con bPn phi h)n km nh,u nhiLu nh5t l C! VTh:o
R&:l-on(Q:l-ki 4 ?,n&i-W!
R
M
Z

H
F
e
y r
r0nh m!{! M<y nh ph<n c<n bng
( M<y nh ph<n c<n bng hon ton= Ot c<y nh ph<n
c gNi l c<y nh ph<n c<n bng hon ton nu 4 ch# nu
.i 4i mNi n;t cK, c<y th0 -. n;t cK, c<y con bPn t/i 4 -.
n;t cK, c<y con bPn phi h)n km nh,u nhiLu nh5t l C!
R
M
Z

H
F
y r
Z
r
r0nhm!~! M<y nh ph<n c<n bng hon ton
g! C= HhYH CuQt =uQ nh5 Hhun (-ra8erse) = l qu
t/0nh i qu, cc n;t ;ng mt l9n! Dhi &uy+t c<y2 t, thBng
&7ng g cch &uy+t c) bn -,u =
#rQor!Qr ( TiLn t* V6?`W &uy+t qu, n;t g.c t/c2 -,u
i qu, c<y con bPn t/i l'i p &$ng i/:o/&:/ cho c<y con bPn
t/i! Mu.i c7ng qu, c<y con bPn phi2 p &$ng i/:o/&:/ cho c<y
con bPn phi!
QA &$= Th:o c<y nh ph<n m!k2 t, c=
RxxT C T g k s z m { ~
Inor!Qr ( T/ung t* V?6`W = qu, c<y con bPn t/i &uy+t t/c
Vth:o thJ t* ?6`W2 -,u thqm n;t g.c! Mu.i c7ng qu, c<y con
bPn phi Vth:o thJ t* ?6`W
QA &$= Th:o c<y nh ph<n m!k2 t, c=
RxxT T C s k z g { m ~
CgC
K thut lp trnh
#o-tor!Qr B ru t* V?`6W = qu, c<y con bPn t/i &uy+t t/c
Vth:o thJ t* ?`6W2 -,u qu, c<y con bPn phi Vth:o thJ t*
?`6W! Mu.i c7ng thqm n;t g.c!
QA &$= Th:o c<y nh ph<n m!k2 t, c=
RxxT T s z k { ~ m g C
Ghi =hl = G.i 4i c<y t, c th t1 chJc thJ t* th:o kh, l
mt ni &ung cK, n;t ho>c t, >t thPm C :l& gNi l kh, cK,
n;t !
II.. Cc 6hI6 ton tr*n c$" nh= 6h$n:
n Kh0i %o: G t1 chJc &8 li+u th:o c<y nh ph<n2 t, c
th &7ng mt ni &ung cK, &8 li+u lm kh, -p xp 4
t1 chJc c<y th:o nhiLu cch khc nh,u! 6hng th"ng thBng
thun ti+n cho 4i+c t0m kim 4 th*c hi+n cc php ton khc
t/Pn c<y2 ngBi t, t'o thPm mt kh, /iPng t/ong cc ph9n tt 4
t'o /, c<y nh ph<n t0m kim!
G kh,i bo bin tIRR qun lu mt c<y nh ph<n2 4i ni
&ung ino chJ, -. nguyPn2 t, kh,i bo nh -,u=
-t/uct no&:typ:

int k:y\
int ino\
-t/uct no&:typ: al:t\
-t/uct no&:typ: a/ight\
\
typ:&: -t/uct no&:typ: a6FZiT`\
6FZiT` tIRR\
1. To c$":
,! DhEi t'o c<yVyniti,li:W= &7ng khEi ng c<y nh
ph<n2 cho ch)ng t/0nh hiu l hi+n t'i c<y nh ph<n /ong!
4oi& yniti,li:V6FZiT` /ootW

/oot S 6}??\

?Bi gNi hm= yniti,li:Vt/::W\


CgT
K thut lp trnh
b! M5p pht 47ng nh V6:]6o&:W= c5p pht mt n;t cho c<y
nh ph<n! rm 6:]6o&: ny t/ 4L , ch# cK, n;t 4x,
c5p pht!
6FZiT` 6:]6o&:V4oi&W

6FZiT` p\
p S V6FZiT`Wm,llocV-i:oV-t/uct no&:typ:WW\
/:tu/nVpW\

?Bi gNi hm= pS 6:]6o&:VW\


c! T'o c<y H[T VM/:,t:T/::W= T/ong gii thut t'o c<y H[T2
t, c &7ng hm yn-:/t!
rm yn-:/t= &7ng ph)ng php + qui thPm n;t c kh, x2
ni &ung , 4o c<y c n;t g.c /oot ! M<y nh ph<n t'o c
qu, gii thut M/:,t:T/:: l c<y nh ph<n t0m kim VH[TW!
4oi& yn-:/tV6FZiT` /oot2 int x2 int ,W
6FZiT` p\
iVx SS /oot(bk:yW ^^ kh, b t/7ng2 &xng
ch)ng t/0nh

p/intVbi t/ung kho,2 khong th:m nut n,y &uocW\
/:tu/n\

iVx c /oot(bino /oot(bl:t SS 6}??W ^^ iLu ki+n &xng
gii thut + qui

p S 6:]6o&:VW\ ^^ c5p pht 47ng nh
p(bk:y Sx\
p(bino S ,\
p(bl:t S 6}??\
p(b/ight S 6}??\
/oot(bl:tSp\
/:tu/n\

iVx b /oot(bino /oot(b/ight SS 6}??W ^^iLu ki+n &xng
gii thut + qui

Cgg
K thut lp trnh
p S 6:]6o&:VW\
p(bk:y Sx\
p(bino S ,\
p(bl:t S 6}??\
p(b/ight S 6}??\
/oot(b/ightSp \
/:tu/n\

iVx c /oot(binoW ^^ bc + qui
yn-:/tV/oot(bl:t2 x2,W\ ^^ gNi + qui qu, nhnh t/i
:l-:
yn-:/tV/oot(b/ight2 x2,W\ ^^ gNi + qui qu, nhnh
phi

4oi& M/:,t:T/::V6FZiT` /ootW


int kho,2 noi&ung\
ch,/ -oCf\
6FZiT` p\
&o
p/intV6h,p kho, =W\
g:t-V-oW \
kho, S ,toiV-oW\
i Vkho, SfW
p/intV6h,p noi &ung =W\
g:t-V-oW \
noi&ung S ,toiV-oW\
i V/ootSS6}??W
p S 6:]6o&:VW\
p(bk:y S kho,\
p(bino S noi&ung\
p(bl:t S 6}??\
p(b/ight S 6}??\
/oot Sp\

:l-: yn-:/tV/oot2kho,2noi&ungW\
Cgk
K thut lp trnh

]hil: Vkho,SfW\ ^^ kh, Sf th0 &xng nhp

ehi ch; = G t'o c<y nh ph<n &o bin t/:: qun lu2 t, gNi=
M/:,t:T/::Vt/::W\
. C6 nht c$":
,! eii phng 47ng nhV/::6o&:W= gii phng 47ng nh m p
,ng t/Y n!
4oi& /::6o&:V6FZiT` pW

/::VpW\

?Bi gNi hm= /::6o&: VpW\


b! Dim t/, c<y nh ph<n /ong h,y kh"ng VZmptyW= hm
Zmpty t/ 4L T`}Z nu c<y nh ph<n /ong2 4 ngc l'i!
int ZmptyV6FZiT` /ootW
/:tu/nV/oot SS 6}?? T`}Z = R?[ZW\

?Bi gNi hm= ZmptyVt/::W


c! rKy bY mt n;t t/ong c<y nh ph<n H[T V`:mo4:W=
X, n;t c kh, l x t/ong c<y nh ph<n t0m kim -,o
cho -,u khi x, th0 c<y nh ph<n 4n l c<y nh ph<n t0m
kim! T, c g t/Bng hp =
( -r Gng h=p H= n;t p c9n x, l n;t l! Qi+c x, n;t p ch#
)n gin l hKy n;t p
p1
p
p1
p1
p
p1
( -r Gng h=p I= 6;t p c9n x, c C c<y con2 th0 t, cho /p
ch# ti n;t p! [,u 2 t, t'o liPn kt tx n;t ch, cK, p ti n;t con
cK, /p2 cu.i c7ng hKy n;t p!
Cgm
K thut lp trnh
Cf
m
g
Cm
CT
Tf
T k
p
xo*, nu*t p
Cf
g Cm
CT Tf T
k
/p
r0nh m!Cf! X, n;t p t/ong t/Bng hp n;t ny c C c<y con bPn
t/i!
T
Cf
m
g
Cm
k
Tf
C{ Tm
/p
p
xo*, nu*t p
Cf
m
g
Tf
C{ Tm
T k
r0nh m!CC! X, n;t p t/ong t/Bng hp n;t ny c C c<y con bPn
phi!
( -r Gng h=p J= 6;t p c9n x, c T c<y con! T, cho /p ch# ti
n;t p! Fo tAnh ch5t n;t c*c t/i cK, c<y con bPn phi cK, p c
kh, 4x, ln h)n kh, cK, p2 nPn lo'i p th0 t, -n cho / ch#
ti n;t c*c t/i ! [,u 2 t, -,o chp ni &ung 4 kh, cK,
n;t / 4o n;t m /p ,ng ch# ti! T, t'o liPn kt thAch hp
bJt n;t /p /, khYi c<y nh ph<n 4 cu.i c7ng x, n;t /p!
Cf(m (g(Cm(k(Tf(C{(T(
Cgs
K thut lp trnh
Cf
m Tf
Cm gf
CT C{
T{
Tm gm
p
nu*t t/,*i nh,Yt cuw,
c,py con b:pn ph,wi
Cf
m Tm
Cm gf
CT C{ T{ gm
/
r0nh m!CT! X, n;t p t/ong t/Bng hp n;t ny c T c<y con!
rm RRmoAR x, n;t c kh, l x=
6FZiT` /p\
4oi& /:mo4:c,-:g V 6FZiT` / W

i V/(bl:t S 6}??W
/:mo4:c,-:g V/(bl:tW\
^^&:n &,y / l, nut cuc t/,i cu, c,y con b:n ph,i co nut goc
l, /p
:l-:

/p(bk:y S /(bk:y\ ^^Mh:p noi &ung cu, / -,ng /p \


/p(bino S/(bino\ ^^ &: l,t nu, /::V/pW
/p S /\
/ S /(b/ight\


4oi& /:mo4: Vint x 2 6FZiT` p W

i Vp SS 6}??W p/int VDhong tm th,yW\


:l-:
i Vx c p(bk:yW /:mo4: Vx2 p(bl:tW\
:l-: i Vx b p(bk:yW
/:mo4: Vx2 p(b/ightW\
Cgz
K thut lp trnh
:l-: ^^ p!k:y S x

/p S p\
i V/p(b/ight SS 6}??W p S /p(bl:t\
^^ p l n;t l ho,c l, nut chi co c,y con b:n t/,i
:l-: i V/p(bl:t SS 6}??W
p S /p(b/ight\ ^^ p l nut co c,y con b:n ph,i
:l-: /:mo4:c,-:g V/p(b/ightW\
/:: V/pW\

?Bi gNi hm= `:mo4:Vx2 t/::W\ ^^ x l kh, cK, n;t mu.n


x,
&! T0m kim V[:,/chW= T0m n;t c kh, bng x t/Pn c<y
nh ph<n H[T c g.c l /oot! 6u t0m th5y x t/ong c<y th0
t/ 4L , ch# cK, n;t c t/ bng x t/ong c<y2 nu kh"ng c
th0 t/ 4L t/ 6}??!
Fo c<y nh ph<n l H[T nPn t, c th t0m kim nh,nh
bng ph)ng php t0m kim nh ph<n!
6FZiT` [:,/chV6FZiT` /oot2 int xW

6FZiT` p\
p S /oot\
]hil:Vp S 6}?? xSp(bk:yW
iVx c p(bk:yW
p S p(bl:t\
:l-:
p S p(b/ight\
/:tu/nVpW\

?Bi gNi hm= pS[:,/chVt/::2 xW\


!. Cc 6hI6 !u"t c$": M g cch &uy+t c) bn l 6?`2
?6`2 ?`6 4 mt cch >c bi+t l &uy+t c<y th:o mJc! E
Cg{
K thut lp trnh
<y2 t, ch# xt g ph)ng php &uy+t 6?`2 ?6` 4 ?`6! Xt
c<y -,u =
4
2
1
5
3 6
,! Ku.;t cL. the) th& t# MLN ('re)rEer):
4oi& i/:o/&:/ V6FZiT` /ootW
iV/oot S 6}??W
p/intV& 2 /oot(binoW\
i/:o/&:/V/oot(bl:tW\
i/:o/&:/ V/oot(b/ightW\

b! Ku.;t cL. the) th& t# LMN (On)rEer):


4oi& yno/&:/V6FZiT` /ootW
iV/oot S 6}??W
yno/&:/V/oot(bl:tW\
p/intV& 2 /oot(binoW\
yno/&:/V/oot(b/ightW\

c! Ku.;t cL. the) th& t# LNM (')s)rEer):


4oi& io-o/&:/V6FZiT` /ootW
iV/oot S 6}??W
io-o/&:/V/oot(bl:tW\
io-o/&:/V/oot(b/ightW\
p/intV& 2 /oot(binoW\

yyy! c<y nh ph<n T0O DyO c<n bng VRQ?W=


Cg~
K thut lp trnh
Mh;ng t, t'o c<y nh ph<n t0m kim m$c Ach l
t0m kh, cho nh,nh2 tuy nhiPn tqng t.c t0m kim th0
c<y c9n phi c<n .i 4L T nhnh th:o txng n;t t/ong c<y! Fo
4y2 t, -n t0m cch t1 chJc l'i c<y H[T -,o cho n c<n bng!
III.1. X=nh ngh@a=
( M<y nh ph<n t0m kim c<n bng VRQ?W l c<y nh
ph<n t0m kim m t'i t5t c cc n;t cK, n chiLu c,o cK, c<y
con bPn t/i cK, n 4 chiLu c,o cK, c<y con bPn t/i chPnh
l+ch nh,u kh"ng qu mt!
Cf
Tf
Cm
gf
s
{
CT
Tm kf C{
r0nh m!Ck! M<y nh ph<n t0m kim c<n bng
? u u= Qi c<y RQ?2 4i+c thPm 4o h,y lo'i bY C n;t t/Pn c<y
c th lm c<y m5t c<n bng2 khi t, phi c<n bng l'i
c<y! Tuy nhiPn 4i+c c<n bng l'i t/Pn c<y RQ? ch# xy /, E
ph'm 4i c$c b bng cch xo,y t/i ho>c xo,y phi E mt 4i
nhnh c<y con nPn gim thiu chi phA c<n bng!
( Ch V- =un %&n' Vb,l,nc: ,cto/W cK, mt n;t p t/Pn c<y
RQ?r (hKHL n IhKHL
T/ong = lh VpW l chiLu c,o cK, c<y con bPn t/i cK, p
/hVpW l chiLu c,o cK, c<y con bPn phi cK, p
T, c cc t/ Bng hp -,u=
bVpW S f nu lhVpW S /hVpW n;t p c<n bng
bVpW S C nu lhVpW S /hVpW UC n;t p b l+ch 4L
t/i
bVpW S (C nu lhVpW S /hVpW (C n;t p b l+ch 4L phi
Ckf
K thut lp trnh
(C
C
f
H
f
H
f
C
(C
f
f
}
k
f
}
g
}
T
f
}
C H
f
H H
f
H
}
{
f
}
z
}
s
f
}
m
}
Cf
f
}
~
}
CT
f
}
CC
R
H M
r0nh m!Cm! Oinh hN, cc 4 t/A c th thPm n;t l 4o c<y RQ?2
khi thPm n;t l 4o C t/ong cc 4 t/A H th0 c<y 4n c<n bng2
khi thPm n;t l 4o C t/ong cc 4 t/A } th0 c<y -n m5t c<n
bng! Mc -. t/Pn c<y l ch# -. c<n bng cK, cc n;t t/c khi
thPm n;t
III.. Cc 6hI6 ton tr*n c$" Sp&:
; Kh0i %o: T, kh,i bo c<y RQ? 4i moi n;t c thPm t/Bng
b cho bit ch# -. c<n bng cK, n;t !
-t/uct no&:typ:

int k:y\
int ino\
int b\
-t/uct no&:typ: al:t2 a/ight\
\
typ:&: -t/uct no&:typ: a6FZiT`\
III..1. Th*m n>t:
( 6i &ung: ThPm C n;t c kh, x2 ni &ung , 4o c<y nh
ph<n t0m kim c<n bng -,o cho -,u khi thPm th0 c<y nh
ph<n 4n l c<y nh ph<n t0m kim c<n bng!
( eii thut=
ThPm n;t 4o c<y nh b0nh thBng2 ngh, l n;t 4x,
thPm -n l n;t l!
TAnh l'i ch# -. c<n bng cK, cc n;t c b nh hEng
CkC
K thut lp trnh
Dim t/, x:m c<y c b m5t c<n bng h,y kh"ng
6u c<y b m5t c<n bng th0 t, c<n bng l'i c<y!
a Trc hEth ta hq" [It [Qm cc trrng hL6 nGo (hi th*m
n>t %Gm c$" 1= mt c$n 14ng!
X:m c<y h0nh m!Cm2 t, nhn th5y=
( 6u thPm n;t 4o C t/ong s 4 t/A H t/Pn c<y th0 c<y
4n c<n bng!
( 6u thPm n;t 4o C t/ong cc 4 t/A }C}CT t/Pn c<y
th0 c<y -n m5t c<n bng!
U ThPm cc n;t 4o -,u bPn t/i cK, n;t R Vc
R
S CW
th0 c<y -n b m5t c<n bng 40 n;t R ,ng b l+ch t/i! G l
cc 4 t/A }C2 }T2 }g2 }k!
U ThPm cc n;t 4o -,u bPn phi cK, n;t M Vc
M
S (CW
th0 c<y -n b m5t c<n bng 40 n;t M ,ng b l+ch phi! G l
cc 4 t/A }~2 }Cf2 }CC2 }CT!
Tm l'i: -a c: I trGng h=p kh thPm nt Q 8) cL. FRL lm
cL. m9t cLn b!ngS 1: l thPm c*c nt 8) sau bPn tr* cTa nt
c: cf U HS 8 thPm c*c nt 8) sau bPn phA cTa nt c: cf U VH.
a C$n 14ng %i c$"= eNi y, l n;t t/c g9n nh5t b m5t
c<n bng khi thPm n;t x 4o c<y RQ?! Fo c T t/Bng hp b
m5t c<n bng khi thPm n;t x l t)ng t* nh,u nPn t, ch# xt t/(
Bng hp b
y,
SC 4 n;t l thPm 4o l n;t -,u bPn t/i cK, n;t y,!
C
f
Tg
chi:lu
c,o
n
TC
chi:lu
c,o
n
TT
chi:lu
c,o
n
[
y,
r0nh m!Cs! 6hnh c<y con n;t g.c y, t/c khi thPm n;t!
6hn xt=
( Q0 n;t y, c b
y,
S C nPn n;t y, chc chn c n;t con
bPn t/i - 4i b
-
S f
CkT
K thut lp trnh
( Q0 y, l n;t g9n nh5t c b l C nPn n;t - 4 cc n;t t/c
khc cK, n;t x V-n thPm 4oW c b l f!
(Gc,o VTCW S Gc,oVTTW S Gc,oVTgW
Trrng hL6 1a= 6u thPm n;t mi x 4o 4 t/A n;t -,u bPn t/i
cK, - Vthuc nhnh TCW t, xo,y phi qu,nh n;t y,
( 6;t - -n l n;t g.c mi cK, nhnh c<y ny 4i b
-
S f
( 6;t y, l n;t con bPn phi cK, - 4i b
y,
S f!
f
TC
chi:lu
-,pu
n
f
TT
chi:lu
-,pu
n
Tg
chi:lu
-,pu
n
[
y,
x
T
C
Tg
chi:lu
-,pu
n
TC
chi:lu
-,pu
n
TT
chi:lu
-,pu
n
[
y,
x
Q)a. phaW
<uanh nu#t .a
r0nh m!Cz! Xo,y phi qu,nh n;t y, c<n bng l'i c<y!
Trrng hL6 11= 6u thPm n;t mi x 4o 4 t/A n;t -,u bPn
phi cK, - Vthuc nhnh TTW t, xo,y T l9n Vxo,y kpW= xo,y t/i
qu,nh n;t - 4 xo,y phi qu,nh n;t y,
( 6;t p -n l n;t g.c mi cK, nhnh c<y ny 4i b
p
S f
( 6;t y, l n;t con bPn phi cK, p 4i b
y,
S (C
( 6;t - l n;t con bPn t/i cK, p 4i b
-
S f
Ckg
K thut lp trnh
T
(C
Tg
chi:lu
-,pu
n
TC
chi:lu
-,pu
n
[
y,
C
TT(C
chi:lu
-,pu
n(C
TT(T
chi:lu
-,pu
n(C
x
p
M<y RQ? -,u khi thPm n;t x
x
TT(C
chi:lu
-,pu
n(C
T
f
TC
chi:lu
-,pu
n
[
p
TT(T
chi:lu
-,pu
n(C
Tg
chi:lu
-,pu
n
y,
T
Q)a. tra#
<uanh nu#t D
Q)a. phaW
<uanh nu#t .a
x
TT(C
chi:lu
-,pu
n(C
f
f
TC
chi:lu
-,pu
n
[
p
(C
TT(T
chi:lu
-,pu
n(C
Tg
chi:lu
-,pu
n
y,
r0nh m!C{! Xo,y kp Vxo,y t/i qu,nh n;t -2 xo,y phi qu,nh
n;t y,W c<n bng l'i c<y!
Ckk
K thut lp trnh
Hng -,u <y ph<n bi+t cc t/Bng hp c<y b m5t c<n
bng khi thPm n;t 4 cc php xo,y c<y t)ng Jng c<n
bng l'i c<y=
TIon'
hfH
TI:= ,hi
th+m nlt E
P0u ,hi
th+m nlt E
C= HhYH Eo0Q =uQ
A6 =h V- =un
%&n' m:i
C!, b
y,
S C
b
-
S f
b
y,
S T
b
-
S C
X)a. phA <uanh nt
.a
b
-
Sf2 b
y,
S f
C!b b
y,
S C
b
-
S f
b
y,
S T
b
-
S (C
X)a. k(p
C! Xo,y t/i qu,nh n;t
-
T! Xo,y phi qu,nh
n;t y,
b
-
Sf2 b
y,
S (C
T!, b
y,
S (C
b
-
S f
b
y,
S (T
b
-
S (C
X)a. tr* <uanh nt
.a
b
-
Sf2 b
y,
S f
T!b b
y,
S (C
b
-
S f
b
y,
S (T
b
-
S C
X)a. k(p
C! Xo,y phi qu,nh
n;t -
T! Xo,y t/i qu,nh n;t
y,
b
-
Sf2 b
y,
S C
( eii thut=
ihp xo,y t/i V`ot,t:?:tW= xo,y t/i c<y nh ph<n
t0m kim c n;t g.c l /oot2 yPu c9u /oot phi c n;t con bPn
phi VgNi l n;t pW! [,u khi xo,y t/i th0 n;t p t/E thnh n;t
g.c2 n;t g.c c3 t/E thnh n;t con bPn t/i cK, n;t g.c mi!
ihp xo,y t/i t/ 4L con t/Y ch# n;t g.c mi!
Ckm
K thut lp trnh
6FZiT` `ot,t:?:tV6FZiT` /ootW

6FZiT` p\
iV/oot SS 6}??W
p/intVDhong th: xo,y t/,i 4i c,y bi /ong!W\
:l-:
iV/oot(b/ight SS 6}??W
p/intVDhong th: xo,y t/,i 4i khong co nut con
b:n ph,i!W\
:l-:

p S /oot(b/ight\
/oot(b/ight S p(bl:t\
p(bl:t S /oot\

/:tu/n p\

ihp xo,y phi V`ot,t:`ightW= xo,y phi c<y nh


ph<n t0m kim c n;t g.c l /oot2 yPu c9u /oot phi c n;t con
bPn t/i VgNi l n;t pW! [,u khi xo,y phi th0 n;t p t/E thnh n;t
g.c2 n;t g.c c3 t/E thnh n;t con bPn phi cK, n;t g.c mi!
ihp xo,y phi t/ 4L con t/Y ch# n;t g.c mi!
6FZiT` `ot,t:`ightV6FZiT` /ootW

6FZiT` p\
iV/oot SS 6}??W
p/intVDhong th: xo,y ph,i 4i c,y bi /ong!W\
:l-:
iV/oot(bl:t SS 6}??W
p/intVDhong th: xo,y ph,i 4i khong co nut con
b:n t/,i!W\
:l-:

p S /oot(bl:t\
/oot(bl:t S p(b/ight\
p(b/ight S /oot\
Cks
K thut lp trnh

/:tu/n p\

ThPm n;t Vyn-:/tW= thPm n;t c kh, x2 ni &ung , 4o c<y


RQ?=
( ThPm n;t th:o gii thut thPm n;t 4o c<y nh ph<n
t0m kim !
( M<n bng l'i c<y bng cch xo,y )n h,y xo,y kp
4oi& yn-:/tV6FZiT` p,4lt/::2 int x2 int ,W

6FZiT` p2 p2 q2 ^^ p l n;t ch, cK, p2 q l con


cK, p
y,2 y,2 ^a y, l n;t t/c g9n nh5t c th m5t
c<n bng
y, l n;t ch, cK, y, a^
-\ ^^ - l n;t con cK, y, th:o hng m5t
c<n bng
int imb,l\ ^a imb,l S C nu b l+ch 4L nhnh t/i
S (C nu b l+ch 4L nhnh
phi a^
^^ DhEi ng cc gi t/
p S 6}??\
p S p,4lt/::\
y, S 6}??\
y, S p\
^^ tim nut p2 y, 4, y,2 nut moi th:m 4,o l, nut l, con cu,
nut p
]hil:Vp S 6}??W

iVx SS p(binoW ^^ bi t/ung noi &ung
/:tu/n\
i Vx c p(binoW
q S p(bl:t\
:l-:
q S p(b/ight\
iVq S 6}??W
iVq(bb S fW ^^ t/uong hop chi -o c,n b,ng cu, q l, C
h,y (C
Ckz
K thut lp trnh

y, S p\
y, S q\

p S p\
p S q\

^^ Th:m nut moi Vnut l,W l, con cu, nut p
q S 6:]6o&:VW\ ^^ c5p pht 47ng nh
q(bk:y Sx\
q(bino S ,\
q(bb S f\
q(bl:t S 6}??\
q(b/ight S 6}??\
iVx c p(binoW
p(bl:t S q\
:l-:
p(b/ight S q\
^a ri:u chinh chi -o c,n b,ng cu, t,t c, c,c nut giu, y, 4,
q2 n:u bi l:ch
4: phi, t/,i thi chi -o c,n b,ng cu, t,t c, c,c nut giu,
y, 4, q &:u l,
C2 n:u bi l:ch 4: phi, ph,i thi chi -o c,n b,ng cu, t,t
c, c,c nut giu,
y, 4, q &:u l, (C a^
iVx c y,(binoW
p S y,(bl:t\
:l-:
p S y,(b/ight\
- S p\ ^^ - l, con nut y,
]hil:Vp S qW

iVx c p(binoW

p(bb S C\
p S p(bl:t\

:l-:

Ck{
K thut lp trnh
p(bb S (C\
p S p(b/ight\


^^ x,c &inh huong l:ch
iVx c y,(binoW
imb,l S C\
:l-:
imb,l S (C\
iVy,(bb SS fW

y,(bb S imb,l\
/:tu/n\

iVy,(bb S imb,lW

y,(bb S f\
/:tu/n\

iV-(bb SS imb,lW ^^ T/uong hop xo,y &on

iVimb,l SS CW ^^ xo,y ph,i
p S `ot,t:`ightVy,W\
:l-: ^^ xo,y t/,i
p S `ot,t:?:tVy,W\
y,(bb S f\
-(bb S f\

:l-: ^^ T/uong hop xo,y k:p

iVimb,l SS CW ^^ xo,y k:p t/,i(ph,i

y,(bl:t S `ot,t:?:tV-W\
p S `ot,t:`ightVy,W\

:l-: ^^ xo,y k:p ph,i(t/,i (

Ck~
K thut lp trnh
y,(b/ight S `ot,t:`ightV-W\
p S `ot,t:?:tVy,W\

iVp(bb SS fW ^^ t/uong hop p l, nut moi th:m 4,o

y,(bb S f\
-(bb S f\

:l-:
iVp(bb SS imb,lW

y,(bb S (imb,l\
-(bb S f\

:l-:

y,(bb S f\
-(bb S imb,l\

p(bb S f\

iVy, SS 6}??W
p,4lt/:: S p\
:l-:
iVy, SS y,(b/ightW
y,(b/ight S p\
:l-:
y,(bl:t S p\

a G t'o c<y nh ph<n t0m kim c<n bng2 t, -t &$ng


gii thut -,u=
4oi& M/:,t:RQ?T/::V6FZiT` /ootW
int kho,2 noi&ung\
ch,/ -oCf\
6FZiT` p\
&o
p/intV6h,p kho, =W\
g:t-V-oW \
Cmf
K thut lp trnh
kho, S ,toiV-oW\
i Vkho, SfW
p/intV6h,p noi &ung =W\
g:t-V-oW \
noi&ung S ,toiV-oW\
i V/ootSS6}??W
p S 6:]6o&:VW\
p(bk:y S kho,\
p(bino S noi&ung\
p(bb S f \
p(bl:t S 6}??\
p(b/ight S 6}??\
/oot Sp\

:l-: yn-:/tV/oot2kho,2noi&ungW\

]hil: Vkho,SfW\ ^^ kh, Sf th0 &xng nhp

ehi ch; = G t'o c<y nh ph<n &o bin t/:: qun lu2 t, gNi=
M/:,t:RQ?T/::Vt/::W\
III... C6 nht c$":
C! -m k4m KPR0I=hL: T0m n;t c kh, bng x t/Pn
c<y nh ph<n RQ? c g.c l /oot! 6u t0m th5y x t/ong c<y
th0 t/ 4L , ch# cK, n;t c t/ bng x t/ongc<y2 nu kh"ng
c th0 t/ 4L t/ 6}??!
Fo RQ? l c<y nh ph<n H[T nPn t, c th t0m kim
nh,nh bng ph)ng php t0m kim nh ph<n2 4 &o tAnh ch5t
l;c ny c<y c<n bng nPn thBi gi,n t0m kim -n nh,nh h)n
/5t nhiLu!
6FZiT` -:,/chV6FZiT` /oot2 int xW

6FZiT` p\
p S /oot\
]hil:Vp S 6}?? xSp(bk:yW
iVx c p(bk:yW
CmC
K thut lp trnh
p S p(bl:t\
:l-:
p S p(b/ight\
/:tu/nVpW\

T! \7a n>t: RRmoARV/oot2 xW=


( 6i &ung= x, n;t c kh, x t/Pn c<y RQ? 4i , ch# -,o
9u /oot -,o cho -,u khi x, th0 c<y 4n l RQ?!
( eii thut=
6u /oot SS 6}?? th0 Th"ngbo VDh"ng th x, c n;t
x t/Pn c<yW
6u /oot S 6}?? th0
6u xc /oot(bino th0=
U eNi + qui x, n;t x E nhnh bPn t/i cK, /oot =
`:mo4:V/oot(bl:t2 xW
U eNi b,l,nc:l:t c<n bng l'i c<y n;t g.c /oot
nu nhnh c<y con bPn t/i b gim c,o!
6u x b /oot(bino th0=
U eNi + qui x, n;t x E nhnh bPn phi cK,
/oot =
`:mo4:V/oot(b/ight2 xW
U eNi b,l,nc:/ight c<n bng l'i c<y n;t g.c /oot
nu nhnh c<y con bPn phi b gim c,o!
6u xSS/oot(bino th0=
X, n;t /oot nh php ton x, t/Pn c<y nh ph<n
H[T!
( Mh )ng t/0nh = t* ci >t!
III..!. Cc 6hI6 !u"t c$":
Fo c<y RQ? c3ng l c<y nh ph<n nPn t, -n p &$ng l'i cc
ph)ng php &uy+t i/:o/&:/2 yno/&:/ 4 io-to/&:/ 4o c<y RQ?!
,! Ku.;t cL. the) th& t# MLN ('re)rEer):
4oi& i/:o/&:/ V6FZiT` /ootW

iV/oot S 6}??W

CmT
K thut lp trnh
p/intV& 2 /oot(binoW\
i/:o/&:/V/oot(bl:tW\
i/:o/&:/ V/oot(b/ightW\

b! Ku.;t cL. the) th& t# LMN (On)rEer):


4oi& yno/&:/V6FZiT` /ootW

iV/oot S 6}??W

yno/&:/V/oot(bl:tW\
p/intV& 2 /oot(binoW\
yno/&:/V/oot(b/ightW\

c! Ku.;t cL. the) th& t# LNM (')s)rEer):


4oi& io-o/&:/V6FZiT` /ootW

iV/oot S 6}??W

io-o/&:/V/oot(bl:tW\
io-o/&:/V/oot(b/ightW\
p/intV& 2 /oot(binoW\

Cmg
K thut lp trnh
?6i tH:
C! Qit l'i cc ch)ng t/0nh &uy+t c<y nh ph<n th:o ph)ng
php kh"ng + qui!
T! Qit ch)ng t/0nh t'o mt m:nu th*c hi+n cc m$c -,u=
,! T'o c<y nh ph<n t0m kim 4i ni &ung l -. nguyPn
Vkh"ng t/7ng nh,uW!
b! ?i+t kP c<y nh ph<n /, mn h0nh th:o thJ t* 6?`
c! Gm t1ng -. n;t2 -. n;t l2 4 -. n;t t/ung gi,n cK, c<y!
&! TAnh c,o cK, c<y!
:! ?o'i bY n;t c ni &ung l x t/ong c<y nh ph<n H[T!
! ThPm n;t c ni &ung x 4o c<y nh ph<n H[T -,o cho
-,u khi thPm th0 c<y 4n l H[T!
g! Mho mt c<y nh ph<n t/::2 h|y 4it ch)ng t/0nh -,o
chp n thnh mt c<y mi t/::T2 4i kh,2 ni &ung2 4 liPn
kt gi.ng nh c<y t/::!
k! Qit cc hm kim t/, x:m c<y nh ph<n=
,! M phi l c<y nh ph<n ;ng kh"ng!
b! M phi l c<y nh ph<n 9y kh"ng!
m! Qit hm kim t/, n;t x 4 y c t/Pn c<y h,y kh"ng2 nu c
c x ln y t/Pn c<y th0 xc nh n;t g.c cK, c<y con nhY
nh5t c chJ, x 4 y!
s! Mho mt c<y biu thJc2 h|y 4it hm M,lcul,t: V6FZiT`
/ootW tAnh gi t/ cK, c<y biu thJc 2 bit /ng cc
ton tt c &7ng t/ong biu thJc l=
U ( a ^
z! Qn l'i h0nh nh c<y nh ph<n t0m kim2 c<y nh ph<n
t0m kim c<n bng nu cc n;t thPm 4o c<y th:o thJ t* nh
-,u=
{ g m T Tf CC gf ~ C{ k
{! 6hp 4o C biu thJc -. hNc2 chuyn biu thJc thnh
c<y nh ph<n2 n;t g.c l ton tt2 n;t l l cc ton h'ng2
bit /ng cc ton tt c &7ng t/ong biu thJc l= U ( a ^

Cmk
K thut lp trnh Cmm
K thut lp trnh
O$M ?$M
Mr6e i G'y M6e QL ?i T`06r((((((((((((((((((((((((((((((((((((((((((((((C
y! Dhi ni+m thut ton(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C
y!C! Dhi ni+m((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C
y!T! Mc tAnh ch5t >c t/ng cK, thut ton ((((((((((((((((((((((((((((((C
y!g! ih<n lo'i(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C
yy! O" t thut ton bng lu @ ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C
yy!C! ?u @ (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C
yy!T! Mc ku hi+u t/Pn lu @ ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C
yy!g! Ot -. 4A &$ biu &iIn thut ton bng lu @(((((((((((((((((T
yyy! MM 6e"6 6e8 ?i T`06r Mr)6e T`06r FMr(((((((((((m
yyy!C! 6g"n ng8 lp t/0nh((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((m
yyy!T! Mh)ng t/0nh &ch(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((s
Mr)6e T ?O _}Z6 Qy 6e"6 6e8 M ((((((((((((((((((((((((((((((((((((((((z
a eii thi+u ng"n ng8 M(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((z
y! MM Dry 6y+O M) H6((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((z
y!C! M5u t/;c c) bn cK, mt ch)ng t/0nh M((((((((((((((((((((((((((((z
y!T! Diu &8 li+u c) bn(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Cg
y!g! Hin((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Ck
y!k rng((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((C{
y!m! ihp ton((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Tf
a [* chuyn kiu((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((T~
a OJc u tiPn cK, cc php ton(((((((((((((((((((((((((((((((((((((((((T~
y!s! Mhuoi((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((gf
yy! Mc c5u t/;c iLu khin t/ong M((((((((((((((((((((((((((((((((((((((((((((((((gg
yy!C M5u t/;c tu9n t* V[:qu:nc:W (((((((((((((((((((((((((((((((((((((((((((((((gg
yy!T! M5u t/;c chNn(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((gk
yy!T!C! ?+nh i :l-:((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((gk
yy!T!T! ?+nh -]itchc,-:((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((gm
yy!g! M5u t/;c l>p(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((gz
yy!g!C! ?+nh ]hil:(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((gz
yy!g!T! ?+nh &o ]hil:(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((g{
yy!g!g! ?+nh o/((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((g~
a iht biu b/:,k2 continu:2 goto((((((((((((((((((((((((((((((((((((((((((((kf
Cms
K thut lp trnh
Hi tp(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((kC
yyy! rm ( G+ quy((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((km
yyy!C! rm((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((km
yyy!T! G+ qui V`:cu/-ionW(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((mT
yQ! [t/uctu/:(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((mk
yQ!C! Gnh ngh,((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((mm
yQ!T! Dh,i bo((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((mm
Q! y?Z((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((ms
Q!C! il: 4qn bn(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((ms
Q!T! il: nh ph<n Vl: c c5u t/;cW((((((((((((((((((((((((((((((((((((((((((((sC
Q!g! iht hi+n loi khi t/uy xu5t tp tin((((((((((((((((((((((((((((((((((((((((ss
Hi tp(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((sz
Mr)6e g! MM Tr}T T6 T`6 M5} T`;M F8 ?y+} O6es~
y! Ong kh"ng -p xp 4 thut ton t0m kim (((((((((((((((((((s~
t/Pn mng ch, c thJ t*
y!C! Ot -. khi ni+m 4L mng(((((((((((((((((((((((((((((((((((((((((((((((((((((s~
y!T! Thut ton t0m kim t/Pn mng ch, c thJ t*(((((((((((((((zC
yy! Mc thut ton -p xp(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((zg
yy!C! [p xp th:o ph)ng php Hubbl:[o/t(((((((((((((((((((((((((((zg
yy!T! [p xp th:o ph)ng php _uick[o/t(((((((((((((((((((((((((((((zm
yyy! T0m kim t/Pn mng | c thJ t*((((((((((((((((((((((((((((((((((((((((((((z~
yyy!C! T0m kim nh,nh bng ph)ng php l>p((((((((((((((((((((((((z~
yyy!T! ihp t0m kim nh ph<n((((((((((((((((((((((((((((((((((((((((((((((((((({f
yyy!g! ihp t0m kim nh ph<n + qui((((((((((((((((((((((((((((((((((({C
Hi tp((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({T
Mr6e k M6 T`Y Viy6TZ`W(((((((((((((((((((((((((((((((((((((((((((((((((({k
y! G6r 6erR((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({k
y!C! Dh,i bo((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({k
y!T! T/uyLn , ch# cho hm((((((((((((((((((((((((((((((((((((((((((((((((((((((({m
yy Mc php ton t/Pn bin con t/Y((((((((((((((((((((((((((((((((((((((((((((((((((({m
yy!C! Ton tt , ch# (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({m
yy!T! Ton tt ni &ung a (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({m
yy!g! ihp cng t/x bin con t/Y 4i mt -. nguyPn(((((((((((((((({s
yy!k! ihp gn 4 php -o -nh(((((((((((((((((((((((((((((((((((((((((((((((((((({s
yy!m! [* chuyn kiu((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({s
Cmz
K thut lp trnh
yy!s! Dh,i bo mt con t/Y hng 4 con t/Y ch# n .i tng
hng((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((({z
yyy! [* t)ng qu,n gi8, con t/Y 4 mng(((((((((((((((((((((((((((((((((((((((({z
yQ! Mon t/Y 4 chuoi(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((~C
yQ!C! Dh,i bo(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((~C
yQ!T! Xt mt -. 4A &$ 4L cc hm xt lu chuoi(((((((((((((((((((((((~C
yQ!g! Ong con t/Y ch# n chuoi((((((((((((((((((((((((((((((((((((((((((((((~g
Hi tp(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((~m
Mr6e m MM Tr}T T6 T`6 M5} T`;M ((((((((((((((((((((((~s
FR6r [Mr ?y6 DT V?y6DZF ?y[TW!
y! Dhi ni+m(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((~s
yy! Mc php ton t/Pn &,nh -ch liPn kt(((((((((((((((((((((((((((((((((((((((((((~z
yy!C! T'o &,nh -ch(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((~z
yy!T! Mp nht &,nh -ch((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((~~
yy!g! Fuy+t &,nh -ch(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Cff
yy!k! T0m kim(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Cff
yy!m! [p xp((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CfC
Hi tp((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CfT
Mr)6e s cc thut ton t/Pn c5u t/;c c<(((((((((((((((((((((((((((((Cfk
y! ih<n lo'i c<y((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Cfk
y!C! Ot -. khi ni+m c) bn((((((((((((((((((((((((((((((((((((((((((((((((((((((Cfk
y!T! Mch biu &iIn c<y(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Cfs
y!g! Hiu &iIn thJ t* cc n;t t/ong c<y((((((((((((((((((((((((((((((((((Cfs
yy! M<y nh ph<n VHin,/y t/::W((((((((((((((((((((((((((((((((((((((((((((((((((((((Cfz
yy!C! Gnh ngh,(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Cfz
yy!T! Mc php ton t/Pn c<y nh ph<n((((((((((((((((((((((((((((((((((CCf
C! T'o c<y(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CCf
T! Mp nht c<y((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CCT
g! Mc php &uy+t c<y((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CCs
yyy! c<y nh ph<n T0O DyO c<n bng VRQ?W(((((((((((((((((((((((((CCz
yyy!C! Gnh ngh,(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CCz
yyy!T! Mc php ton t/Pn c<y RQ?((((((((((((((((((((((((((((((((((((((((((((((CC{
yyy!T!C! ThPm n;t(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CC{
yyy!T!T! Mp nht c<y((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CTs
yyy!T!g! Mc php &uy+t c<y((((((((((((((((((((((((((((((((((((((((((((((((((((CTz
Hi tp((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((CT~
Cm{
T6I LI8 THO" KH$x
C! D thut lp t/0nh Tu/bo M Go
ih;c2 6guyIn ihi Dht2 C~~T
T' Oinh Mh<u2
6guyIn G0nh TP
. M5u t/;c &8 li+u Jng &$ng 6guyIn
r@ng Mh)ng C~~~
4 ci >t bng M
!. 6h8ng 4iPn ngNc D thut ohnH:ntl:y
lp t/0nh

You might also like