You are on page 1of 110

1 Fall 2006

Ton ri rac
L THUYT TO HQP
CombinatoriaI Theory
FaII 2006
Phn th nht
2 Fall 2006
Ton ri rac
i dung
Chuong 1. M du
Chuong 2. Bi ton dm
Chuong 3. Bi ton tn tai
Chuong 4. Bi ton lit k t hop
Chuong 5. Bi ton ti uu t hop
3 Fall 2006
Ton ri rac
Chuong 4. BI TO LIET K TO HQP
1. Gii thiu bi ton
2. Khi nim thut ton
3. K hiu tim cn
4. phc tap tnh ton ca thut ton
5. Phuong php sinh
6. Thut ton quay lui
4 Fall 2006
Ton ri rac
. Gii thiu bi ton
Bi ton -ua ra danh sch tt c cu hnh t
hp tho mn mt s tnh cht cho tr-uc -uc
gi l bi ton lit k t hp.
Cn xc nh mt thut ton theo c
th ln l-t xy dng u-c tt c cc cu hnh
cn quan tm.
Mt thut ton lit k phi m bo 2 yu cu
c bn:
khng -c lp li mt cu hnh,
khng -c b st mt cu hnh.
5 Fall 2006
Ton ri rac
2. Khi nim thut ton
Thut ton l dy cc quy tc xc djnh
cn thuc hin d gii bi ton.
V du:
Thut ton tm UCLN ca hai s nguyn
Thut ton gii phuong trnh bc hai
6 Fall 2006
Ton ri rac
. K hiu tim cn (Asymptotic otation)
#, ,
uoc s dung d m t thi gian tnh ca thut ton.
uoc xc djnh di vi cc hm nhn gi trj nguyn
khng m.
Dng d so snh tc d tng ca hai hm.
7 Fall 2006
Ton ri rac
. K hiu O
i vi hm g(n) cho
truc, ta k hiu O(g(n))
l tp cc hm:
O(g(n)) = {f(n): tn tai cc
hng s duong c v k
sao cho: f(n) A cg(n)
vi moi n K k }
Ta ni (3) I cn trn tim cn ca 1(3)
8 Fall 2006
Ton ri rac
'J d Cm 1() =
2
+ 2x + I O(n
2
)
Chi ra rng f(x) = x
2
+ 2x + 1 l O(n
2
)
Cn chng minh: x
2
+ 2x + 1 ^ c*x
2
vi moi x K k
Trong d c l hng s no d
ng khi x ln hon mt gi trj k no d
C:
2x
2
_ 2x khi x _ 1
x
2
_ 1 khi x _ 1
Suy ra: x
2
+ 2x + 1 ^ x
2
+2x
2
+x
2
= 4x
2
vi moi x _

Vy x
2
+ 2x + 1 ^ c*x
2
vi moi x _
vi hng s c = 4, k = 1
9 Fall 2006
Ton ri rac
10 Fall 2006
Ton ri rac
'J d 2 Chng minh rng n = O(n
n
)
chng minh -uc iu ny, theo
nh ngha ta phi ch ra -uc tn
ti hng s duong C v k sao cho
n! A C. (n
n
) vi mi n K k
C n! = n(n-1)(n-2)(n-3).(3)(2)(1)
A n(n)(n)(n).(n)(n)(n) = n
n
Vy n! ^ 1*n
n
vi moi n _
vi hng s c = 1, v vi k=0
11 Fall 2006
Ton ri rac
'J d Cm 1(n) = n
2
+ 000 I O(n
2
)
Tc l phi Cm n
2
+ 1000 ^ c*n
2
Ta c n
2
> 1000 khi n > 31
Nhu vy ta thay 1000 bi n
2
Dn dn n
2
+ 1000 ^ c*n
2
, khi n > 31
trong d c=2
Vy, f(n) l O(n
2
)
12 Fall 2006
Ton ri rac
.2 K hiu
i vi hm g(n) cho truc,
ta k hiu (g(n)) l tp cc
hm:
(g(n)) = {f(n): tn tai cc
hng s duong c v k sao
cho: cg(n) A f(n) vi moi n
K k }
Ta ni (3) I cn di tim cn cho 1(3)
13 Fall 2006
Ton ri rac
. K hiu #
li vi hm (3) ta k
hiu #((3)) I tp cc
hm
#((3)) 1(3): tn ti cc
hng s .
1
, .
2
v sao cho
0 A .
1
(3) A 1(3) A .
2
(3)
vi mi 3K <
Ta ni rng #((n)) I dnh gi tim cn dng cho 1(3)
14 Fall 2006
Ton ri rac
.4 Lin h gia # O
i vi hai hm bt ky 3 va 13,
13 #3 khi v chi khi 13 3 v
13 3.
15 Fall 2006
Ton ri rac
'J d 4 Cm n

+ 2n
2
+7n + 9 = #(n

).
Do 3n
3
+ 2n
2
+7n + 9 A 3n
3
+ 2n
3
+ 7n
3
+ 9n
3
= 21 n
3
vi moi n K 1,
Theo djnh ngha trn, chon C = 21, k=1 ta duoc:
3n
3
+ 2n
2
+7n + 9 = O(n
3
).
Do 3n
3
+ 2n
2
+7n + 9 K 3 n
3
vi moi n K 1,
Theo djnh ngha trn, chon C = 3, k=1 ta duoc:
3n
3
+ 2n
2
+7n + 9 = (n
3
).
Do 3n
3
+ 2n
2
+7n + 9 = O(n
3
)
v 3n
3
+ 2n
2
+7n + 9 = (n
3
)
nn
3n
3
+ 2n
2
+7n + 9 = #(n
3
).
Ph-ng php chng minh trong Vd4 c th s dng ch ra rng
mi a thc bc k vi h s du-ng:
P
k
(n) = a
k
n
k
+ a
k-1
n
k-1
+ . . . + a
1
n + a
0
c bc l #(n
k
).
Tc l: P
k
(n) = #(n
k
).
16 Fall 2006
Ton ri rac
.5 Thi gian tJnh
Ni "Thi gian tnh l 13
hiu l: nh gi trong tnh hung ti nht
(worst case) l 13
"Thi gian tnh l 13 nh gi trong
tnh hung tt nht (best case) l 13
Hay ni "nh gi thi gian tnh trong tnh
hung tt nht l 13
Ngha l thi gian tnh trong tnh hung tt nht duoc
xc djnh bi mt hm no d 3 Z 13
17 Fall 2006
Ton ri rac
Chuong 4. BI TO LIET K TO HQP
1. Gii thiu bi ton
2. Khi nim thut ton
3. K hiu tim cn
4. phc tap tnh ton ca thut ton
5. Phuong php sinh
6. Thut ton quay lui
18 Fall 2006
Ton ri rac
4. l phc tap tJnh ton ca thut ton
Phn tch thut ton l qu trnh tm ra
nhng nh gi v thi gian tnh cng
nh- dung l-ng b nh cn thit
thc hin thut ton.
l phc tp tnh ton ca mt thut ton
l l-ung thi gian v b nh cn thit
thc hin thut ton.
19 Fall 2006
Ton ri rac
c bit quan tm n vic nh gi thi gian
cn thit thc hin thut ton, ta s gi l
thi gian tnh ca thut ton.
R rng, thi gian tnh ca mt thut ton l hm ca
d liu u vo.
Thng th-ng kh c th xy dng cng thc du-i
dng hin cho hm ny,
Thay v lm vic vi d liu u vo, ta s lm vic
vi mt c tr-ng quan trng ca d liu u vo,
l kch th-c ca n.
Tm cch dnh gi thi gian tnh ca thut ton bi
hm ca kch thuc d liu vo
20 Fall 2006
Ton ri rac
Phn tJch thut ton
Chng ta s quan tm n
Thi gian ti thiu cn thit thc hin
thut ton vi mi b d liu u vo kch
th-c n.
=>Thi gian tnh tt nht ca thut ton.
Thi gian nhiu nht cn thit thc hin
thut ton vi mi b d liu u vo kch
th-c n.
=> thi gian tnh tai nht ca thut ton.
Thi gian trung bnh cn thit thc hin
thut ton trn tp hu hn cc u vo kch
th-uc n. =>Thi gian tnh trung bnh ca thut
ton.
21 Fall 2006
Ton ri rac
lo thi gian tJnh bng cch no?
Thi gian m thut ton di hi khi n
chay trn my tnh
Phu thuc vo ngn ng lp trnh ci dt
thut ton
Phu thuc vo tc d my tnh
Phu thuc vo trnh d ca lp trnh vin
Khng n.
22 Fall 2006
Ton ri rac
lo thi gian tJnh bng cch no?
C th do bi s luong cu lnh my
m thut ton di hi
Cc CPU khc nhau di hi s luong cu
lnh khc nhau di vi cng mt thut ton
Khng n.
23 Fall 2006
Ton ri rac
lo thi gian tJnh bng cch no?
Bi s php ton co bn m thut ton di hi
thuc hin
Php ton m thi gian thuc hin bj chn bi hng s
So snh, gn, php ton s hoc vi s nguyn d di
hng s
Khng cn quan tm dn bao nhiu cu lnh my khi
n duoc bin djch
Cch dnh gi ny khch quan
Thut ton hiu qu cho d chay trn my tc d
chm hon vn c th thng thut ton chay trn my
tc d cao hon
24 Fall 2006
Ton ri rac
4. l phc tap tJnh ton ca thut ton
4.1. Tm phn t ln nht
4.2. Cc thut ton tm kim
4.2.1. Linear search
4.2.2. Binary search
4.3. Gii thut sp xp
4.3.1. Bubble sort
4.3.2 nsertion sort
25 Fall 2006
Ton ri rac
4.. AIgorithm Tm phn t In nht
Thut ton tm phn t ln nht trong
danh sch:
procedure max (a
1
, a
2
, ., a
n
: integers)
max := a
1
1or i := 2 to n do
i1 max < a
i
then max := a
i
{max l phn t ln nht}
26 Fall 2006
Ton ri rac
procedure max (a
1
, a
2
, ., a
n
: integers)
max := a
1
1or i := 2 to n
i1 max < a
i
then max := a
i
max := a
1
1or i := 2 to n
i1 max < a
i
then max := a
i
AIgorithm Tm phn t In nht
4 1 7 0 5 2 9 3 6 8
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
max
i 2 3 4 5 67 8 910
47 9
27 Fall 2006
Ton ri rac
Phn tJch thi gian tJnh
Thut ton lm mt bao lu?
Nu danh sch c n phn t, th trong
tnh hung xu nht n di hi n "buc
dy buc duoc xt nhu l vic duyt qua
mt phn t ca danh sch
28 Fall 2006
Ton ri rac
4. l phc tap tJnh ton ca thut ton
4.1. Tm phn t ln nht
4.2. Cc thut ton tm kim
4.2.1. Linear search
4.2.2. Binary search
4.3. Gii thut sp xp
4.3.1. Bubble sort
4.3.2 nsertion sort
29 Fall 2006
Ton ri rac
4.2. Cc thut ton tm kim
Searching aIgorithms
Cho mt danh sch, cn tm mt phn t
chi djnh trong danh sch
Xt hai dang tm kim
Tm kim tuyn tnh (Linear search)
tm kim tun tu
Tm kim nhj phn (Binary search)
30 Fall 2006
Ton ri rac
4.2.. AIgorithm 2 Linear search
Cho mt danh sch, cn tm phn t chi djnh trong danh
sch
Danh sch KHNG duoc sp th tu!
procedure linear_search (x: integer; a
1
, a
2
, ., a
n
: integers)
i := 1
hiIe ( i ^n and x = a
i
)
i := i + 1
i1 i ^ n then location := i
eIse location := 0
{location l vj tr ca phn t c gi trj bng x, hoc bng 0
nu khng tm thy x}
31 Fall 2006
Ton ri rac
procedure linear_search (x: integer; a
1
, a
2
, ., a
n
: integers)
i := 1
hiIe ( i ^n and x = a
i
)
i := i + 1
i1 i ^ n then location := i
eIse location := 0
i := 1
hiIe ( i ^n and x = a
i
)
i := i + 1
i1 i ^ n then location := i
eIse location := 0
AIgorithm 2 Linear search 'J d
4 1 7 0 5 2 9 3 6 8
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
i 2 3 4 5 67 81
x 3
location 8
32 Fall 2006
Ton ri rac
procedure linear_search (x: integer; a
1
, a
2
, ., a
n
: integers)
i := 1
hiIe ( i ^n and x = a
i
)
i := i + 1
i1 i ^ n then location := i
eIse location := 0
i := 1
hiIe ( i ^n and x = a
i
)
i := i + 1
i1 i ^ n then location := i
eIse location := 0
AIgorithm 2 Linear search 'J d 2
4 1 7 0 5 2 9 3 6 8
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
i 2 3 4 5 67 8 910 1
x 11
location 0
11
33 Fall 2006
Ton ri rac
Thi gian tJnh ca Linear search
Mt bao lu?
Nu danh sch c n phn t th trong
tnh hung ti nht LS di hi n buc
("steps)
dy mt buc duoc xt nhu vic duyt qua
mt phn t ca danh sch
34 Fall 2006
Ton ri rac
4.2.2. AIgorithm Tm kim nh[ phn
Binary search
Cho danh sch v mt phn t x, Tm x trong danh sch
Danh sch phi duoc sp th tu!
Mi ln lp gim duoc mt na danh sch
procedure binary_search (x: integer; a
1
, a
2
, ., a
n
: integers)
% a
1
, a
2
, ., a
n
: dy s nguyn tng
i := 1 { i : mt tri ca doan cn xt }
j := n { j : mt phi ca doan cn xt }
hiIe i < j
begin
m := (i+j)/2 { m l dim gia }
i1 x > a
m
then i := m+1
eIse j := m
end
i1 x = a
i
then location := i
eIse location := 0
{location l chi s ca phn t bng x, hoc bng 0 nu khng tm thy x}
35 Fall 2006
Ton ri rac
AIgorithm Binary search vJ d
2 4 6 8 10 12 14 16 18 20
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
i j m
i := 1
j := n
procedure binary_search (x: integer; a
1
, a
2
, ., a
n
: increasing integers)
hiIe i < j
begin
m := (i+j)/2
i1 x > a
m
then i := m+1
eIse j := m
end
i1 x = a
i
then location := i
eIse location := 0
i := 1
j := n
hiIe i < j
begin
m := (i+j)/2
i1 x > a
m
then i := m+1
eIse j := m
end
i1 x = a
i
then location := i
1
x 14
10 5 6 8 8 7 7 6 7
location 7
36 Fall 2006
Ton ri rac
AIgorithm Binary search vJ d 2
2 4 6 8 10 12 14 16 18 20
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
i j m
i := 1
j := n
procedure binary_search (x: integer; a
1
, a
2
, ., a
n
: increasing integers)
hiIe i < j
begin
m := (i+j)/2
i1 x > a
m
then i := m+1
eIse j := m
end
i1 x = a
i
then location := i
eIse location := 0
i := 1
j := n
hiIe i < j
begin
m := (i+j)/2
i1 x > a
m
then i := m+1
eIse j := m
end
i1 x = a
i
then location :=
eIse location := 0
1
x 15
10 5 6 8 8 7
location 0
8
37 Fall 2006
Ton ri rac
Thi gian tJnh ca tm kim nh[ phn
Binary search running time
Mt bao lu (trong tnh hung xu nht)?
Nu danh sch c 8 phn t
i hi 3 buc
Nu danh sch c 16 phn t
i hi 4 buc
Nu danh sch c 64 phn t
i hi 6 buc
Nu danh sch c n phn t
i hi log
2
n buc
38 Fall 2006
Ton ri rac
4. l phc tap tJnh ton ca thut ton
4.1. Tm phn t ln nht
4.2. Cc thut ton tm kim
4.2.1. Linear search
4.2.2. Binary search
4.3. Gii thut sp xp
4.3.1. Bubble sort
4.3.2 nsertion sort
39 Fall 2006
Ton ri rac
4.. Gii thut sp xp
Sorting aIgorithms
Cho mt danh sch, cn sp xp cc
phn t ca danh sch theo mt th tu
no d
Gi trj s, t din (lexicographic), v.v...
Xt hai thut ton
Sp xp ni bot (Bubble sort)
Sp xp chn (nsertion sort)
40 Fall 2006
Ton ri rac
4... AIgorithm 4 Sp xp ni bt
(BubbIe sort)
Mt trong nhng thut ton sp xp don gin nht
Cng l km hiu qu nht
S xt ln luot cc phn t v cho phn t nhe ni
dn ln du danh sch
procedure bubble_sort (a
1
, a
2
, ., a
n
)
1or i := 1 to n-1
1or j := 1 to n-i
i1 a
j
> a
j+1
then li ch a
j
v a
j+1
{ a
1
, ., a
n
c th tu tng dn }
41 Fall 2006
Ton ri rac
AIgorithm 4 BubbIe sort
procedure bubble_sort (a
1
, a
2
, ., a
n
)
1or i := 1 to n-1
1or j := 1 to n-i
i1 a
j
> a
j
+1
then i ch a
j
v a
j+1
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
i j
1
4 1 7 0 5 2 9 3 6 8
1or i := 1 to n-1
1or j := 1 to n-i
i1 a
j
> a
j
+1
then i ch a
j
v a
j+1
2
1 4
3
4
5
6
7
8
9
10
0 7
5
7
42 Fall 2006
Ton ri rac
Thi gian tJnh ca sp xp ni bt
BubbIe sort running time
Thut ton sp xp ni bot:
1or i := 1 to n-1
1or j := 1 to n-i
i1 a
j
> a
j
+1
then li ch a
j
v a
j+1
Vng lp ngoi lp n-1 ln
Vng lp trong thuc hin
n-1 ln lp trong ln lp du tin
n-2 ln lp trong ln lp th hai
.
1 ln lp trong ln lp cui cng
Tng cng: (n-1) + (n-2) + (n-3) + . + 2 + 1 = (n
2
-n)/2
Ta c th ni rng thut ton di hi lp "c n
2
ln
43 Fall 2006
Ton ri rac
4..2. AIgorithm 5 Sp xp chn
Insertion sort
Mt dang thut ton sp xp don gin (km hiu qu)
Thut ton bt du vi danh sch c 1 phn t, v mi buc
s tin hnh chn mt phn t vo dng vj tr ca n trong
danh sch d duoc sp xp hin c
procedure insertion_sort (a
1
, a
2
, ., a
n
)
1or j := 2 to n
begin
i := 1
hiIe a
j
> a
i
i := i +1
m := a
j
1or k := 0 to j-i-1
a
j-k
:= a
j-k-1
a
i
:= m
end { a
1
, a
2
, ., a
n
duoc sp }
Ly phn t tip theo trong danh sch
Tm v[ trJ trong danh sch d duc
sp xp hin c cho phn t dang xt
D[ch chuyn sang phi mt v[ trJ cc
phn t In hon phn t dang xt
lua phn t dang xt vo dng v[ trJ ca n trong danh sch b phn dang xt
44 Fall 2006
Ton ri rac
Thi gian tJnh ca sp xp chn
Insertion sort running time
1or j := 2 to n begin
i := 1
hiIe a
j
> a
i
i := i +1
m := a
j
1or k := 0 to j-i-1
a
j-k
:= a
j-k-1
a
i
:= m
end { a
1
, a
2
, ., a
n
duoc sp }
Vng lp ngoi lp n-1 ln
Trong vng lp for bn trong:
Tnh hung xu nht khi vng lp while gi nguyn i l 1, khi d vng lp
for bn trong s phi lp nhiu ln nht
Nu i l 1, vng for bn trong lp 1 ln (k chay t 0 dn 0) trong ln lp du
tin, 1 ln trong ln th hai, cho dn n-2 ln trong ln lp cui cng
Tng cng l 1 + 2 + . + n-2 = (n-1)(n-2)/2
Ta c th ni l "c n
2
ln lp
45 Fall 2006
Ton ri rac
So snh thi gian tJnh
Tm kim
Tuyn tnh: n buc
Nhj phn: log
2
n buc
Tm kim nhj phn l nhanh hon
Sp xp
Ni bot: n
2
buc
Chn: n
2
buc
Kt lun:
Thut ton tm kim tuyn tnh c thi gian l O(n)
Thut ton tm kim nhj phn c thi gian l O(log
2
n)
Thut ton sp xp ni bot c thi gian l O(n
2
)
Thut ton sp xp chn c thi gian l O(n
2
)
46 Fall 2006
Ton ri rac
K hiu O In (Big-Oh)
Goi b(x) l thut ton sp xp ni bot
Ta ni b(x) l O(n
2
)
iu d c ngha l khi kch thuc d liu tng th thi
gian tnh ca sp xp ni bot tng nhanh khng qu
tc d tng bnh phuong ca kch thuc d liu
Ni cch khc l n bj chn bi c.n
2
, trong d c l hng
s
Goi l(x) l thut ton tm kim tuyn tnh
Ta ni l(x) l O(n)
Ngha l thi gian tnh ca tm kim tuyn tnh l t l
vi kch thuc d liu
47 Fall 2006
Ton ri rac
'J d
CM: f(n) = 3n+7 l O(n
2
)
Hay l cn chi ra 3n+7 ^ c*n
2
Thay 7 bi n
Dn dn 3n+7 < 4n < c*n
2
ng vi n > 7 v c _ 1
Vy, f(n) l O(n
2
) !
48 Fall 2006
Ton ri rac
C ngha g?
Nu mt hm l O(n)
Th n cng l O(n
2
)
V cng l O(n
3
)
Ngha l hm O(n) s tng chm hon tc
d n
2
, n
3
, v.v...
49 Fall 2006
Ton ri rac
Tc d tng ca hm
Khi n = 1000
O(1) 1
O(log n) =10
O(n) 10
3
O(n log n) =10
4
O(n
2
) 10
6
O(n
3
) 10
9
O(n
4
) 10
12
O(n
c
) 10
3*c
c l hng s
2
n
=10
301
n! =10
2568
n
n
10
3000
C nhiu thut ton c
dnh gi thi gian dang ny
50 Fall 2006
Ton ri rac
Sp xp ni bt
Sp xp ni bot di hi (n
2
-n)/2 "buc
Chay trn cc CPU khc nhau:
ntel Pentium V CPU: 58*(n
2
-n)/2
Motorola CPU: 84.4*(n
2
-n)/2
ntel Pentium V CPU: 44*(n
2
-n)/2
rng mi dnh gi du cha s hang n
2
Khi n tng, cc s hang khc c th b qua
51 Fall 2006
Ton ri rac
Thi gian ca sp xp ni bt
Dn dn:
ntel Pentium V CPU: 29n
2
Motorola CPU: 42.2n
2
ntel Pentium V CPU: 22n
2
Khi thay di b x l, hng s dng truc s
thay di
S m ca n th khng thay di
Nhu vy, khi quan tm dn tc d tng ca
hm, ta khng cn quan tm dn cc hng s
52 Fall 2006
Ton ri rac
Chuong 4. BI TO LIET K TO HQP
1. Gii thiu bi ton
2. Khi nim thut ton
3. K hiu tim cn
4. phc tap tnh ton ca thut ton
5. Phuong php sinh
6. Thut ton quay lui
53 Fall 2006
Ton ri rac
5. Phuong php sinh
5.1. So d thut ton
5.2. Sinh cc cu hnh t hop co bn
5.2.1. Sinh xu nhj phn d di n
5.2.2. Sinh tp con m phn t ca tp n phn t
5.2.3. Sinh hon vj
54 Fall 2006
Ton ri rac
5. So d thut ton
Ph-ng php sinh c th p dng gii bi ton
lit k t hp t ra nu nh- hai iu kin sau
u-c thc hin:
1) C th xc nh -c mt th t trn tp
cc cu hKnh t hp cn lit k. T c th xc
nh -c cu hKnh u tin v cu hKnh cui
cng trong th t xc nh.
2) Xy dng -c thut ton t cu hKnh ch-a
phi l cui cng ang c, -a ra cu hKnh k
tip n.
55 Fall 2006
Ton ri rac
5rocedure Generate;
Bein
<Xy dn cu hinh du tin
$to51alse;
while not sto5 do
bein
<a ra cu hinh dan c
$inh_k_ti5;
end;
End.
9J.
$inh_k_tip l th tc sinh cu
hKnh k tip theo thut ton sinh
k tip xy dng.
Nu cu hKnh ang c l cui
cng, th tc ny cn gn cho
bin $top gi tr true, ng-c li th
tc ny s xy dng cu hKnh k
tip ca cu hKnh ang c trong
th t xc nh.
5. So d thut ton
56 Fall 2006
Ton ri rac
5.2 Sinh cc cu hnh t hp co bn
5.1. So d thut ton
5.2. Sinh cc cu hnh t hop co bn
5.2.1. Sinh xu nhj phn d di n
5.2.2. Sinh tp con m phn t ca tp n phn t
5.2.3. Sinh hon vj
57 Fall 2006
Ton ri rac
21 Lit k cc dy nh| phn d di 3
Bi ton: Lit k tt c cc dy nhj phn d
di n: b
1
b
2
... b
n
, trong d b
i
Z {0, 1}.
Th tu tu nhin:
Xem mi dy nh phn b = b
1
b
2
... b
n
l biu
din nh phn ca mt s nguyn p(b)
Ta ni dy nh phn b = b
1
b
2
... b
n
i tr-c dy
nh phn b' = b'
1
b'
2
... b'
n
trong th t t nhin
v k hiu l b b' nu p(b) < p(b').
58 Fall 2006
Ton ri rac
' d Khi n=3, cc
dy nh phn di
3 -c lit k theo
th t t nhin trong
-ng -Hn
D thy th tu ny
trng vi th tu t
din
b p(b)
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
59 Fall 2006
Ton ri rac
Dy u tin s l 0 0 ... 0,
Dy cui cng l 1 1 ... 1.
Gi s -

-
3
l dy ang c.
Nu dy ny gm ton s 1, kt thc,
Tri li, dy k tip nhn -c bng cch cng thm 1 (theo
modun 2, c nh) vo dy hin ti.
T ta c qui tc sinh dy k tip nh- sau:
Tm u tin (theo th t 33) tho mn -

0.
Gn li -

v -

0 vi tt c Dy mi thu u-c s l dy
cn tm.
Thut ton sinh k tip dy nh[ phn d di n
60 Fall 2006
Ton ri rac
'J d
Xt dy nh phn di 10: b =
1101011111.
Ta c i = 5.
Do , t b
5
= 1, v b
i
= 0, i = 6, 7, 8, 9,
10, ta thu -c xu nh phn k tip l
1101100000.
61 Fall 2006
Ton ri rac
phng thut ton sinh xu k tip
procedure Next_Bit_$tring;
(* $inh xu nh phn k tip theo th t t in t
xu ang c b
1
b
2
... b
n
1 1 ... 1 *)
begin
i:=n;
while b
i
= 1 do
begin
b
i
= 0;
i:=i-1;
end;
b
i
:= 1;
end;
62 Fall 2006
Ton ri rac
5.2 Sinh cc cu hnh t hp co bn
5.1. So d thut ton
5.2. Sinh cc cu hnh t hop co bn
5.2.1. Sinh xu nhj phn d di n
5.2.2. Sinh tp con m phn t ca tp n phn t
5.2.3. Sinh hon vj
63 Fall 2006
Ton ri rac
5.2.2 Lit k cc tp con m phn t ca tp n phn t
Bi ton t ra l: Cho X = {1, 2, ... , n}.
Hy lit k cc tp con m phn t ca X.
Mi tp con m phn t ca X c th
biu din bi b c th t gm m thnh
phn
a = (a
1
, a
2
, ... , a
m
)
tho mn
1 A a
1
< a
2
< ... < a
m
A n.
64 Fall 2006
Ton ri rac
Th t t din
Ta ni tp con a = (a
1
, a
2
,..., a
m
) i tr-c
tp con a' = (a'
1
, a'
2
, ... , a'
m
) trong th
t t in v k hiu l a a', nu tKm
-c ch s k (1 A k A m) sao cho
a
1
= a'
1
, a
2
= a'
2
, . . . , a
k-1
= a'
k-1
,
a
k
< a'
k
.
65 Fall 2006
Ton ri rac
'J d
Cc tp con 3 phn t ca X = {1, 2, 3, 4, 5} -uc lit k
theo th t t in nh- sau
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
66 Fall 2006
Ton ri rac
Thut ton sinh tp con k tip
Tp con u tin l (1, 2, ... , m)
Tp con cui cng l (n-m+1, n-m+2, ..., n).
Gi s a=(a
1
, a
2
, ... , a
m
) l tp con ang c
chu-a phi cui cng, khi tp con k tip
trong th t t in c th xy dng bng cch
thc hin cc quy tc bin i sau i vi tp
ang c:
Tm t bn phi dy a
1
, a
2
,..., a
m
phn t a
i
n-m+i,
Thay a
i
bi a
i
+ 1;
Thay a
j
bi a
i
+ j - i, vi j = i+1, i+2,..., m.
67 Fall 2006
Ton ri rac
' d n = 6, m = 4. Gi s ang c
tp con (1, 2, 5, 6), cn xy dng tp
con k tip n trong th t t in.
Ta c i=2, thay a
2
= 3, v a
3
= 4, a
4
= 5,
ta u-c tp con k tip (1, 3, 4, 5).
68 Fall 2006
Ton ri rac
phng thut ton sinh tp con k tip
procedure Next_Combination;
(* $inh m-tp con k tip theo th t t in
ca tp con (a
1
, a
2
,..., a
m
) {n-m+1,...,n } *)
begin
i:=m;
while a
i
= n-m+i do i:=i-1;
a
i
:= a
i
+ 1;
for j:=i+1 to m do a
j
:= a
i
+ j - i;
end;
69 Fall 2006
Ton ri rac
5.2 Sinh cc cu hnh t hp co bn
5.1. So d thut ton
5.2. Sinh cc cu hnh t hop co bn
5.2.1. Sinh xu nhj phn d di n
5.2.2. Sinh tp con m phn t ca tp n phn t
5.2.3. Sinh hon vj
70 Fall 2006
Ton ri rac
5.2. Lit k cc hon v ca tp n phn t
Bi ton t ra l: Cho X = {1, 2, ... , n}.
Hy lit k cc hon v t n phn t ca
X.
Mi hon v t n phn t ca X c th
biu din bi b c th t gm n thnh
phn a = (a
1
, a
2
, ... , a
n
) tho mn
a
i
Z X , i = 1, 2,..., n , a
p
a
q
, p q.
71 Fall 2006
Ton ri rac
Th t t din
Ta ni hon v a = (a
1
, a
2
,..., a
n
) i tr-c
hon v a' = (a'
1
, a'
2
, ... , a'
n
) trong th t
t in v k hiu l a a', nu tKm
-c ch s k (1 A k A n) sao cho:
a
1
= a'
1
, a
2
= a'
2
, ... , a
k-1
= a'
k-1
, a
k
<
a'
k
.
72 Fall 2006
Ton ri rac
'J d
Cc hon v t 3 phn t ca X ={1, 2, 3}
-c lit k theo th t t in nh- sau
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
73 Fall 2006
Ton ri rac
Thut ton sinh k tip
Hon v u tin (1, 2, ... , n)
Hon v cui cng l (n, n-1, ..., 1).
Gi s a = (a
1
, a
2
, ... , a
n
) l hon v ch-a phi
cui cng, khi hon v k tip n c th
xy dng nh thc hin cc bin i sau:
TKm t phi qua tri hon v ang c ch s j u tin
tho mn a
j
< a
j+1
(ni cch khc: j l ch s ln nht
tho mn a
j
< a
j+1
);
TKm a
k
l s nh nht cn ln hn a
j
trong cc s bn
phi a
j
;
i ch a
j
vi a
k
;
Lt ng-c on t a
j+1
n a
n
.
74 Fall 2006
Ton ri rac
'J d
Gi s ang c hon v (3, 6, 2, 5, 4,
1), cn xy dng tp con k tip n
trong th t t in.
Ta c ch s j = 3 (a
3
=2 < a
4
= 5).
S nh nht cn ln hn a
3
trong cc s
bn phi ca a
3
l a
5
= 4. i ch a
3
vi
a
5
ta thu -c (3, 6, 4, 5, 2, 1),
Cui cng, lt ng-c th t on a
4
a
5
a
6
ta thu -c hon v k tip (3, 6, 4, 1, 2,
5).
75 Fall 2006
Ton ri rac
phong thut ton sinh hon v| k tip
procedure Next_Permutation;
(*$inh hon v k tip (a
1
, a
2
, ..., a
n
) (n, n-1, ..., 1) *)
begin
(* TKm j l ch s ln nht tho a
j
< a
j+1
*)
j:=n-1; while a
j
> a
j+1
do j:=j-1;
(* TKm a
k
l s nh nht cn ln hn a
j
bn phi a
j
*)
k:=n; while a
j
> a
k
do k:=k-1;
$wap(a
j
, a
k
); (* i ch a
j
vi a
k
*)
(* Lt ng-c on t a
j+1
n a
n
*)
r:=n; s:=j+1;
while r>s do begin
$wap(a
r
, a
s
); (* i ch a
r
vi a
s
*)
r:=r-1; s:= s+1;
end;
end;
76 Fall 2006
Ton ri rac
Chuong 4. BI TO LIET K TO HQP
1. Gii thiu bi ton
2. Khi nim thut ton
3. K hiu tim cn
4. phc tap tnh ton ca thut ton
5. Phuong php sinh
6. Thut ton quay lui
77 Fall 2006
Ton ri rac
6. Thut ton quay Iui
6.1. Pht biu bi ton lit k
6.2. Li gii b phn
6.3. So d thut ton quay lui
6.4.1 s v du
6.4.1. Lit k xu nhj phn d di n
6.4.2. Lit k moi tp con m phn t ca tp n phn t
6.4.3. Lit k moi hon vj
78 Fall 2006
Ton ri rac
6.. Pht biu bi ton Iit k
Bi ton lit k (Q)
Cho A
1
, A
2
, ..., A
n
l cc tp : hn. K hiu:
X = A
1
L A
2
L ...L A
n
= { (x
1
, x
2
, ..., x
n
): x
i
Z A
i
, i=1, 2, ..., n}.
Gi s ! l tnh cht cho trn X. Vn t ra l lit k tt
c cc phn t ca X tho mn tnh cht !
D = { x = (x
1
, x
2
, ..., x
n
) Z X: x tho mn tnh cht ! }.
Cc phn t ca tp D -c gi l cc li gii chp nhn -c.
79 Fall 2006
Ton ri rac
'J d
Tt c cc bi ton lit k t hp c bn u c
th pht biu d-i dng bi ton (Q)
Bi ton lit k xu nh phn di n dn v
vic lit k cc phn t ca tp
B
n
= {(x
1
, ..., x
n
): x
i
Z {0, 1}, i=1, 2, ..., n}.
Bi ton lit k cc tp con m phn t ca tp N =
{1, 2, ..., n}i hi lit k cc phn t ca tp:
$(m,n) = {(x
1
,..., x
n
)ZN
m
: 1 > x
1
< ... < x
m
> n }.
Tp cc hon v ca cc s t nhin 1, 2, ..., n l
tp
"
n
= {(x
1
,..., x
n
) Z N
n
: x
i
= x
j
; i = j }.
80 Fall 2006
Ton ri rac
6.2. Li gii b phn
lnh ngha. Ta gi li gii b phn
cp k (0 > k > n) l b c th t gm k
thnh phn (a
1
, a
2
, ..., a
k
), trong a
i
Z
A
i
, i = 1, 2, ..., k.
Khi k = 0, li gii b phn cp 0 -c k
hiu l () v cn -c gi l li gii rng.
Nu k = n, ta c li gii y hay
n gin l mt li gii ca bi ton.
81 Fall 2006
Ton ri rac
6.. So d thut ton quay Iui
Thut ton quay lui -c xy dng da trn vic xy
dng dn tng thnh phn ca li gii.
Thut ton bt u t li gii rng ().
Trn c s tnh cht ! ta xc nh -c nhng phn
t no ca tp A
1
c th chn vo v tr th nht
ca li gii. Nhng phn t nh- vy ta s gi l nhng
ng c vin (vit tt l UCV) vo v tr th nht ca
li gii.
K hiu tp cc UCV vo v tr th nht ca li gii l $
1
.
Ly a
1
Z $
1
, b sung n vo li gii rng ang c ta thu -c
li gii b phn cp 1: (a
1
).
82 Fall 2006
Ton ri rac
Ti bu-c tng qut:
Gi s ta ang c li gii b phn cp k-1: (a
1
,
a
2
, ..., a
k-1
).
Trn c s tnh cht ! ta xc nh -c nhng
phn t no ca tp A
k
c th chn vo v tr
th k ca li gii. Nhng phn t nh- vy ta s gi
l nhng ng c vin (vit tt l UCV) vo v tr
th k ca li gii khi k-1 thnh phn u ca n
-c chn l (a
1
, a
2
, ..., a
k-1
). K hiu tp cc
ng c vin ny l $
k
.
W F9 9Knh hung: $
k
= X. V $
k
= X.
6.. So d thut ton quay Iui (tip)
83 Fall 2006
Ton ri rac
$
k
= X. Khi ly a
k
Z $
k
, b sung n vo li gii b phn cp k-
1 ang c (a
1
, a
2
, ..., a
k-1
)
ta thu -c li gii b phn cp k:
(a
1
, a
2
, ..., a
k-1
, a
k
).
Nu k = n thK ta thu -c mt li gii,
Nu k < n, ta tip tc i xy dng thnh phn th k+1 ca li
gii.
$
k
= X (9Knh hung ng cu9 iu c ngha l li gii b phn
(a
1
, a
2
, ..., a
k-1
) khng th tip tc pht trin thnh li gii y .
Trong tKnh hung ny ta quay tr li tKm ng c vin mi vo v tr
th k-1 ca li gii.
Nu tKm thy UCV nh- vy thK b sung n vo v tr th k-1
ri li tip tc i xy dng thnh phn th k.
Nu khng tKm -c thK ta li quay tr li thm mt b-c na tKm
UCV mi vo v tr th k-2, ... Nu quay li tn li gii rng
m vn khng tKm -c UCV mi vo v tr th 1, thK thut
ton kt thc.
84 Fall 2006
Ton ri rac
Thut ton quay Iui
procedure Bactrack(k integer)
begin
Xy dng S
k

1or y Z S
k
do (* 'i mi UC' y t S
k
*)
begin
a
k
= y
i1 k = n then <Ghi nhn Ii gii (a

a
2
... a
k
)
eIse Backtrack(k-)
end
end
Lnh gi thc hin thut ton quay lui l:
Bactrack(1)
85 Fall 2006
Ton ri rac
Hai vn d mu cht
ci t thut ton quay lui gii cc
bi ton t hp c th ta cn gii quyt
hai vn c bn sau:
TKm thut ton xy dng cc tp UCV $
k
.
TKm cch m t cc tp ny c th ci
t thao tc lit k cc phn t ca chng
(ci t vng lp qui -c 1or y Z S
k
do).
Hiu qu ca thut ton lit k ph
thuc vo vic ta c xc nh -c
chnh xc cc tp UCV ny hay khng.
86 Fall 2006
Ton ri rac
Ch
Nu ch cn tKm mt li gii thK cn tKm cch chm dt cc th
tc gi qui lng nhau sinh bi lnh gi Backtrack() sau
khi ghi nhn -c li gii u tin.
Nu kt thc thut ton m ta khng thu -c mt li gii no
thK iu c ngha l bi ton khng c li gii.
Thut ton d dng m rng cho bi ton lit k trong li
gii c th m t nh- l b (a
1
, a
2
, ..., a
n
,...) di hu hn, tuy
nhin gi tr ca di l khng bit tr-c v cc li gii cng
khng nht thit phi c cng di.
Khi ch cn sa li cu lnh
i1 k = n then <Ghi nhn Ii gii (a

a
2
... a
k
)
eIse Backtrack(k+)
thnh
i1 <(a

a
2
... a
k
) I Ii gii> then <Ghi nhn (a

a
2
... a
k
)
eIse Backtrack(k+)
Cn xy dng hm nhn bit (a
1
, a
2
, ..., a
k
) l li gii hay ch-a.
87 Fall 2006
Ton ri rac
Cy Iit k Ii gii
theo thut ton quay Iui
88 Fall 2006
Ton ri rac
6.4.. t s vJ d
6.1. Pht biu bi ton lit k
6.2. Li gii b phn
6.3. So d thut ton quay lui
6.4.1 Mt s v du
6.4.1. Lit k xu nhj phn d di n
6.4.2. Lit k moi tp con m phn t ca tp n phn t
6.4.3. Lit k moi hon vj
89 Fall 2006
Ton ri rac
1 Lit k xu nh phn di n
Bi ton lit k xu nh phn di n dn v
vic lit k cc phn t ca tp
B
n
= {(x
1
, ..., x
n
): x
i
Z {0, 1}, i=1, 2, ..., n}.
Ta xt cch gii quyt hai vn c bn
ci t thut ton quay lui:
R rng ta c $
1
= {0, 1}. Gi s c xu nh phn
cp k (b
1
, ..., b
k
), khi r rng $
k
= {0,1}. Nh- vy,
tp cc UCV vo cc v tr ca li gii -c xc
nh.
ci t vng lp lit k cc phn t ca $
k
, d
thy l ta c th s dng vng lp ca PASCAL:
1or y= 0 to do
90 Fall 2006
Ton ri rac
Chuong trnh trn PascaI
var n: integer;
b: array120] of 01;
count: word;
procedure Ghinhan;
var i: integer;
begin
count : count+1;
write(count:, ' ');
for i : 1 to n do write(bi]:2);
writeln;
end;
procedure Xau(i: integer);
var j: integer;
begin
for j : 0 to 1 do
begin
bi] : j;
if i n then Ghinhan else Xau(i+1);
end;
end;
BEGIN ain program<
write('n '); readln(n);
count : 0; Xau(1);
write('G Enter d kt thc ');
readln
END
91 Fall 2006
Ton ri rac
Cy Iit k dy nh phn di
92 Fall 2006
Ton ri rac
6.4.2. Lit k cc tp con m phn t ca tp N = { 2 ... n}
Lit k cc phn t ca tp:
$(m,n)={(x
1
,..., x
m
)ZN
m
: 1 > x
1
<...<x
m
> n}
93 Fall 2006
Ton ri rac
Gii quyt 2 vn d mu cht
T iu kin
1 A a
1
< a
2
< ... < a
m
A n
suy ra
$
1
= {1, 2, ..., n-(m-1) }.
Gi s c tp con (a
1
, ..., a
k-1
), t iu kin
a
k-1
< a
k
< . . . < a
m
> n, ta suy ra
$
k
= {a
k-1
+1, a
k-1
+2, ..., n-(m-k)}.
ci t vng lp lit k cc phn t ca
$
k
, d thy l ta c th s dng vng lp ca
PASCAL:
1or y= a[k-(+ to n-m+k do..
94 Fall 2006
Ton ri rac
Chuong trnh trn PascaI
var n, m: integer;
a: array020] of byte;
count: word;
procedure Ghinhan;
var i: integer;
begin
count : count+1;
write(count:, ' ');
for i : 1 to m do write(ai]:);
writeln;
end;
procedure $et(i: integer);
var j: integer;
begin
for j : ai-1] +1 to n-m+i do
begin
ai] : j;
if i m then Ghinhan else $et(i+1);
end;
end;
BEGIN ain program<
write('n, m '); readln(n, m);
count : 0; $et(1);
write('G Enter d kt thc ');
readln
END
95 Fall 2006
Ton ri rac
Cy Iit k S(5)
96 Fall 2006
Ton ri rac
6.4.3. Lit k hon vj
Tp cc hon v ca cc s t nhin 1, 2, ..., n l
tp
"
n
= {(x
1
,..., x
n
) Z N
n
: x
i
= x
j
, i = j }.
97 Fall 2006
Ton ri rac
Gii quyt 2 vn d mu cht
R rng $
1
= N. Gi s ta ang c hon
v b phn (a
1
, a
2
, ..., a
k-1
), t iu
kin a
i
= a
j
, vi mi i = j ta suy ra
$
k
= N \ { a
1
, a
2
, ..., a
k-1
}.
Nh- vy ta c cch xc nh -c tp
cc UCV vo cc v tr ca li gii.
M t S
k
?
98 Fall 2006
Ton ri rac
t S
k
Xy dng hm nhn bit UC'
1unction UC'(jk integer) booIean
(* UC' nhn gi tr true khi v ch khi j Z S
k
*)
var i integer
begin
1or i= to k- do
i1 j = a[i( then
begin
UC'= 1aIse exit
end
UC'= true
end
99 Fall 2006
Ton ri rac
t S
k
Cu lnh quy -c "1or y Z Sk do c
th ci t nh- sau
1or y= to n do
i1 UC'(yk) then
begin
(* y I UC' v v tr k *)
. . .
end
100 Fall 2006
Ton ri rac
Chuong trnh trn PascaI
var
n count integer
a array[..20( o1 integer
procedure Ghinhan
var i integer
begin
count = count+ rite(count5 '. ')
1or i = to n do rite(a[i() riteIn
end
1unction UC'(jk integer) booIean
var i integer
begin
1or i= to k- do
i1 j = a[i( then begin
UC'= 1aIse exit
end
UC'= true
end
101 Fall 2006
Ton ri rac
procedure Hoanvi(i integer)
var j integer
begin
1or j = to n do
i1 UC'(j k) then
begin
a[i( = j
i1 i = n then Ghinhan eIse Hoanvi(i+)
end
end
BEGI {ain program}
rite('n = ') readIn(n)
count = 0
Hoanvi()
rite('G Enter kt thc... ') readIn
ED.
102 Fall 2006
Ton ri rac
Cy Iit k hon v[ ca 2
103 Fall 2006
Ton ri rac
6.4.4. Bi ton xp hu
Lit k tt c cc cch xp n qun Hu
trn bn c nLn sao cho chng khng n
-c ln nhau, ngha l sao cho khng
c hai con no trong s chng nm trn
cng mt dng hay mt ct hay mt
-ng cho ca bn c.
104 Fall 2006
Ton ri rac
Biu din Ii gii
nh s cc ct v dng ca bn c t 1 dn
n. Mt cch xp hu c th biu din bi b c
n thnh phn (a
1
, a
2
,..., a
n
), trong d a
i
l toa
d ct ca con Hu dng i.
Cc iu kin t ra i vi b (a
1
, a
2
,..., a
n
):
a
i
= a
j
, vi mi i = j (ngha l hai con hu hai dng
i v j khng -c nm trn cng mt ct);
| a
i
a
j
| = | i j |, vi mi i = j (ngha l hai con hu
hai (a
i
, i) v (a
j
, j) khng -c nm trn cng mt
-ng cho).
105 Fall 2006
Ton ri rac
Pht biu bi ton
Nh- vy bi ton xp Hu dn v bi ton lit
k cc phn t ca tp:
,

,
3
Z
3
: ,

va ,,

,=, ,,
}
D thy l ta c
,

,
3
Z"
3
: ,,

, = , ,, }
Do bi ton xp Hu dn v bi ton lit
k cc hon v tho mn tnh cht b sung
, ,

, = , ,,
106 Fall 2006
Ton ri rac
Hm nhn bit ng c vin
1unction UC'h(jk integer) booIean
(* UC'h nhn gi tr true khi v ch khi j Z S
k
*)
var i integer
begin
1or i= to k- do
i1 (j = a[i() or (abs(j-a[i()= k-i) then
begin
UC'h= 1aIse exit
end
UC'h= true
end
107 Fall 2006
Ton ri rac
Chuong trnh trn PascaI
var
n count integer
a array[..20( o1 integer
procedure Ghinhan
var i integer
begin
count = count+ rite(count5 '. ')
1or i = to n do rite(a[i() riteIn
end
1unction UC'h(jk integer) booIean
(* UC'h nhn gi tr true khi v ch khi j Z S
k
*)
var i integer
begin
1or i= to k- do
i1 (j = a[i() or (abs(j-a[i()= k-i) then begin
UC'h= 1aIse exit
end
UC'h= true
end
108 Fall 2006
Ton ri rac
procedure Hau(i integer)
var j integer
begin
1or j = to n do
i1 UC'h(j k) then begin
a[i( = j
i1 i = n then Ghinhan eIse Hau(i+)
end
end
BEGI {ain program}
rite('n = ') readIn(n)
count = 0 Hau()
I1 count = 0 then riteIn('Khng tn tai cch xp')
rite('G Enter kt thc... ') readIn
ED.
109 Fall 2006
Ton ri rac
Ch
R rng l bi ton xp hu khng phi
l lun c li gii, chng hn bi ton
khng c li gii khi n=2, 3. Do iu
ny cn -c thng bo khi kt thc
thut ton.
Thut ton trnh by trn l ch-a hiu
qu. Nguyn nhn l ta khng xc
nh -c chnh xc cc tp UCV vo
cc v tr ca li gii.
110 Fall 2006
Ton ri rac
t Ii gii ca bi ton xp hu khi n = 8

You might also like