You are on page 1of 19

i Hc Khoa Hc T Nhin H Ch Minh Khoa Ton Tin Hc

Bi Bo Co Mn Phn Tch Thut Ton

Trn nh Anh Huy Nguyn Hng Quy Nguyn Hong Quc GV: TS. Trn Nam Dng Nhm thc hin

0811062 0811137 0811300

Tm t t n i dung Chia tr l m t m hnh thi t k thu t ton r t quan tr ng trong ngnh khoa h c my tnh. M hnh s d ng ch y u gi i thu t quy, c s d ng ph bi n gi i quy t cc v n , bi ton ph c t p nh m m c ch gi m chi ph c a bi ton n m c t i u c th . T t ng c a phng php chia tr hnh thnh r t s m (kho ng 200 nm tr c cng nguyn1 ) t m t bi ton s p x p cc m t hng m t cch n gi n c a ng i Babylon. Trong khun kh bi bo co mn h c, nhm th c hi n ch nu ln nh ng v n c b n c a phng php ny.

theo http:// en.wikipedia

M cl c
1 T T ng Chia Tr 1.1 T i Sao Ph i Chia . . . . . . . . . 1.1.1 u i m . . . . . . . . . . 1.1.2 Nh c i m . . . . . . . . 1.2 Cc B c Th c Hi n . . . . . . . 1.3 Cc V n Ci t . . . . . . . . 1.3.1 Chia Ra Nhi u S D Tr ? 1.3.2 M i Quan H V i Quy 1.3.3 Cc V n V Ci t . . 3 3 3 3 4 5 5 6 6 7 7 7 8 10 11 11 11 11 15

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

2 Nh ng Bi Ton S D ng Phng Php Chia 2.1 Thu t Ton Tm Ki m . . . . . . . . . . . . 2.1.1 Quick Sort . . . . . . . . . . . . . . . 2.1.2 Merge Sort . . . . . . . . . . . . . . 2.2 Nhn 2 S Nh Phn N Bit . . . . . . . . . . 2.3 c nh V Tinh . . . . . . . . . . . . . . . 2.3.1 V n . . . . . . . . . . . . . . . . . 2.3.2 t ng . . . . . . . . . . . . . . . . 2.3.3 Th c Hi n . . . . . . . . . . . . . . . Ti Li u Tham Kh o

Tr . . . . . . . . . . . . . . . .

Danh sch hnh v


1.1 Cc b c c a m hnh chia tr 2.1 2.2 2.3 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cc vng b cch . . . . . . . . . . 4 9 12 13 14

m t minh h a cho thu t ton Merge Sort . M hnh cy nh nhn 2 chi u . . . . . . . Minh h a cc b c tm ki m . . . . . . . . Minh h a cc b c tm ki m, mu xanh l ly nhanh chng . . . . . . . . . . . . . . .

Chng 1 T T ng Chia Tr
1.1 T i Sao Ph i Chia

T t ng chnh m hnh chia tr l chia m t bi ton (m t v n ) thnh hai hay nhi u bi ton (v n ) nh hn cng lo i ho c lin quan v i nhau. Cho n khi k t qu bi ton (v n ) c c t cch t ng h p k t qu c a nh ng bi ton (v n ) c s ho c n gi n c th gi i quy t m t cch tr c ti p d dng. Nguyn l m hnh Chia Tr gi i x l v n t trn xu ng. Ta cng c m t m hnh khc gi i quy t theo cch ng c l i l m hnh Quy Ho ch ng x l v n t d i ln.

1.1.1

u i m

i v i tin h c m hnh chia tr ngy ny c s d ng ngy cng m nh m trong tin h c d a trn s pht tri n c a cng ngh v s ra i cc b x l a lu ng, cc m hnh tnh ton song song. Gip cc v n nh c x l g n nh m t lc, gip gi m thi u th i gian v chi ph th c thi i g p nhi u l n, y l m t trong nh ng u i m chnh c a m hnh chia tr . Hn th n a, m hnh thu t ton cn gip t n d ng b nh m (cache) m t cch hi u qu , l k t qu c a vi c chia nh v n m b n thn cc v n ( nh n m c c n thi t) c th gi i quy t c trn b nh cache, khng c n g i thng tin n b nh truy c p.

1.1.2

Nh c i m

Chia tr c m t nh c i m kh l n l chia tr khng th lu l i k t qu c a nh ng v n gi i quy t cho l n yu c u ti p theo, v v y ta ph i xem xt l i v n bi ton c nn s d ng chia tr hay khng. 3

Hnh 1.1: Cc b c c a m hnh chia tr M t bi ton p d ng c chia tr t t nh t l m t bi ton c th chia nh thnh nhi u v n nh khc cng lo i v trong qu trnh gi i quy t v n s l n gi i quy t l i cng m t v n gi i quy t l c c ti u.

1.2

Cc B c Th c Hi n

Cc b c thi t k thu t ton: 1. Chia v n thnh cc v n con. 2. Gi i quy t v n con m t cch quy, n u v n con c kch th c nh th gi i quy t m t cch tr c ti p. 3. T ng h p cc k t qu c a v n con l k t qu c a v n c n tm. V d : cho m ng A g m cc s th c c s p x p tng d n: A = [a1 , a2 , a3 , . . . , an ]. Tm m t ph n t c a m ng c gi tr l x Gi i quy t cch n gi n nh t l vt c n, duy t h t cc v tr trong m ng t u m ng. V i cch lm ny th ph c t p thu t ton s l O(n). Trong th c t c nh ng m ng d li u ln t i hng t ph n t , i u c ngha l chi ph c a thu t ton s r t l n, ta s ph i tm m t thu t ton khc c ph c t p th p hn gi m chi ph m t cch ng k . i v i chia tr ta s s d ng thu t ton BinarySearch minh h a v so snh. t F (i) l k t qu c a vi c xem xt ph n t gi tr x c n m trong m ng d li u ang xt hay khng v xu t ra v tr. V i BinarySearch c chia i dy ra, theo ta c h th c truy h i: F (n) = F (n 1) + F (n 2) + . . . + F (1) 4

V i F (1) l k t qu c a vi c xt xem ai c b ng gi tr x hay khng. Khi c c k t qu c a F (1), F (2)... ta truy h i l i k t qu c a F (n) G i T (n) l ph c t p thu t ton, ta c h th c truy h i: T (n) = n T ( 2 ) + 1 v T (1) = 1 Gi s n = 2k ,theo h th c truy h i: n n n T (n) = T ( ) + 1 = T ( 2 ) + 2 = . . . = T ( k ) + k 2 2 2 Theo cch t ta c: n = 2k ,T (1) = 1, T (n) = 1 + k m k = log2 (n) T (n) = log2 (n) + 1 T (n) = O(log2 (n))

1.3
1.3.1

Cc V n Ci t
Chia Ra Nhi u S D Tr ?

Trong a s cc bi ton chia tr trn l thuy t ng i ta th ng chia nh v n n m c t i a d dng gi i quy t. Chng ta hy cng xem xt 1 cu h i: chia cng nh c h n l t t khng? Nh c l i: Thu t ton chia tr th ng c d ng phn r 1 v n c kch th c n thnh a v n kch th c n r i t h p k t qu trong O(nd ) v i b a, b, d > 0 ( trong php nhn th a = 3, b = 2, d = 1).Th i gian ch y c th c tnh b ng cng th c T (n) = aT ( n ) + O(nd ). Chi u cao c a cy t o ra b l logb n xt l i bi ton php nhn khi cha rt g n a(a = 4, b = 2, d = 1) c th i gian ch y l O(n2 ) by gi ta thay b = 4 x = x4 + x3 .2n/4 + x2 .2n/2 + x1 .23n/4 y = y4 + y3 .2n/4 + y2 .2n/2 + y1 .23n/4 xy = (x4 + x3 .2n/4 + x2 .2n/2 + x1 .23n/4 )(y4 + y3 .2n/4 + y2 .2n/2 + y1 .23n/4 ) Nhn vo bi u th c ta th y a = 16, b = 4, d = 1, logb a = 2 > d nn T (n) = O(nlogb a ) = O(n2 ) V y ph c t p b ng v i phng php chia i (b = 2). Tuy nhin bi u th c t h p c a ta l i ph c t p v kh ci t hn khi b = 2. V y chia nh cha h n t t hn. nh l 1.3.1 ( nh L Master). N u T (n) = aT ([ n ]) + O(nd ) v i a > 0, b b > 1 v d 0 th: T (n) = O(nd ) T (n) = O(nd logn) T (n) = O(nlogb a ) 5 n u d > logb a n u d = logb a n u d < logb a

V y theo nh l Master, cch chia t i u nh t l chia sao cho d = loga b Ngoi ra, d dng hn, ng i ta cn chia theo nh ngha quy c a n. C th l y v d l i bi ton lu th a, by gi ta mu n lu th a xn , v i n kh l n. Nh ta bi t, lu th a c th d dng tch ra t Aa+b thnh Aa v Ab , do ta c nh ngha quu cho n nh sau: 1 n u n=0 n n 2 x = (x 2 ) n u n ch n n1 x x n unl D th y khi c bi u th c trn, r rng n gi m m t n a, khi n kh l n, y l m t s gi m ng k

1.3.2
Qui

M i Quan H V i Quy

c th hi u c m i quan h gi a chia tr v i quy th ta c n xt nh ng i m m nh c a quy. quy m nh ch c th nh ngha m t t p r t l n cc tc ng ch b i s r t t m nh , r t thch h p gi i quy t nh ng bi ton c tnh ch t qui. Khi dng quy, bi ton gi i quy t s sng s a, d hi u hn. T c th ni b n ch t c a c a quy l gi i quy t bi ton theo ki u qui n p, h b c (ThS.Tr n c Huyn1 ), i u ny r t c ngha trong vi c chng ta chia bi ton ra "tr ". Theo nh hi n nay, nhi u thu t ton v n cha c cch gi i no khc n u khng s d ng quy. Nhng bn c nh , khng t nh ng bi ton quy b kh quy b ng nhi u phng php khc nhau. L do kh quy l trnh cho my m t qu nhi u ti nguyn hay th c hi n th a cc tc v . M i Quan H C th ni r ng m i quan h gi a quy v chia tr l h t s c kh ng kht. V i b n ch t c a quy, chng ta c th dng n thi t k vi c chia nh th no trong thu t ton t ra h t s c d dng, sng s a. N u nh kh ng nh vi c s d ng quy trong vi c chia tr l y u t hi n nhin l khng sai. Tuy nhin, ta c n ch r ng quy khng ph i l cha kho vng. quy cng c m t s khi m khuy t nh c p trn, cho nn quy
1

NXB Gio D c, phng php gi i cc bi ton trong Tin H c

khng h n l co ng duy nh t i n thnh cng. Chng ta c th s d ng nh ng phng php kh quy khc bi t nh: stack, vng l p, ...

1.3.3

Cc V n V Ci t

S d ng lu tr ty thu c vo "Input" m ta ph i ch n m t lo i hnh lu tr cc bi ton con thch h p. V d v i m t m ng c c l n cc s khi chia ra c r t nhi u bi ton con nn ta ph i s d ng m t danh sch lin k t ho c m t stack no lu tr . Mi tr ng ci t b t c ngn ng l p trnh no c h tr gi i thu t quy ta u c th ci t chia tr . Nhng ta ph i lu n vi c h tr vng nh m c a ngn ng l p trnh. V i v i nh ng v n l n ta c n b nh r t l n. Ngy ny h u nh ton b cc ngn ng l p trnh u h tr gi i thu t quy.

Chng 2 Nh ng Bi Ton S D ng Phng Php Chia Tr


2.1
2.1.1

Thu t Ton Tm Ki m
Quick Sort

S p x p nhanh (Quicksort), cn c g i l s p x p ki u phn chia (part sort) l m t thu t ton s p x p d a trn php phn chia danh sch c s p thnh hai danh sch con. Khc v i s p x p tr n, chia danh sch c n s p x p a[1..n] thnh hai danh sch con c kch th c tng i b ng nhau nh ch s ng gi a danh sch, s p x p nhanh chia n thnh hai danh sch b ng cch so snh t ng ph n t c a danh sch v i m t ph n t c ch n c g i l ph n t ch t. Nh ng ph n t nh hn ho c b ng ph n t ch t c a v pha tr c v n m trong danh sch con th nh t, cc ph n t l n hn ch t c a v pha sau v thu c danh sch ng sau. C ti p t c chia nh v y t i khi cc danh sch con u c di b ng 1. Ph n t ch t (pivot) l m t ph n t c ch n dng i snh 2 bn c a m ng hon v . K thu t ch n ph n t ch t nh h ng kh nhi u n kh nng ri vo cc vng l p v h n i v i cc tr ng h p c bi t. T t nh t l ch n ph n t ch t l trung v c a danh sch. Khi sau log2 (n) l n phn chia ta s t t i kch th c danh sch b ng 1. Tuy nhin i u r t kh. C cc cch ch n ph n t ch t nh sau: 1. Ch n ph n t ng u ho c ng cu i lm ph n t ch t. 2. Ch n ph n t ng gi a danh sch lm ph n t ch t.

3. Ch n ph n t trung v trong 3 ph n t ng u, ng gi a v ng cu i lm ph n t ch t. 4. Ch n ph n t ng u nhin lm ph n t ch t. (Cch ny c th d n n kh nng ri vo cc tr ng h p c bi t) Thu t phn chia sau khi ph n t ch t c ch n gi i thu t phn chia nn ti n hnh nh th no? M t gi i php n gi n nh t cho v n ny l duy t t u n cu i l n l t so snh cc ph n t c a danh sch v i ph n t ch t. Theo cch ny, ta ph i ti n hnh n php so snh, ngoi ra cn ph i dnh n n v b nh lu gi cc gi tr trung gian. M t gi i php khc c ngh l duy t theo hai ng. M t ng t u danh sch, m t ng t cu i danh sch. Theo cch ny, ta tm ph n t u tin tnh t tri l n hn ph n t ch t v ph n t u tin pha ph i nh hn ho c b ng ph n t ch t r i i ch cho nhau. Ti p t c nh v y cho n khi hai ng g p nhau. c th g i quy ta xt bi ton phn chia m t danh sch con c a a: a[k1, k2] thnh hai danh sch. Cng th c truy h i v cch tnh ph c t p gi ng hon ton v i phng php Merge Sort. V i m t m ng n ph n t ta c n s p x p theo Merge Sort. t T (n) l ph c t p c a thu t ton, ta c c cng th c truy h i theo ph c t p thu t ton: T (n) = 2T (n/2) + Cn (v i Cn l chi ph th c hi n bi ton m c n ph n t ), T ( n ) = 2T ( n ) + C n 2 4 2 n Nh v y ta c: T (n) = 2T ( n ) + Cn = 4T ( n ) + 2Cn = ... = 2k T ( 2k ) + 2 4 n Cnk = 2k + Cnk = n + Cnlog2 (n) v i n = 2k , T ( 2k ) = T (1) = 1. V y thu t ton Quick c ph c t p l O(n) = nlog2 (n)

2.1.2

Merge Sort

S p x p tr n (merge sort) l m t thu t ton s p x p s p x p cc danh sch (ho c b t k c u trc d li u no c th truy c p tu n t , (v.d: lu ng t p tin) theo m t tr t t no . Thu t ton ny l m t v d tng i i n hnh c a l i thu t ton chia tr . N c x p vo th lo i s p x p so snh. Tr n c hai danh sch c s p x p a[1..m] v b[1..n.]. Ta c th tr n chng l i thnh m t danh sch m i c[1, m + n] c s p x p theo cch sau: So snh hai ph n t ng u c a hai danh sch, l y ph n t nh hn cho vo danh sch m i. Ti p t c nh v y cho t i khi m t trong hai danh sch l r ng. Khi m t trong hai danh sch l r ng ta l y ph n cn l i c a danh sch kia cho vo cu i danh sch m i. V d : Cho hai danh sch a = (1, 3, 7, 9), b = (2, 6), qu trnh ha nh p di n ra nh sau:

Hnh 2.1: m t minh h a cho thu t ton Merge Sort

10

Danh sch a 1,3,7,9 3,7,9 3,7,9 7,9 7,9

Danh sch b 2,6 2,6 6 6

So snh 1<2 2<3 3<6 6<7

Danh sch c 1 1.2 1,2,3 1,2,3,6 1,2,3,6,7,9

Tr n t i ch : gi s trong danh sch a[1..n] c 2 danh sch con k nhau a[k1..k2] v a[k2 + 1..k3] c s p. Ta p d ng cch tr n tng t nh trn tr n hai danh sch con vo m t danh sch t m T [k1..k3] r i tr l i cc gi tr c a danh sch t m T v danh sch A. Lm nh v y g i l tr n t i ch . Tr n t d i ln n u danh sch con ch g m hai ph n t , m i n a c a n g m m t ph n t ng nhin c s p. Do vi c tr n t i ch hai n a danh sch ny cho danh sch con 2 phn t c s p. Xu t pht t u danh sch a ta tr n a[1] v i a[2], a[3] v i a[4],... Khi m i danh sch con g m hai ph n t c a a c s p. Ti p t c tr n cc danh sch con k ti p nhau g m 2 ph n t thnh cc danh sch con 4 ph n t ... M i l n tr n s cc danh sch con c n tr n gi m i m t n a. Qu trnh d ng l i khi s danh sch con ch cn m t. V d : Cho danh sch a = (2, 3, 5, 6, 4, 1, 7) Cng vi c Tr n cc ph n t ng k nhau Tr n cc danh sch con 2 ph n t k nhau Tr n cc danh sch con 4 ph n t k nhau S Danh sch con 7 4 2 K t qu 2,3-5,6-1,4-7 2,3,5,6-1,4,7 1,2,3,4,5,6,7

Ph c T p: v i m t m ng n ph n t ta c n s p x p theo Merge Sort , t T (n) l ph c t p c a thu t ton. Ta c c cng th c truy h i theo ph c t p thu t ton : T (n) = 2T ( n ) + Cn , v i C l m t h ng s (v i 2 Cn l chi ph th c hi n bi ton m c n ph n t ) T ( n ) = 2T ( n ) + C n , nh 2 4 2 n v y ta c : T (n) = 2T ( n ) + Cn = 4T ( n ) + 2Cn = ... = 2k T ( 2k ) + Cnk = 2 4 n 2k + Cnk = n + Cnlog2 (n) v i n = 2k , T ( 2k ) = T (1) = 1. V y thu t ton Merge Sort c ph c t p l O(n) = nlog2 (n)

2.2

Nhn 2 S Nh Phn N Bit

Nhn 2 s t nhin n-bit X v Y thng th ng ph c t p m c O(n2 ). By gi chng ta s xt l i bi ton ny v i k thu t chia tr . Ta phn

11

tch m i s X, Y thnh 2 ph n, m i ph n n . n gi n, ta lun xt n l 2 lu th a c a 2. X, Y s c phn tch nh sau: X = A|B(X = A2 2 + B) Y = C|D Khi XY s c d ng: XY = AC2n + (AD + BC)2 2 + BD T cng th c ki m c, ta th y vi c tnh XY ch cn l tnh 4 php nhn v i cc s n l AC, AD, BC v BD, sau th c hi n php c ng 2n bit, cu i 2 cng l 2 php chuy n ch s (2 php nhn v i lu th c a 2). Cc php c ng v php chuy n ch s u c th c hi n v i th i gian O(n), do ta thu c cng th c tnh ng ph c t p c a php ton trn T (n) l: T (1) = 1 n T (n) = 4T ( ) + Cn 2 V do T (n) = O(n2 ) nn khng hi u qu l m v i cch thng th ng cho nn chng ta ti p t c bi n i XY nh sau: XY = AC2n + ((A B)(D C) + AC + BD)2 2 + BD n y ta th y hi u qu c a php bi n i v a c t o ra, c th tnh XY ta t n 3 php nhn n bit: AC, BD v (A B)(D C), 6 php tnh 2 c ng tr s n , 2 php chuy n ch s (nhn v i lu th a c a 2). Do v y v i 2 cch tnh trn ta c ph c t p c a thu t ton ny T (1) = 1 n T (n) = 3T ( ) + Cn 2 Ta d th y phng php chia i ny s quy log2 n b c v b c cu i th ch cn 1 bit. Cy quy c chi u cao l log2 n v m i b c c 3 nhnh. v y su k th s bi ton con l 3k , m i bi c kch th c l ( n )k b c. 2 V i m i bi ton con ta c n 1 th i gian tuy n tnh phn r chng v gom nhm nn n b c k, th i gian ch y s l T (n) = 3k .O( n 3 ) = ( )k .O(n) 2k 2
3 n n n

Do , ph c t p c a thu t ton ch cn O(nlog2 ) = O(n1.59 ) 12

2.3

c nh V Tinh

hi n th c ho u ny, ngoi thu t ton ra, chng ta cn ph i quan tm n v n C u Trc D Li u, cho nn trong phng di n bo co mn h c Phn Tch Thu t Ton, chng ti ch c p n t ng chia tr nh th no c a thu t ton, khng c p su vo C u Trc D Li u.

2.3.1

V n

Vi c c nh kch th c l m t nhu c u thi t y u trong nhi u ngnh khoa h c v i s ng hi n nay. Tuy nhin ta th ng g p nhi u kh khn trong vi c c tr c ti p nh ng b c nh kch th c l n, nh v tinh l m t v d . Ta bi t r ng nh ch p c a m t v tinh v m t ph n no c a m t hnh tinh ho c v tr u l nh ng nh c kch th c r t l n. Nh ng nh ny c truy n v m t t sau khi ch p v yu c u u tin t ra cho nh ng ng i ti p nh n l lm sao c c n. T t nhin vi c c tr c ti p l khng th , v b nh c a my c gi i h n r t nh so v i kch th c nh.

2.3.2

t ng

nh l n ban u s c c t thnh cc nh hnh vung nh c kch th c b ng nhau. M i nh nh g i l m t nh n v . Ti p , ta nh d u t a c a cc vung nh trong b c nh l n. Khi c nh, ta thi t k sao c nh c g i l vng nhn th y, sau ta ch c n c nh ng b c nh k n. Sau khi chia nh nh v gn m i b c nh n v thnh nh ng i m trong m t ph ng Oxy th bi ton n y quy v bi ton tm ki m i m k trong khng gian. C n lu i u sau: do b c nh v tinh th ng tng i l n, nn khi chia ra s l ng cng tng i l n, n u dng nh ng thu t ton thng th ng tm nh ng i m k v i i m th y c (to c nh d u c a vng nhn th y), kh lng th c hi n v i chi ph th p.

2.3.3

Th c Hi n

th c hi n, tr c h t c n m t CTDL lu tr , y chng ti dng kd tree v i s chi u 2 (cy tm ki m nh phn 2D). i m th y c chnh l node g c.

13

Hnh 2.2: M hnh cy nh nhn 2 chi u B c 1: B t u t node g c, thu t ton s xt hai nhnh con c a node g c, sau so snh kho ng cch 2 node con n i m c n tm lng gi ng, thu t ton s duy t xu ng node no c kho ng cch t i i m c n tm g n hn. Trong qu trnh tm xt t i m t node no , thu t ton s so snh di t i m t m ki m n node . N u di ny l nh nh t t i th i i m hi n t i th s c p nh t lu node thnh i m g n nh t t m th i. B c 2: Th c hi n b c 1 cho t i khi g p m t node l th d ng l i. Khi ta s c m t i m g n nh t ng v i ton b ph n duy t. B c 3: Th hi n d ng c l i cy(bung quy v i cc node cn l i c so snh kho ng cch l n hn) v i cc b c sau: 1. N u node ang xt c kho ng cch t i i m tm ki m l nh nh t hi n t i th c p nh t n l i m g n nh t. 2. Thu t ton s tm ki m trong cc ph n cn l i c a khng gian b chia c t (cc nhnh cn l i c a cy) c node no c a cy c kho ng cch t i i m ang xt l g n nh t hi n th i hay khng. Th c hi n b ng cch xt qu c u c tm l i m tm ki m, bn knh l kho ng cch g n nh t hi n th i xem n c giao v i cc khng gian b chia c t no khng r i ti n hnh so snh v i cc i m trong mi n khng gian : i v i m i m t ph ng giao v i qu c u, ta th c hi n duy t ph n nhnh con tng ng v i m t ph ng . i v i cc nhnh khng c t qu c u, thu t ton s b qua nhnh .

14

Hnh 2.3: Minh h a cc b c tm ki m B c 4: khi qu trnh duy t quay tr v node g c, thu t ton k t thc.

M r ng: tm N i m g n nh t. Trong tr ng h p mu n tm N node g n i m tm ki m nh t, chng ta c nhi u cch d a trn thu t ton tm lng gi ng g n nh t c trnh by pha trn, y chng ti xu t c i ti n thu t ton nh sau: Trong qu trnh tm ki m, khi tm c lng gi ng g n nh t ta ti n hnh bung l n c a bn knh vng trn tm v nh d u nh ng i m c cho l g n nh t ti p theo i m tm c.

15

Hnh 2.4: Minh h a cc b c tm ki m, mu xanh l cc vng b cch ly nhanh chng

16

Ti li u tham kh o
[1] ThS.Tr n c Huyn: phng php gi i cc bi ton trong Tin H c, NXB Gio D c [2] Ian Parberry: Lecture Notes on Algorithm Analysis and Computational Complexity Department of Computer Science, University of North Texas [3] Internet

You might also like