You are on page 1of 109

NguyÔn H÷u §iÓn

LÝ thuyÕt ®å thÞ
vµ øng dông

Nhµ xuÊt b¶n §¹i häc Quèc gia Hµ Néi


51
1536/889-02 M· sè: 8H663T1
GD − 02
Lêi nãi ®Çu

Thêi gian thùc hiÖn cuèn s¸ch cã h¹n nªn viÖc thÓ hiÖn cã thÓ cã nhiÒu sai sãt

vµ kh«ng râ nghÜa mong b¹n ®äc th«ng c¶m, cßn nhiÒu vÊn ®Ò vÒ thuËt to¸n liªn

quan ®Õn ®é phøc t¹p tÝnh to¸n cña chóng kh«ng ®­îc tr×nh bµy ë ®©y. HÑn mét tµi

liÖu kh¸c t«i sÏ biªn tËp vÒ c¸c chuyªn ®Ò c¸c thuËt to¸n s¾p xÕp, t×m kiÕm, thuËt

to¸n sè häc, c¸c thuËt to¸n trong lÝ thuyÕt ®å thÞ, ... cïng c¸c hµm thêi gian tÝnh

to¸n cña chóng vµ c¸c chñ ®Ò tÝnh to¸n vÒ thuËt to¸n cã ®é phøc t¹p P, NP, NP ®Çy

®ñ,... LÇn ®Çu tiªn biªn so¹n kh«ng thÓ tr¸nh khái sai sãt vµ nhÇm lÉn mong b¹n

®äc cho ý kiÕn. Mäi gãp ý göi vÒ ®Þa chØ: Nhµ xuÊt b¶n Gi¸o dôc, 81 TrÇn H­ng

§¹o, Hµ Néi.

Hµ Néi, th¸ng 06 n¨m 2005

T¸c gi¶
Ch­¬ng 1
C¸c kh¸i niÖm c¬ b¶n vÒ ®å thÞ

1.1. LÞch sö ph¸t minh lÝ thuyÕt ®å thÞ . . . . . . . . . . . . . . . . . . . . . . 4


1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã . . . . . . . . . . . . . . . . . . . . . . 6
1.3. BËc cña ®Ønh trong ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. §­êng ®i vµ kho¶ng c¸ch . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5. §­êng dÉn vµ chu tr×nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6. Bµi tËp ch­¬ng I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.1. LÞch sö ph¸t minh lÝ thuyÕt ®å thÞ

Con s«ng Pregolya ch¶y qua thµnh phè Konigsberg thuéc ®Êt n­íc Latvia. Trªn

s«ng nµy ng­êi ta ®· x©y dùng b¶y chiÕc cÇu ngang qua s«ng (nh­ h×nh 1.1). T¹i

thµnh phè nµy cã mét c©u ®è d©n gian vÒ b¶y chiÕc cÇu nµy: Cã thÓ ®i qua thµnh

phè nµy mµ ®i qua c¸c cÇu ®óng mét lÇn vµ l¹i trë vÒ ®iÓm xuÊt ph¸t ban ®Çu?

A D

B
H×nh 1.1 B¶y cÇu cña thµnh phè Konigsberg

Kh«ng ai trong thµnh phè nµy t×m ®­îc ®­êng ®i nh­ ®iÒu kiÖn ®· ®Æt ra. Nh­ng

ng­êi ta cè g¾ng t×m lêi gi¶i cho ®Õn n¨m 1736, nhµ to¸n häc vÜ ®¹i Leonhard Euler

chøng minh ®­îc r»ng kh«ng thÓ tån t¹i mét con ®­êng nh­ vËy. Euler ®· suy luËn

nh­ sau: Gi¶ sö cã mét ®­êng ®i tháa m·n ®iÒu kiÖn ®Æt ra vµ gi¶ sö ng­êi bé hµnh

®i trªn con ®­êng ®ã. NÕu mét ng­êi theo dâi ®· ®øng ë vÞ trÝ hßn ®¶o A, ng­êi theo

dâi nµy sÏ thÊy ng­êi bé hµnh ®Õn qua hßn ®¶o A mét sè lÇn. VËy cã thÓ x¶y ra

bao nhiªu lÇn tÊt c¶? NÕu ng­êi bé hµnh chØ ®Õn hßn ®¶o mét lÇn th× ng­êi ®ã

chØ ®i qua cã hai cÇu trong n¨m chiÕc cÇu. NÕu ng­êi bé hµnh ®i ®Õn hßn ®¶o hai

lÇn th× còng kh«ng ®­îc v× khi ®ã ng­êi bé hµnh chØ ®i qua cã bèn cÇu trong sè

n¨m cÇu ®· cã. NÕu ng­êi bé hµnh ®Õn ®¶o ba lÇn th× khi ®ã ph¶i cÇn cã s¸u cÇu,
1.1. LÞch sö ph¸t minh lÝ thuyÕt ®å thÞ 5

nh­ng trong thùc tÕ l¹i chØ cã n¨m cÇu, ®iÒu nµy còng kh«ng thÓ x¶y ra. Tõ c¸c kÕt

qu¶ trªn suy ra kh«ng tån t¹i mét ®­êng ®i nh­ gi¶ thiÕt ®Æt ra.

TÊt nhiªn bµi to¸n b¶y chiÕc cÇu cña Konigsberg kh«ng cã g× ®Æc biÖt quan

träng. Nh­ng t­ t­ëng cña Euler ®Ó gi¶i bµi to¸n ®· sinh ra mét ngµnh to¸n häc quan

träng gäi lµ lÝ thuyÕt ®å thÞ.


Euler thÊy râ r»ng bµi to¸n chiÕc cÇu Konigsberg kh«ng cã t¸c ®éng g× víi c¸c

chiÕc cÇu trong qu¸ tr×nh lÝ luËn, nh­ng thùc chÊt c©u hái ®­îc rót gän thµnh s¬

®å nh­ h×nh 1.2.

A
D

B
H×nh 1.2 §å thÞ bµi to¸n b¶y cÇu cña thµnh phè Konigsberg

H×nh 1.2 cho chóng ta tËp trung vµo thùc chÊt cña bµi to¸n: Cã bèn ®Þa ®iÓm

liªn kÕt víi b¶y chiÕc cÇu. Nh­ chøng minh cña Euler tãm l¹i ®¬n gi¶n lµ ®­êng ®i

cÇn t×m kiÕm ph¶i cã sè ch½n sè cÇu ®Õn hßn ®¶o A; nh­ng thùc tÕ hßn ®¶o A cã sè

lÎ sè cÇu b¾c qua.

Tõ t­ t­ëng cña Euler ®· ®­îc øng dông vµo gi¶i c¸c bµi to¸n trß ch¬i, ph©n tÝch

nh÷ng trß ch¬i gi¶i trÝ kiÓu nh­ bµi to¸n d©n gian. M·i ®Õn gi÷a nh÷ng n¨m 1800,

ng­êi ta míi ph¸t hiÖn ra r»ng ®å thÞ cã thÓ dïng m« h×nh hãa rÊt nhiÒu hÖ thèng

thùc tÕ trong x· héi. VÝ dô nh­ gi¶ thiÕt b¶n ®å bèn mµu do DeMorgan nªu lªn tõ

n¨m 1852 rÊt næi tiÕng vµ kh«ng liªn quan ®Õn lÝ thuyÕt ®å thÞ. Gi¶ thuyÕt ph¸t

biÓu r»ng bèn mµu lµ sè l­îng mµu lín nhÊt ®ßi hái t« mµu bÊt k× mét b¶n ®å nµo

mµ c¸c miÒn c¹nh nhau trong b¶n ®å cã mµu kh¸c nhau. Gi¶ thuyÕt nµy dÔ dµng thÓ

hiÖn b»ng thuËt ng÷ lÝ thuyÕt ®å thÞ vµ ®· ®­îc hai nhµ to¸n häc Appel vµ Haken

thùc hiÖn vµ chøng minh n¨m 1976.

LÝ thuyÕt ®å thÞ nhanh chãng bïng næ trong thÕ kØ 19. Tõ n¨m 1847 nhµ vËt

lÝ Kirchhoff ®· x¸c ®Þnh ®­îc c­êng ®é dßng ®iÖn trong d©y dÉn vµ trong mçi m¹ch

khÐp kÝn cña mét m¹ch ®iÖn. B»ng c¸ch x©y dùng mét s¬ ®å ®iÖn (ngµy nay t­¬ng

øng lµ ®å thÞ), Kirchhoff ®· gi¶i ®­îc bµi to¸n ®Æt ra.

Trong hãa häc b»ng c¸ch biÓu diÔn c¸c chÊt theo s¬ ®å nguyªn ph©n tö gièng nh­

líp ®å thÞ h×nh c©y, nhiÒu bµi to¸n hãa häc ®­îc gi¶i quyÕt dÔ dµng vµ dÔ hiÓu

trong hãa häc h÷u c¬ hiÖn ®¹i. Ng­êi ®Çu tiªn ®­a ý t­ëng ®å thÞ vµo hãa häc lµ
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 6

Cayley vµo n¨m 1857. Nh­ng vÒ mÆt thuÇn tóy to¸n häc th× Jordan ®· ph¸t triÓn

lÝ thuyÕt nµy mét c¸ch ®éc lËp.

§Õn thÕ kØ 20 th× lÝ thuyÕt ®å thÞ ®· ph¸t triÓn rÊt m¹nh trong lÝ thuyÕt tèi

­u, lÝ thuyÕt th«ng tin, kinh tÕ häc, sinh vËt, t©m lÝ vµ ng«n ng÷ häc, ...

1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã

§å thÞ lµ c«ng cô m« h×nh hãa hÖ thèng trong thÕ giíi thùc. M« h×nh ®å thÞ

rÊt thuËn lîi cho viÖc ph©n tÝch hÖ thèng. Ta ph¶i nghiªn cøu kh¸i niÖm vµ thuËt

ng÷ vÒ ®å thÞ.

1.2.1. §Þnh nghÜa vµ vÝ dô

§Þnh nghÜa 1.1. §å thÞ lµ mét bé gåm hai tËp hîp V vµ E, kÝ hiÖu lµ G = (V , E ) víi

V 6= 0/ . C¸c phÇn tö cña V gäi lµ c¸c ®Ønh, c¸c phÇn tö cña E gäi lµ c¸c c¹nh. Mçi

c¹nh cña ®å thÞ cã mét tËp gåm mét hoÆc hai ®Ønh t­¬ng øng víi nã vµ gäi lµ c¸c

®iÓm cuèi cña nã.

Ng­êi ta th­êng kÝ hiÖu V = {A, B, ..., X }, ë ®©y A, B, ..., X lµ c¸c ®Ønh cña ®å thÞ

vµ E = {e, f , g, ..., h}, ë ®©y e, f , g, ..., h lµ c¸c c¹nh cña ®å thÞ.

§Þnh nghÜa 1.2. §Ønh vµ c¹nh cña ®å thÞ cã c¸c kh¸i niÖm:

1. NÕu mét c¹nh e t­¬ng øng víi hai ®Ønh U,V , th× ta nãi U vµ V lµ hai ®Ønh kÒ

víi nhau. KÝ hiÖu e = UV hoÆc e = (U,V ).


2. C¹nh t­¬ng øng e = UU víi hai ®Ønh trïng nhau ®­îc gäi lµ c¹nh vßng t¹i U.
3. Mét tËp hîp gåm hai hoÆc nhiÒu h¬n hai c¹nh cã ®ång thêi cïng c¸c ®iÓm cuèi

®­îc gäi lµ ®a c¹nh. VÝ dô: hai c¹nh e1 = UV vµ e2 = UV ph©n biÖt cïng t­¬ng

øng víi hai ®Ønh U vµ V.


4. C¹nh ®Þnh h­íng ( hoÆc gäi lµ mét cung) lµ mét c¹nh, mµ mét ®Çu cuèi ®­îc

g¸n lµ ®iÓm ®u«i vµ mét ®iÓm cuèi kh¸c ®­îc g¸n lµ ®iÓm ®Çu. §Çu vµ cuèi cña

mét cung e kÝ hiÖu t­¬ng øng lµ head(e) vµ tail(e).


5. §a cung lµ tËp hîp gåm nhiÒu h¬n hoÆc b»ng hai cung cã cïng ®iÓm ®Çu vµ

®iÓm cuèi.

§å thÞ cã biÓu diÔn h×nh ¶nh cô thÓ: Mçi phÇn tö cña V (®Ønh) ®­îc thÓ hiÖn

b»ng mét ®iÓm ®Ëm vµ mçi phÇn tö cña E (c¹nh) biÓu diÖn b»ng mét ®­êng liÒn

vÏ gi÷a hai phÇn tö t­¬ng øng cña V.

VÝ dô 1.1. §å thÞ G = (V , E ) víi V = {1, 2, 3, 4, 5, 6, 7, 8} vµ

E = {(1, 3), (1, 5), (2, 3), (2, 5), (2, 7), (3, 6), (4, 6), (4, 7), (7, 8)}
vµ ®­îc biÓu diÔn nh­ h×nh 1.3.
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 7

1 2 3 4

8
5 6 7

H×nh 1.3 BiÓu diÔn h×nh

häc cña ®å thÞ H×nh 1.4 §å thÞ h­íng

Víi ®Þnh nghÜa cña ®å thÞ th× biÓu diÔn chóng b»ng c¸c ®iÓm vµ c¸c ®­êng nèi

nh­ trªn thùc hiÖn ®­îc dÔ dµng. Trong tµi liÖu nµy ta dïng c¸ch biÓu diÔn nµy ®Ó

nghiªn cøu lÝ thuyÕt ®å thÞ.

Tõ ®Þnh nghÜa ®å thÞ ta nhËn ®­îc nh÷ng d¹ng ®å thÞ kh¸c nhau. KÝ hiÖu vµ

®Þnh nghÜa ®å thÞ d¹ng ®Æc biÖt nh­ sau:

§Þnh nghÜa 1.3. Mét sè ®å thÞ c¬ b¶n:

1. Thay tËp hîp E b»ng tËp hîp c¸c c¹nh ®Þnh h­íng, ta nhËn ®­îc ®å thÞ ®Þnh

h­íng (h×nh 1.4). Mçi c¹nh cña ®å thÞ ®Òu cã mét h­íng x¸c ®Þnh.

H×nh 1.5 §a ®å thÞ H×nh 1.6 Gi¶ ®å thÞ

2. §å thÞ ®Þnh h­íng tõng phÇn lµ mét ®å thÞ mµ nã cã ®ång thêi c¸c c¹nh ®Þnh

h­íng vµ kh«ng ®Þnh h­íng.

3. §å thÞ c¬ së cña ®å thÞ ®Þnh h­íng vµ ®å thÞ ®Þnh h­íng tõng phÇn lµ mét

®å thÞ kÕt qu¶ bá hÕt g¸n nh·n ®iÓm ®Çu vµ ®iÓm cuèi trong c¸c c¹nh ®Þnh

h­íng cña ®å thÞ.

4. NÕu ®å thÞ cã Ýt nhÊt mét ®a c¹nh, nghÜa lµ E lµ tËp hîp c¹nh bÊt k×, th×

ta nhËn ®­îc ®a ®å thÞ (h×nh 1.5). §å thÞ kh«ng cho phÐp cã mét ®a c¹nh nµo

gäi lµ ®å thÞ ®¬n.

5. NÕu mét ®å thÞ cã Ýt nhÊt mét ®Ønh cã vßng th× nã ®­îc gäi lµ gi¶ ®å thÞ

(h×nh 1.6).

6. §å thÞ G 0 = (V 0 , E 0 ) gäi lµ ®å thÞ con cña ®å thÞ G = (V , E ) nÕu V 0 ⊂ V vµ E0 ⊂E.

7. §å thÞ cã sè ®Ønh vµ sè c¹nh h÷u h¹n gäi lµ ®å thÞ h÷u h¹n, ng­îc l¹i th× gäi lµ

®å thÞ v« h¹n.
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 8

1.2.2. VÝ dô ®¬n gi¶n vÒ ®å thÞ

M« h×nh hãa nh÷ng hÖ thèng trong tù nhiªn thµnh ng«n ng÷ ®å thÞ rÊt quan

träng. Mét sè vÝ dô sau ®©y thÓ hiÖn viÖc biÓu diÔn ®å thÞ tõ hÖ thèng quen biÕt:

1. S¬ ®å khèi. Ta coi thµnh phÇn c¬ b¶n cña s¬ ®å khèi lµ c¸c ®Ønh V vµ E gåm

mòi tªn nèi c¸c hép trong s¬ ®å khèi. H×nh 1.7 thÓ hiÖn quan hÖ s¬ ®å khèi vµ ®å

thÞ.

1
B¾t ®Çu
1

2
j := 0
2
i := 1

4 3 4
3 A(i) < 0 T
j := j + 1

F
5 6
5 T
i=N KÕt thóc

7 F 6
i := i + 1 7

H×nh 1.7 S¬ ®å khèi

2. Quan hÖ nhÞ ph©n. Cho V {1, 2, ..., 9, 10} vµ tËp quan hÖ E trªn V
lµ tËp hîp

®­îc ®Þnh nghÜa: AE B khi vµ chØ khi A 6= B vµ B chia hÕt cho A. H×nh 1.8 lµ ®å thÞ

víi mçi ®iÓm trong V lµ ®Ønh vµ mçi mòi tªn tõ A ®Õn B khi vµ chØ khi AE B.

6
3 9
10 2 8
4

5 1 7
H×nh 1.8 §å thÞ s¬ ®å quan hÖ

3. Ph©n tö r­îu. H×nh 1.9 biÓu diÔn hãa häc ph©n tö r­îu nh­ lµ mét c©y ®å thÞ:
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 9

H H

H C C O H

H H

H×nh 1.9 §å thÞ ph©n tö r­îu

1.2.3. M« t¶ h×nh thøc ®å thÞ vµ ®å thÞ ®Þnh h­íng

B»ng ®iÓm vµ ®­êng cong chØ m« t¶ ®­îc nh÷ng ®å thÞ cì ®Ønh vµ c¹nh nhá. VÝ

dô vÏ ®å thÞ mét m¹ng l­íi ®iÖn tho¹i mét thµnh phè cã hµng triÖu thuª bao th×

kh«ng thÓ m« t¶ b»ng h×nh vÏ ®­îc. Ng­êi ta chän c¸ch h×nh thøc hãa ®å thÞ b»ng

c¸c b¶ng chøa c¸c ®Ønh vµ c¹nh.

§Þnh nghÜa 1.4. M« t¶ h×nh thøc mét ®å thÞ G = (V , E , end pts) gåm danh s¸ch h÷u h¹n,
kh¸c rçng c¸c ®Ønh cña nã, mét danh s¸ch h÷u h¹n c¸c c¹nh cña nã vµ mét b¶ng hai

hµng mµ c¸c cét lµ chØ sè c¸c c¹nh vµ ®Ønh th«ng qua hµm tíi end pts. Mçi cét lµ mét

c¹nh e vµ t­¬ng øng víi c¸c ®iÓm cuèi cña e. NÕu ®iÓm cuèi xuÊt hiÖn hai lÇn nÕu

e lµ mét vßng.

VÝ dô 1.2. H×nh 1.10 m« t¶ c¸ch vÏ vµ m« t¶ h×nh thøc cña cïng mét ®å thÞ.

Hµm tíi cña vÝ dô nµy lµ: end pts(a) = end pts(a) = {A}; end pts(k) = {B}; end pts(c) =
{A, B}; end pts(d) = {A,C}; end pts( f ) = end pts(g) = end pts(h) = {A}.

k
B V = {A, B,C} vµ E = {a, b, c, d, f , g, h, k}
c C¹nh a b c d f g h k
a b A h f g §Ønh A A A C B B C B
cuèi A A B A C C B B
d
C
H×nh 1.10 §å thÞ vµ m« t¶ h×nh thøc

§Þnh nghÜa 1.5. D = (V , E , end pts, head,tail) lµ m«


M« t¶ h×nh thøc ®å thÞ ®Þnh h­íng

t¶ h×nh thøc cña ®å thÞ c¬ së b»ng c¸ch céng thªm hµm sè head : E → V vµ tail : E → V

mµ nã chØ ra ®Ønh ®Çu vµ ®Ønh cuèi cña mçi cung.

Trong thùc tÕ ng­êi ta chØ dïng hai hµm head vµ tail lµ ®ñ.

VÝ dô 1.3. H×nh 1.11 m« t¶ c¸ch vÏ vµ m« t¶ h×nh thøc cña cïng mét ®å thÞ ®Þnh

h­íng, t­¬ng øng víi c¸c hµm sè head vµ tail . ChØ sè h chØ ra ®Ønh ®ã lµ ®Ønh ®Çu

cña cung.
1.3. BËc cña ®Ønh trong ®å thÞ 10

k
B V = {A, B,C} vµ E = {a, b, c, d, f , g, h, k}
c C¹nh a b c d f g h k
A h h
a b h f g §Ønh A A A C B B C B
cuèi Ah A Bh Ah C C h Bh Bh
d
C
H×nh 1.11 §å thÞ ®Þnh h­íng vµ m« t¶ h×nh thøc

head(a) = tail(a) = head(b) = tail(b) = head(d) = tail(c) = {A};


head(c) = head(h) = head( f ) = tail(g) = head(k) = tail(k) = {B};
tail(g) = tail(d) = tail(h) = tail( f ) = {C};.

Chó ý: B»ng c¸ch m« t¶ h×nh thøc trªn rÊt dÔ dµng triÓn khai vµo thuËt to¸n

cña ®å thÞ víi c¸c cÊu tróc c¬ së d÷ liÖu thÝch hîp.

1.3. BËc cña ®Ønh trong ®å thÞ

Nghiªn cøu ®å thÞ ng­êi ta quan t©m tíi sè c¹nh vµ sè ®Ønh cïng c¸c quan hÖ

gi÷a chóng.

§Þnh nghÜa 1.6. BËc cña mét ®Ønh A trong ®å thÞ G lµ sè c¸c c¹nh ph©n biÖt nèi víi A,
kÝ hiÖu lµ deg(A). NÕu c¹nh lµ vßng th× c¹nh nèi víi ®­îc tÝnh gÊp ®«i.

Mét ®Ønh cã d bËc th× ®­îc gäi lµ ®Ønh d bËc. Ta xÐt ®å thÞ ë h×nh 1.10, bËc c¸c

®Ønh cña ®å thÞ nµy lµ deg(A) = 6, deg(B) = 6, deg(C) = 5.

§Þnh nghÜa 1.7. D·y bËc cña ®å thÞ lµ mét d·y t¹o bëi bËc c¸c ®Ønh theo thø tù kh«ng

gi¶m.

VÝ dô 1.4. H×nh 1.12 thÓ hiÖn ®å thÞ vµ d·y bËc cña nã vµ h×nh 1.13 hai ®å thÞ cã

cïng mét d·y bËc.

k A
E
c
B
F
a b h f g
d C G H
D < 2, 2, 2, 2, 2 >
< 0, 1, 1, 4, 6, 6 >
A, B,C, D, E, F
H×nh 1.13 Hai ®å thÞ cïng

H×nh 1.12 §å thÞ vµ d·y bËc bËc


1.3. BËc cña ®Ønh trong ®å thÞ 11

MÖnh ®Ò sau ®©y chØ ra d·y bËc cña ®å thÞ ph¶i cã hai phÇn tö b»ng nhau.

MÖnh ®Ò 1.1. Mét ®å thÞ ®¬n kh¸c rçng G ph¶i cã Ýt nhÊt mét cÆp ®Ønh cã cïng bËc.

Chøng minh. Gi¶ sö ®å thÞ G cã n ®Ønh. Khi ®ã tån t¹i n kh¶ n¨ng gi¸ trÞ bËc lµ

0, 1, ..., n − 1. Tuy nhiªn, kh«ng thÓ cã ®ång thêi mét ®Ønh bËc 0 vµ mét ®Ønh bËc
n − 1, v× khi mµ mét ®Ønh cã bËc 0 kÐo theo mçi ®Ønh cßn l¹i n − 1 ®Ønh ®­îc kÒ
nhiÒu nhÊt víi n−2 ®Ønh cßn l¹i. Do ®ã, n ®Ønh cña G cã thÓ cã ®­îc nhiÒu nhÊt

n−1 kh¶ n¨ng gi¸ trÞ cho bËc cña chóng. V× vËy, theo nguyªn lÝ §irichle suy ra tån

t¹i Ýt nhÊt hai ®Ønh trong n ®Ønh cã cïng gi¸ trÞ bËc. J
Mçi quan hÖ c¬ b¶n gi÷a sè ®Ønh vµ sè c¹nh cña mét ®å thÞ.

§Þnh lý 1.1 (Euler). Tæng bËc cña c¸c ®Ønh trong mét ®å thÞ b»ng hai lÇn sè c¹nh.

Chøng minh. KÝ hiÖu S = ∑ deg(V ). Chó ý r»ng trong c¸ch tÝnh S, ta ®Õm mçi c¹nh
V ∈V
hai lÇn. Nh­ vËy, S = 2|E |. §ã lµ ®iÒu cÇn chøng minh. J
VÝ dô 1.5. Mét ®å thÞ G = (V , E ) cã 32 c¹nh vµ mçi ®Ønh cã bËc lµ 4. T×m sè ®Ønh

cña G.
Ta cã |E | = 32 vµ theo §Þnh lÝ 1.1 suy ra 2.32 = 4.|V |. VËy |V | = 16.

HÖ qu¶ 1.1. Trong ®å thÞ tån t¹i sè ch½n ®Ønh cã bËc lÎ.

Chøng minh. Coi ®å thÞ G = (V , E ). Gäi V1 vµ V2 lÇn l­ît lµ tËp hîp c¸c ®Ønh bËc

lÎ vµ tËp hîp c¸c ®Ønh bËc ch½n cña G. Theo ®Þnh lÝ 1.1 ta cã

2|E | = ∑ deg(V ) = ∑ deg(V ) + ∑ deg(V ).


V ∈V V ∈V1 V ∈V2

HiÓn nhiªn ∑ deg(V )


V ∈V2
lµ sè ch½n, do ®ã ∑ deg(V )
V ∈V1
còng lµ sè ch½n. J
HÖ qu¶ 1.2. D·y bËc cña mét ®å thÞ lµ h÷u h¹n, d·y kh«ng t¨ng c¸c sè kh«ng ©m vµ tæng

cña chóng lµ mét sè ch½n.

Ng­îc l¹i, mét d·y sè kh«ng ©m, kh«ng gi¶m mµ tæng cña nã lµ mét sè ch½n cã lµ

d·y bËc cña mét ®å thÞ nµo ®ã kh«ng? NghÜa lµ, tõ mét d·y sè kh«ng ©m kh«ng t¨ng

cã dùng ®­îc mét ®å thÞ cã d·y bËc ë ®Ønh ®· cho kh«ng?

VÝ dô 1.6. Gi¶ sö ta muèn x©y dùng mét ®å thÞ cã d·y bËc < 0, 1, 2, 3, 3, 4, 5 >. B¾t ®Çu

víi b¶y ®Ønh ®éc lËp A1 , A2 , A3 , A4 , A5 , A6 , A7 . Víi nh÷ng sè h¹ng trong d·y gi¸ trÞ ch½n

ta vÏ sè nh÷ng c¹nh vßng thÝch hîp t­¬ng øng víi c¸c ®Ønh nµy. Nh­ vËy A1 ®Ó c«

lËp, A3 nhËn mét vßng c¹nh vµ A6 cã hai vßng c¹nh.

Cßn l¹i nh÷ng sè h¹ng cã gi¸ trÞ lÎ, ta nhãm c¸c ®Ønh thµnh hai cÆp, cô thÓ lµ

A2 , A4 vµ A5 , A7 . Sau ®ã nèi mçi cÆp b»ng mét c¹nh ®¬n vµ thªm vµo mçi ®Ønh mét sè

thÝch hîp c¹nh vßng. KÕt qu¶ dùng ®­îc nh­ h×nh 1.14.
1.3. BËc cña ®Ønh trong ®å thÞ 12

A6
A1 A3

A2 A4 A5 A7
H×nh 1.14 Dùng ®å thÞ tõ d·y bËc < 0, 1, 2, 3, 3, 4, 5 >

§Þnh lý 1.2. Gi¶ sö d1 , d2 , ..., dn lµ mét d·y sè nguyªn kh«ng ©m cã tæng lµ sè ch½n. Khi

®ã tån t¹i mét ®å thÞ víi c¸c ®Ønh A1 , A2 , ..., An sao cho deg(Ai ) = di , víi i = 1, 2, ..., n.

Chøng minh. B¾t ®Çu víi n ®Ønh ®éc lËp A1 , A2 , ..., An . Víi mçi i, nÕu di lµ sè ch½n,
di di −1
th× ta vÏ
2 c¹nh vßng t¹i ®Ønh Ai , vµ nÕu di lµ mét sè lÎ th× ta vÏ
2 c¹nh vßng

t¹i Ai . The HÖ qu¶ 1.1, tån t¹i sè ch½n ®Ønh bËc lÎ di . Nh­ vËy, viÖc dùng cã thÓ

hoµn thµnh b»ng c¸ch nhãm c¸c ®Ønh t­¬ng øng sè h¹ng lÎ thµnh tõng cÆp vµ khi ®ã

nèi mçi cÆp nµy b»ng mét c¹nh ®¬n. J


§Þnh nghÜa bËc cña ®Ønh cã thÓ ®Þnh nghÜa l¹i cho thÝch hîp víi ®å thÞ ®Þnh

h­íng.

§Þnh nghÜa 1.8. A trong ®å thÞ h­íng lµ sè c¸c cung ®Þnh h­íng
BËc vµo cña mét ®Ønh

®i vµo A; bËc ra cña ®Ønh A lµ sè c¸c cung ®Þnh h­íng ®i tõ A ra ngoµi. Mçi c¹nh vßng

®Þnh h­íng t¹i A ®­îc tÝnh mét bËc vµo A vµ mét bËc ra khái A.

VÝ dô 1.7. H×nh 1.15 m« t¶ bËc vµo vµ bËc ra cña c¸c ®Ønh trong mét ®å thÞ ®Þnh

h­íng.

k
B V = {A, B,C} vµ E = {a, b, c, d, f , g, h, k}
c §Ønh A B C
A
a b h f g BËc vµo 3 4 1
BËc ra 3 2 3
d
C
H×nh 1.15 BËc vµo vµ bËc ra cña ®å thÞ ®Þnh h­íng

§Þnh lÝ 1.1 ®­îc ph¸t biÓu theo ph­¬ng ¸n ®å thÞ ®Þnh h­íng nh­ sau:

§Þnh lý 1.3. Trong ®å thÞ ®Þnh h­íng, tæng bËc vµo vµ tæng bËc ra b»ng nhau vµ ®ång

thêi b»ng sè c¹nh cña ®å thÞ.

Chøng minh. Mçi c¹nh ®Þnh h­íng ®Òu gãp mét bËc vµo vµ mét bËc ra. Nh­ vËy

bËc ra vµ bËc vµo lu«n b»ng nhau vµ b»ng sè c¹nh cña ®å thÞ. J
1.4. §­êng ®i vµ kho¶ng c¸ch 13

1.4. §­êng ®i vµ kho¶ng c¸ch

RÊt nhiÒu øng dông b»ng m« h×nh ®å thÞ cã thÓ biÓu diÔn b»ng ®­êng ®i vµ

kho¶ng c¸ch. VÝ dô, sè nh÷ng nót mµ mét th«ng b¸o th­ ®iÖn tö cã thÓ ®i qua tõ

ng­êi göi ®Õn ng­êi nhËn t¹o ra mét kho¶ng c¸ch. PhÇn nµy ta xÐt nh÷ng khai niÖm

vÒ vÊn ®Ò nµy.

1.4.1. §­êng ®i vµ ®­êng cã h­íng

§Þnh nghÜa 1.9. 1. §­êng ®i tõ ®Ønh V0 ®Õn ®Ønh Vn lµ mét d·y liªn tiÕp c¸c ®Ønh
vµ c¹nh P =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en,Vn > sao cho end pts(ei ) = {Vi−1 ,Vi }, víi i = 1, 2, ..., n.
2. §­êng ®i ®Þnh h­íng tõ ®Ønh V0 ®Õn ®Ønh Vn lµ mét d·y liªn tiÕp c¸c ®Ønh
vµ cung P =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en,Vn > sao cho tail(ei ) = Vi−1 vµ head(ei ) = Vi , víi

i = 1, 2, ..., n.

Nh­ vËy, mét ®­êng ®i lµ ®i qua liªn tôc theo mét sè ®Ønh vµ mét sè c¹nh.

§Þnh nghÜa 1.10. §é dµi cña ®­êng ®i (hoÆc ®­êng ®Þnh h­íng) lµ sè c¸c c¹nh trong

d·y ®­êng. Mét ®­êng ®i (hoÆc ®­êng ®Þnh h­íng) tõ ®Ønh A ®Õn ®Ønh B gäi lµ A − B
®­êng hoÆc (A − B ®­êng ®Þnh h­íng).

§Þnh nghÜa 1.11. Mét A−B ®­êng (®Þnh h­íng) ®­îc gäi lµ ®­êng ®ãng nÕu A vµ B
lµ cïng mét ®Ønh vµ lµ ®­êng më nÕu ng­îc l¹i.

VÝ dô 1.8. H×nh 1.16 m« t¶ ®­êng P1 lµ ®ãng vµ cã ®é dµi lµ 5 trong ®å thÞ 4 ®Ønh.

H×nh 1.17 thÓ hiÖn ®­êng ®Þnh h­íng më P2 cã ®é dµi 7.

g G
F
e4 C f
a b C
B A c
e2 B
A
e1 D
e
e3 d
D E
P1 =< A, e2 , B, e4 ,C, e4 , B, e1 , D, e3 , A > P2 =< A, a, B, f , F, g, G >

H×nh 1.16 §­êng ®i ®ãng P1 H×nh 1.17 §­êng ®Þnh h­íng më P2

Chó ý. Cã hai c¸ch quy ®Þnh viÕt t¾t biÓu diÔn ®­êng

P =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en ,Vn >

1. nh­ mét d·y c¹nh: Khi ®ã P lµ < e1 , e2 , ..., en >.


1.4. §­êng ®i vµ kho¶ng c¸ch 14

2. nh­ lµ d·y ®Ønh: NÕu ®­êng ®i P kh«ng xuÊt hiÖn ®a c¹nh, th× P biÓu diÔn lµ

< V0 ,V1 , ...,Vn >.

§Þnh nghÜa 1.12. GhÐp hai ®­êng ®iP1 =< V0 , e1 , ...,Vk−1 , ek ,Vk > vµ
P2 =< Vk , ek+1 ,Vk+1 , ek+2 , ...,Vn−1 , en ,Vn > lµ mét ®­êng ®i sao cho P2 b¾t ®Çu ë n¬i P1 kÕt

thóc:

P1 ◦ P2 =< V0 , e1 , ...,Vk−1 , ek ,Vk , ek+2 , ...,Vn−1 , en ,Vn >

VÝ dô 1.9. H×nh 1.18 m« t¶ ghÐp hai ®­êng thµnh mét ®­êng

W
V
e Y m
f k P1 =< U, e,V, f , X > P2 =< X , k,Y, l, Z, m,W >
l
X P1 ◦ P2 =< U, e,V, f , X , k,Y, l, Z, m,W >
U Z

H×nh 1.18 BËc vµo vµ bËc ra cña ®å thÞ ®Þnh h­íng

§Þnh nghÜa 1.13. §­êng con cña ®­êngP =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en ,Vn > lµ mét d·y con
liÒn nhau S =< V j , e j+1 ,V j+1 , ..., ek ,Vk > sao cho 0 ≤ j ≤ k ≤ n vµ c¸c ®Ønh ®Çu vµ cuèi

®Òu thuéc ®Ønh cña P.

1.4.2. §å thÞ liªn th«ng

§Þnh nghÜa 1.14. Mét ®Ønh B gäi lµ cã kh¶ n¨ng tiÕn tíi tõ ®Ønh A nÕu tån t¹i mét

®­êng ®i tõ ®Ønh A ®Õn B.

§Þnh nghÜa 1.15. Mét ®å thÞ gäi lµ liªn th«ng nÕu víi mäi cÆp ®Ønh A vµ B tån t¹i

®­êng ®i tõ A tíi B.

§Þnh nghÜa 1.16. §å thÞ ®Þnh h­íng gäi lµ liªn th«ng nÕu ®å thÞ c¬ së cña nã lµ liªn

th«ng.

§Þnh nghÜa 1.16 cßn ®­îc gäi lµ ®å thÞ liªn th«ng yÕu cho ®å thÞ ®Þnh h­íng. Ta

cã thÓ cã ®Þnh nghÜa liªn th«ng m¹nh:

§Þnh nghÜa 1.17. Hai ®Ønh A vµ B trong ®å thÞ ®Þnh h­íng D ®­îc gäi lµ tiÕn tíi lÉn
nhau nÕu D chøa ®ång thêi A − B ®­êng ®Þnh h­íng vµ B − A ®­êng ®Þnh h­íng.

§Þnh nghÜa 1.18. Mét ®å thÞ ®Þnh h­íng D lµ liªn th«ng m¹nh nÕu mäi cÆp ®Ønh

cña nã ®Òu tiÕn tíi lÉn nhau ®­îc.

VÝ dô 1.10. H×nh 1.19 chØ ra ®å thÞ ®Þnh h­íng liªn th«ng m¹nh.
1.5. §­êng dÉn vµ chu tr×nh 15

C
B

A
D
E
H×nh 1.19 §å thÞ ®Þnh h­íng liªn th«ng m¹nh

Bµi to¸n trong thùc tÕ ®Æt ra lµ cho ®å thÞ, lµm sao ta cã thÓ ®Þnh h­íng c¸c c¹nh

sao cho ®å thÞ ®Þnh h­íng trë thµnh liªn th«ng m¹nh. Ta ®­a vµo kh¸i niÖm:

§Þnh nghÜa 1.19. Mét ®å thÞ ®­îc gäi lµ cã kh¶ n¨ng ®Æt h­íng m¹nh nÕu tån t¹i mét

phÐp g¸n h­íng cho c¸c c¹nh sao cho kÕt qu¶ ®å thÞ ®Þnh h­íng nhËn ®­îc lµ liªn

th«ng m¹nh. PhÐp g¸n nh­ vËy gäi lµ ®Æt h­íng m¹nh.

Ch­¬ng sau ta xÐt thuËt to¸n ®Ó ph¸t hiÖn mét ®å thÞ cã kh¶ n¨ng ®Æt h­íng

m¹nh.

§Þnh nghÜa 1.20. Trong mét ®å thÞ, Kho¶ng c¸ch tõ ®Ønh A tíi ®Ønh B lµ ®é dµi cña

®­êng ®i ng¾n nhÊt tõ A tíi B, hoÆc lµ ∞ nÕu kh«ng tån t¹i ®­êng ®Þ tõ A ®Õn B.
Trong ®å thÞ ®Þnh h­íng, kho¶ng c¸ch ®Þnh h­íng lµ ®é dµi cña ®­êng ®Þnh h­íng

ng¾n nhÊt. (cho vÝ dô)

1.5. §­êng dÉn vµ chu tr×nh

§Þnh nghÜa 1.21. Cho ®­êng ®i W =< V0 , e1 , ...,Vn−1 , en ,Vn > chøa ®­êng ®i con ®ãng

W0 = Vk , ek+1 , ...,Vm−1 , em ,Vk >. Sù thu nhá W bëi W 0 lµ ®­êng ®i


W −W 0 =< V0 , e1 , ...,Vk−1 , ek ,Vk , em+1 ,Vm+1 , ...,Vn−1 , en > .

NghÜa lµ W −W 0 lµ kÕt qu¶ cña viÖc xãa ®i tÊt c¶ c¸c ®Ønh cña W0 trõ ®Ønh Vk .

VÝ dô 1.11. §å thÞ 1.20 cã W =< a, b, c, d, e, f , g > vµ W 0 =< a, c, d, e >. §­êng ®i W −W 0 =<


a, f , g >.
§Þnh nghÜa 1.22. 1. §­êng mßn lµ ®­êng ®i kh«ng cã c¹nh lÆp l¹i trong nã.

2. §­êng dÉn lµ mét ®­êng mßn kh«ng cã ®Ønh nµo lÆp l¹i trõ ®Ønh ®Çu vµ ®Ønh

cuèi.

§­êng dÉn lµ ®­êng ®i mµ c¸c ®Ønh vµ c¸c c¹nh chØ xuÊt hiÖn 1 lÇn trõ ®Ønh

®Çu vµ cuèi.

VÝ dô 1.12. Trong ®å thÞ 1.21, W =< a, e, f , a, d > lµ d·y c¹nh cña ®­êng ®i, nh­ng nã
kh«ng lµ ®­êng mßn. Cßn T =< a, b, c, d, e > lµ ®­êng mßn nh­ng kh«ng ph¶i lµ ®­êng

dÉn
1.6. Bµi tËp ch­¬ng I 16

g T
W
f
a b X W =< a, b, c, d, e, f , g >
U c
V W 0 =< a, c, d, e >
e
Y W −W 0 =< a, f , g >
d
Z

H×nh 1.20 §­êng ®i thu nhá

U e X d Z
W =< a, e, f , a, d >
f b T =< a, c, d, e >
a c

V Y

H×nh 1.21 §­êng W kh«ng lµ ®­êng mßn, T kh«ng lµ ®­êng dÉn

§­êng ®i, ®­êng mßn vµ ®­êng dÉn gäi lµ hiÓn nhiªn nÕu nã chØ cã mét ®Ønh vµ

kh«ng cã c¹nh.

MÖnh ®Ò 1.2. Mäi X −Y ®­êng W hoÆc lµ mét X −Y ®­êng dÉn hoÆc lµ nã chøa mét

®­êng con ®ãng.

Chøng minh. NÕu W kh«ng lµ mét X −Y ®­êng dÉn, th× mét d·y con ®Ønh cña W
cã mét ®Ønh lÆp l¹i vµ nã t¹o ra mét ®­êng ®i con ®ãng cña W. J
§Þnh nghÜa 1.23. Mét ®­êng dÉn ®ãng kh«ng hiÓn nhiªn ®­îc gäi lµ mét chu tr×nh.

MÖnh ®Ò 1.3. Mäi ®­êng mßn ®ãng kh«ng hiÓn nhiªn chøa mét ®­êng ®i con lµ mét

chu tr×nh.

Chøng minh. Gi¶ sö T0 lµ mét ®­êng ®i con ®ãng, kh«ng hiÓn nhiªn, ®é dµi ng¾n nhÊt.

§é dµi ng¾n nhÊt nghÜa lµ nã kh«ng chøa mét ®­êng con thùc sù nµo trong nã, do ®ã

nã chØ lÆp l¹i ®Ønh ®Çu vµ ®Ønh cuèi. NghÜa lµ T0 lµ mét chu tr×nh. J
§Þnh nghÜa 1.24. 1. Mét ®­êng mßn Euler trong ®å thÞ lµ mét ®­êng mßn cã chøa mäi

c¹nh cña ®å thÞ.

2. Chu tr×nh Euler lµ mét ®­êng mßn Euler ®ãng.

3. Mét ®å thÞ Euler lµ mét ®å thÞ cã mét chu tr×nh Euler.

1.6. Bµi tËp ch­¬ng I

1. Cho m« t¶ h×nh thøc ®å thÞ G = (V, E, end pts). H·y vÏ nh÷ng ®å thÞ vµ lËp

b¶ng g¾n liÒn c¹nh vµ ®Ønh: V = {U,W, X , Z}; E = {e, f , g}


1.6. Bµi tËp ch­¬ng I 17

end pts(e) = {W }; end pts( f ) = {X ,W }; end pts(g) = {X , Z};

2. H·y vÏ ®å thÞ ®Þnh h­íng theo b¶ng liÖt kª cho V = {U,V,W, X ,Y } vµ tËp c¹nh

E = {e, f , g, h}.
C¹nh e f g h
Y Xh Vh Vh
§Ønh Wh U X U

3. Nh÷ng d·y ®Ønh nµo sau ®©y biÓu diÔn ®­êng ®i trong ®å thÞ ®Þnh h­íng d­íi

®©y? §­êng nµo lµ ®­êng dÉn ®Þnh h­íng? §­êng ®i nµo lµ chu tr×nh ®Þnh

h­íng(®­êng vßng)? §é dµi cña mçi ®­êng ®Þnh h­íng nµy lµ bao nhiªu?

X V
a) < X ,V,Y,W,V >
W b) < X ,U, X ,U, X >
c) < X ,U,V,Y, X >

d) < X ,V,Y,W,V,U, X >

U Y
4. H·y vÏ ®å thÞ víi d·y bËc cho nh­ sau:

a) < 3, 7, 8 >; b) < 1, 3, 5, 6, 8, 8, 9 >.

5. H·y vÏ ®å thÞ ®¬n víi d·y bËc

a) < 1, 1, 2, 3, 3, 4, 4, 6 >; b) < 3, 3, 3, 3, 3, 5, 5, 5 >.

6. H·y vÏ ®å thÞ ®¬n theo c¸c d·y bËc sau, nÕu kh«ng vÏ ®­îc th× gi¶i thÝch t¹i

sao?

a) < 0, 0, 1, 2, 2 >; b) < 0, 1, 2, 3, 4 >;


c) < 1, 1, 2, 2, 4 >; d) < 2, 2, 2, 2 >;

7. H·y x¸c ®Þnh c¸c d·y ®Ønh sau ®©y, d·y nµo lµ mét ®­êng ®i trong ®å thÞ 1.22:

a) < U,V >; b) < V >; c) < U, Z,V >; d) < U,V,W,V >.

U V Z Y

X W

H×nh 1.22 Thªm c¹nh vµ chia c¹nh cña ®å thÞ ph¼ng

8. Trong ®å thÞ sau ®©y h·y t×m

a) §­êng ®i ®é dµi 7 gi÷a hai ®Ønh B vµ D;


b) §­êng dÉn cã ®é dµi lín nhÊt.
1.6. Bµi tËp ch­¬ng I 18

A D
k m
g
e ` h

B f C
9. Trong ®å thÞ sau ®©y

l
H·y t×m
A D k
a) §­êng ®i ®ãng mµ kh«ng ph¶i ®­êng mßn;

b) §­êng mßn ®ãng mµ kh«ng ph¶i lµ chu


m
tr×nh (®­êng vßng); e g h
TÊt c¶ chu tr×nh ®é dµi 5 hoÆc nhá h¬n.

B f C
10. Cho G lµ ®å thÞ vµ kÝ hiÖu d(S, T ) lµ kho¶ng c¸ch gi÷a hai ®Ønh S vµ T.
a) Chøng minh r»ng hµm kho¶ng c¸ch trªn tháa m·n bÊt ®¼ng thøc tam gi¸c.

NghÜa lµ

d(X , Z) ≤ d(X ,Y ) + d(Y, Z) ∀X ,Y, Z ∈ VG .


b) Chøng minh r»ng nÕu G lµ liªn th«ng vµ d(X ,Y ) ≥ 2 th× tån t¹i mét ®Ønh W
sao cho d(X ,Y ) = d(X ,W ) + d(W,Y ).
Ch­¬ng 2
CÊu tróc vµ biÓu diÔn ®å thÞ

2.1. Nh÷ng lo¹i ®å thÞ ®Æc biÖt . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


2.2. §å thÞ con . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3. C¸c phÐp to¸n ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4. §¼ng cÊu ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5. KiÓm nghiÖm kh«ng ®¼ng cÊu ®å thÞ . . . . . . . . . . . . . . . . . . . . . 26
2.6. BiÓu diÔn ma trËn víi ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.7. Bµi tËp ch­¬ng II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.1. Nh÷ng lo¹i ®å thÞ ®Æc biÖt

PhÇn nµy ta ®Þnh nghÜa nh÷ng d¹ng ®å thÞ ®Æc biÖt rÊt hay ®­îc dïng trong

suèt tµi liÖu nµy:

K1 K2 K3 K4 K5
H×nh 2.1 §å thÞ ®Çy ®ñ

§Þnh nghÜa 2.1. §å thÞ ®Çy ®ñ lµ mét ®å thÞ ®¬n sao cho mäi cÆp ®Ønh ®Òu kÒ nhau.

Mét ®å thÞ ®Çy ®ñ cã n ®Ønh, kÝ hiÖu lµ Kn .

VÝ dô 2.1. H×nh 2.1 lµ vÝ dô Kn víi 1 ≤ n ≤ 5.


1
MÖnh ®Ò 2.1. §å thÞ Kn cã n(n − 1) c¹nh.
2
Chøng minh. Theo ®Þnh nghÜa mäi ®Ønh cña Kn ®Òu cã bËc lµ n − 1. Theo §Þnh lÝ

1.1 ta cã
n
2|E | = ∑ (n − 1).
i=1
Suy ra |E | = 1
2 n(n − 1). J
§Þnh nghÜa 2.2. §å thÞ ®Òu lµ mét ®å thÞ mµ c¸c ®Ønh cña nã cã cïng bËc. Ng­êi ta

th­êng nãi ®å thÞ k-®Òu nghÜa lµ ®å thÞ ®Òu mµ bËc ë c¸c ®Ønh lµ k.

VÝ dô 2.2. §å thÞ Petersen lµ ®å thÞ 3-®Òu biÓu diÔn bëi c¸c ®­êng th¼ng nh­ h×nh

2.2.
2.1. Nh÷ng lo¹i ®å thÞ ®Æc biÖt 20

H×nh 2.2 §å thÞ Petersen H×nh 2.3 §å thÞ 2-®Òu ph©n tö ¤xy

V× ®å thÞ nµy chiÕm vai trß quan träng trong lÝ thuyÕt ®å thÞ, ®å thÞ Petersen

rÊt hay dïng ®Ó minh häa chøng minh ®Þnh lÝ vµ kiÓm tra c¸c gi¶ thuyÕt vÒ ®å

thÞ.

Trong thùc tÕ cã rÊt nhiÒu ®å thÞ ®Òu: H×nh 2.3 m« t¶ ph©n tö O2 b»ng c¸ch hai

nguyªn tö ¤xy nèi víi nhau b»ng hai liªn kÕt nh­ lµ ®å thÞ 2-®Òu.

§Þnh nghÜa 2.3. Mét ®å thÞ gåm mét ®Ønh duy nhÊt víi n c¹nh vßng ®­îc gäi lµ ®å

thÞ hoa vµ kÝ hiÖu lµ Bn .

VÝ dô 2.3. Ta thÊy ngay ®å thÞ hoa lu«n cã cã bËc ch½n nh­ h×nh 2.4.

B4
B2

H×nh 2.4 §å thÞ hoa B2 vµ B4

§Þnh nghÜa 2.4. Mét ®å thÞ gåm hai ®Ønh víi n c¹nh nèi chóng víi nhau, gäi lµ ®å

thÞ cùc vµ kÝ hiÖu lµ Dn .

VÝ dô 2.4. §å thÞ m« t¶ ph©n tö ¤xy h×nh 2.3 lµ ®å thÞ cùc D2 . H×nh 2.5 vÝ dô vÒ

®å thÞ cùc D3 vµ D4 .

D3
D4
H×nh 2.5 §å thÞ cùc D3 vµ D4

§Þnh nghÜa 2.5. §å thÞ ®­êng ®i P lµ mét ®å thÞ liªn th«ng ®¬n víi |VP | = |EP | + 1 mµ

nã cã thÓ vÏ sao cho c¸c ®Ønh vµ c¸c c¹nh cña nã n»m trªn mét ®­êng th¼ng. §å thÞ

®­êng n ®Ønh kÝ hiÖu lµ Pn .

VÝ dô 2.5. C¸c ®å thÞ ®­êng P2 vµ P4 nh­ trong h×nh 2.6.


2.1. Nh÷ng lo¹i ®å thÞ ®Æc biÖt 21

P2

P4

H×nh 2.6 §å thÞ ®­êng P2 vµ P4

§Þnh nghÜa 2.6. §å thÞ vßng lµ mét ®Ønh ®¬n víi c¹nh vßng hoÆc lµ mét ®å thÞ liªn

th«ng C = (V , E ) víi |V | = |E | mµ cã thÓ vÏ sao cho tÊt c¶ c¸c ®Ønh cña nã vµ c¸c

c¹nh cña nã n»m trªn mét ®­êng trßn. §å thÞ vßng n ®Ønh kÝ hiÖu lµ Cn .

VÝ dô 2.6. C¸c ®å thÞ vßng C1 ,C2 vµ C4 nh­ trong h×nh 2.7.

C1 C2
C4
H×nh 2.8 §å thÞ thang vßng

H×nh 2.7 §å thÞ vßng C1 ,C2 vµ C4 CL4

§Þnh nghÜa 2.7. §å thÞ thang vßng CLn lµ hai ®å thÞ vßng ®ång t©m n ®Ønh trong nã

mçi cÆp trong n cÆp ®Ønh ®­îc nèi víi nhau bëi mét c¹nh.

VÝ dô 2.7. H×nh 2.8 lµ ®å thÞ thang vßng CL4 .

§Þnh nghÜa 2.8. §å thÞ hai phÇn G lµ mét ®å thÞ mµ tËp ®Ønh cña nã V cã thÓ ph©n

ho¹ch lµm hai tÖp con U vµ W sao cho mäi c¹nh cña G cã mét ®iÓm cuèi trong U
vµ mét ®iÓm cuèi trong W . CÆp U , W gäi lµ ph©n ho¹ch ®Ønh cña G. C¸c tÖp U ,W
®­îc gäi lµ c¸c tËp con ph©n ho¹ch.

VÝ dô 2.8. H×nh 2.9 lµ nh÷ng ®å thÞ hai phÇn.

H×nh 2.9 §å thÞ hai phÇn

MÖnh ®Ò 2.2. Mét ®å thÞ hai phÇn kh«ng thÓ cã mét c¹nh vßng.

Chøng minh. KÕt luËn suy ra tõ ®Þnh nghÜa ®å thÞ hai phÇn. J
§Þnh nghÜa 2.9. §å thÞ hai phÇn ®Çy ®ñ G lµ mét ®å thÞ hai phÇn ®¬n sao cho mäi

®Ønh trong mét tËp ph©n ho¹ch ®­îc nèi víi mäi ®Ønh trong tËp ph©n ho¹ch cßn l¹i.

§å thÞ hai phÇn ®Çy ®ñ cã m ®Ønh trong mét tËp hîp ph©n ho¹ch vµ n ®Ønh trong

mét tËp ph©n ho¹ch cßn l¹i ®­îc kÝ hiÖu lµ Km,n .


2.2. §å thÞ con 22

VÝ dô 2.9. H×nh 2.10 lµ nh÷ng ®å thÞ hai phÇn.

H×nh 2.10 §å thÞ hai phÇn ®Çy ®ñ

2.2. §å thÞ con

Mét sè tÝnh chÊt cña ®å thÞ ®­îc x¸c ®Þnh bëi nh÷ng d¹ng ®å thÞ nhá h¬n trong

®å thÞ ®· cho.

§Þnh nghÜa 2.10. 1. §å thÞ con cña mét ®å thÞ G lµ mét ®å thÞ H mµ c¸c ®Ønh vµ c¸c

c¹nh cña nã ®Òu thuéc G. NÕu H lµ ®å thÞ con cña G, ta còng cã thÓ nãi G lµ ®å

thÞ trªn cña H.


2. §å thÞ con ®Þnh h­íng cña mét ®å thÞ ®Þnh h­íng G lµ mét ®å thÞ ®Þnh h­íng

H mµ c¸c ®Ønh vµ cung cña nã tÊt c¶ ®Òu trong G.

VÝ dô 2.10. H×nh 2.11 chØ ra H1 vµ H2 lµ ®å thÞ con cña G.

A a B
V = {A, B,C, D, E} vµE = {a, b, c, d, e, f }
d c
C¹nh a b c d e f
E b G §Ønh A B B A E D
e B C E E D C

D f C
V = {A, B, E} vµE = {c, d}
C¹nh c d
A B
§Ønh B A
d c E E
H1
E

A a B
V = {A, B,C, D} vµ E = {a, b, c, d, e}
d c
C¹nh a b c d e
E H2
b §Ønh A B B A E
e B C E E D

D C
H×nh 2.11 §å thÞ G vµ hai ®å thÞ con H1 vµ H2
2.2. §å thÞ con 23

§Þnh nghÜa 2.11. §å thÞ con thùc sù H cña G lµ ®å thÞ con sao cho VH lµ tËp con thùc

sù cña VG hoÆc EH lµ tËp con thùc sù cña EG .

VÝ dô 2.11. §å thÞ H1 vµ H2 ®Òu lµ tËp con thùc sù cña G (h×nh 2.11).

§Þnh nghÜa 2.12. Mét ®å thÞ con H gäi lµ d¶i cña ®å thÞ G nÕu VH = VG .

§Þnh nghÜa 2.13. G . Mét ®å thÞ con quy vµo tËp ®Ønh con U cña VG gäi
Cho mét ®å thÞ

lµ mét ®å thÞ con cña G (kÝ hiÖu lµ G (U )), mµ c¸c tËp ®Ønh cña lµ U vµ c¸c tËp c¹nh

gåm tÊt c¶ c¸c c¹nh cña G cã hai ®iÓm cuèi n»m trong U .

G (U ) = (VG(u) = U, EG(U) = {e ∈ EG |end pts(e) ∈ U }).

VÝ dô 2.12. §å thÞ 3 ®Ønh VG = {A, B,C}. §å thÞ con quy vµo U = {A, B} (h×nh 2.12).

k k
B B
c c
A A
a b h f g a b

d
C
G G (U )

H×nh 2.12 §å thÞ con quy vµo tËp ®Ønh

§Þnh nghÜa 2.14. G , ®å thÞ con quy vµo tËp c¹nh D cña EG lµ mét ®å thÞ con
Cho ®å thÞ

cña G , kÝ hiÖu lµ G (D), mµ cã tËp c¸c c¹nh lµ D vµ tËp c¸c ®Ønh bao gåm c¸c ®Ønh

lµ c¸c ®iÓm cuèi cña c¸c c¹nh thuéc D. NghÜa lµ, VG(D) = {A ∈ end pts(e), víi e ∈ D} vµ

EG(D) = D.

VÝ dô 2.13. §å thÞ gåm c¸c c¹nh EG = {a, b, c, d, f , g, h, k}. §å thÞ con quy vµo D = {a, c}
(h×nh 2.13).

k
B B
c c
A A
a b h f g a

d
C
G G (D)

H×nh 2.13 §å thÞ con quy vµo tËp c¹nh


2.3. C¸c phÐp to¸n ®å thÞ 24

§Þnh nghÜa 2.15. 1. §Ønh bÊt k× bªn c¹nh mét ®Ønh ®­îc gäi lµ ®Ønh l©n cËn cña nã.

2. Mét l©n cËn cña ®Ønh A, kÝ hiÖu lµ NG (A) lµ mét ®å thÞ con quy vµo tËp ®Ønh

bao gåm A vµ tÊt c¶ c¸c ®Ønh l©n cËn cña nã.

VÝ dô 2.14. L©n cËn cña ®Ønh

A A A
B B B
C C C

NG (A) NG (B)

H×nh 2.14 Mét sè l©n cËn cña ®å thÞ G

§Þnh nghÜa 2.16. Thµnh phÇn cña G lµ ®å thÞ con liªn th«ng lín nhÊt cña G. NghÜa

lµ, ®å thÞ con liªn th«ng H lµ thµnh phÇn cña ®å thÞ G nÕu H nã kh«ng ph¶i lµ ®å

thÞ con thùc sù cña mét ®å thÞ con kh¸c cña G.

2.3. C¸c phÐp to¸n ®å thÞ

Trong khoa häc m¸y tÝnh ng­êi ta th­êng coi ®å thÞ nh­ mét biÕn. V× thÕ ng­êi

ta cã thÓ cÊu h×nh l¹i b»ng c¸ch thªm vµo mét ®Ønh vµ xãa ®i mét ®Ønh hoÆc mét

c¹nh nµo ®ã còng nh­ lµ kh«ng gian vect¬ vËy.

§Þnh nghÜa 2.17. NÕu A lµ mét ®Ønh cña ®å thÞ G, th× ®å thÞ con xãa ®Ønh G −A lµ

mét ®å thÞ con quy vµo tËp ®Ønh VG − {A}. NghÜa lµ

VG−A = VG \ {A} vµ EG−A = {e ∈ EG |A 6∈ end pts(e)}.

Tæng qu¸t h¬n, nÕu U lµ mét tËp con cña VG th× kÕt qu¶ liªn tiÕp xãa c¸c ®Ønh

trong U lµ mét ®å thÞ con G −U .

§Þnh nghÜa 2.18. NÕu e lµ mét c¹nh cña cña ®å thÞ G, th× ®å thÞ con xãa c¹nh lµ mét

®å thÞ con quy vµo tËp c¹nh EG \ {e}. NghÜa lµ,

VG−e = VG vµ EG−e = EG \ {e}.

§Þnh nghÜa 2.19. 1. TËp ®Ønh c¾t ®­îc trong ®å thÞ G lµ tËp hîp ®Ønh U sao cho

G −U kh«ng cã nhiÒu thµnh phÇn h¬n G.


2. §Ønh c¾t lµ mét tËp ®Ønh c¾t ®­îc bao gåm suy nhÊt mét ®Ønh.
2.4. §¼ng cÊu ®å thÞ 25

W X Y Z

H×nh 2.15 §å thÞ víi bèn c¾t ®Ønh

VÝ dô 2.15. NÕu ®å thÞ trong h×nh 2.15 biÓu diÔn mét m¹ng viÔn th«ng, th× cã thÓ

ng¾t thµnh bèn c¾t ®Ønh t¹i W, X ,Y hoÆc Z sÏ hñy sù liªn th«ng cña m¹ng nµy. Còng

nh­ vËy víi {U,V } vµ {W, X } lµ hai tËp ®Ønh c¾t ®­îc.

§Þnh nghÜa 2.20. Thªm ®Ønh A vµo ®å thÞ G, ë ®©y A lµ mét ®Ønh míi kh«ng ph¶i c¸c

®Ønh ®· cã trong VG , nghÜa lµ t¹o ra mét ®å thÞ míi kÝ hiÖu lµ G ∪ {A} víi c¸c ®Ønh

lµ VG ∪ {A} vµ tËp c¹nh vÉn lµ EG .

§Þnh nghÜa 2.21. Thªm c¹nh e vµo gi÷a hai ®Ønh U vµ W cña ®å thÞ G nghÜa lµ t¹o
ra mét ®å thÞ míi kÝ hiÖu lµ G ∪ {e} víi c¸c ®Ønh vÉn lµ VG vµ tËp c¹nh lµ EG ∪ {e}.

2.4. §¼ng cÊu ®å thÞ

V× h×nh d¸ng, ®é dµi cña c¹nh vµ vÞ trÝ cña c¸c ®Ønh cña mét ®å thÞ kh«ng chØ

ra râ rµng trong ®Þnh nghÜa ®å thÞ. VËy mçi ®å thÞ cã v« h¹n c¸ch biÓu diÔn kh¸c

nhau trªn mÆt ph¼ng.

VÝ dô 2.16. Tuy c¸ch vÏ kh¸c nhau nh­ng ba h×nh sau ®©y cïng biÓu diÔn mét ®å

thÞ

A
b
b B a c
A a c d
B A C
d
c C d a B
C b

H×nh 2.16 §å thÞ víi c¸ch vÏ kh¸c nhau

Còng cã thÓ viÖc g¸n nh·n cho c¸c ®å thÞ kh¸c nhau trªn cïng mét ®å thÞ nh­

vÝ dô.

VÝ dô 2.17. XÐt hai ®å thÞ cã biÓu diÔn sau ®©y

VG = {U,V,W }, EG = {a, b, c, d}
2.5. KiÓm nghiÖm kh«ng ®¼ng cÊu ®å thÞ 26

C¹nh a b c d
end ptsG () {U,V } {V,V } {U,W } {U,W }

VH = {U,V, X }, EG = {e, f , g, h}
C¹nh e f g h
end ptsD () {V,V } {V, X } {U, X } {U, X }

Tªn cña c¸c ®Ønh vµ c¸c c¹nh cña ®å thÞ G vµ H kh¸c nhau, nh­ng hai ®å thÞ nµy

hoµn toµn t­¬ng tô. M« t¶ ®å thÞ G cã thÓ chuyÓn thµnh m« t¶ ®å thÞ H b»ng mét

¸nh x¹ song ¸nh sau:

U → X, V → V, W → U;
a → f , b → e, c → g, d → h.

§Þnh nghÜa 2.22. f : G → H lµ mét cÆp ¸nh x¹ song ¸nh fV :


PhÐp ®¼ng cÊu ®å thÞ

VG → VH vµ fE : EG → EH sao cho víi mäi c¹nh e ∈ EG , hµm sè fV ¸nh x¹ c¸c ®iÓm cuèi
cña e thµnh nh÷ng ®iÓm cuèi cña c¹nh f E (e).

§Þnh nghÜa 2.23. Hai ®å thÞ G vµ H ®­îc gäi lµ ®¼ng cÊu nÕu tån t¹i mét phÐp ®¼ng

cÊu tõ G vµo H. Mèi quan hÖ nµy ta kÝ hiÖu lµ G∼


=H .

§Þnh nghÜa 2.24. KÝ hiÖu AG [A, B] lµ sè c¸c c¹nh gi÷a hai ®Ønh A vµ B. Mét ¸nh

x¹ song ¸nh f : VG → VH trªn hai ®å thÞ G vµ H ®­îc gäi lµ b¶o toµn béi c¹nh nÕu

AG [A, B] = AH [ f (A), f (B)] víi mäi A, B ∈ VG .

MÖnh ®Ò 2.3. Hai ®å thÞ G vµ H ®¼ng cÊu khi vµ chØ khi tån t¹i mét song ¸nh f : VG → VH
b¶o toµn béi c¹nh.

Chøng minh. Suy ra tõ ®Þnh nghÜa ®¼ng cÊu. J


§Þnh nghÜa 2.25. Mét song ¸nh f : VG → VH ®­îc gäi lµ b¶o toµn ®Ønh kÒ nÕu f (X ) lµ

®Ønh kÒ cña f (Y ) khi vµ chØ khi X lµ ®Ønh kÒ cña Y víi mäi X ,Y ∈ VG .

MÖnh ®Ò 2.4. Hai ®å thÞ ®¬n G vµ H ®¼ng cÊu khi vµ chØ khi tån t¹i mét song ¸nh

f : VG → VH b¶o toµn ®Ønh kÒ.

Chøng minh. MÖnh ®Ò suy ra trùc tiÕp tõ mÖnh ®Ò 2.3. J


2.5. KiÓm nghiÖm kh«ng ®¼ng cÊu ®å thÞ

§Þnh lý 2.1. NÕu G vµ H lµ ®å thÞ ®¼ng cÊu, th× |VG | = |VH | vµ |EG | = |EH |.

Chøng minh. Do ®Þnh nghÜa ®¼ng cÊu tån t¹i mét ¸nh x¹ 1-1, tõ ®ã suy ra kÕt qu¶.

J
HÖ qu¶ 2.1. Cì cña tËp ®Ønh vµ tËp c¹nh lµ bÊt biÕn ®å thÞ.
2.6. BiÓu diÔn ma trËn víi ®å thÞ 27

§Þnh lý 2.2. Cho f :G →H lµ ®å thÞ ®¼ng cÊu vµ A ∈ VG . Khi ®ã A vµ f (A) cã cïng bËc.

Chøng minh. Suy ra tõ mÖnh ®Ò b¶o toµn béi c¹nh. J


HÖ qu¶ 2.2. D·y bËc cña ®å thÞ lµ mét bÊt biÕn ®å thÞ.

§Þnh nghÜa 2.26. Cho W =< V0 , e1 ,V1 , e2 , ..., en ,Vn > lµ ®­êng ®i trong miÒn x¸c ®Þnh cña
G vµ ®¼ng cÊu f : G → H . Khi ®ã ¶nh cña ®­êng ®i W lµ mét ®­êng ®i
f (W ) =< f (V0 ), f (e1 ), f (V1 ), f (e2 ), ..., f (en ), f (Vn ) >
trong ®å thÞ H.

§Þnh lý 2.3. ¶nh ®¼ng cÊu ®å thÞ ®­êng ®i W lµ mét ®­êng ®i cã cïng ®é dµi.

Chøng minh. Suy ra tõ tÝnh chÊt cña ®¼ng cÊu. J


§Þnh nghÜa 2.27. (nh¾c l¹i) 1. Mét ®­êng mßn trong ®å thÞ lµ mét ®­êng ®i kh«ng lÆp

l¹i c¹nh nµo.

2. Mét ®­êng dÉn lµ mét ®­êng mßn kh«ng cã ®Ønh nµo lÆp l¹i (ngo¹i trõ ®Ønh

xuÊt ph¸t vµ ®Ønh kÕt thóc).

3. Mét ®­êng ®i, ®­êng mßn hoÆc ®­êng dÉn t­¬ng øng tÇm th­êng nÕu nã chØ

cã mét ®Ønh vµ kh«ng cã c¹nh.

4. Mét ®­êng dÉn cã ®Ønh ®Çu vµ ®Ønh kÕt thóc trïng nhau gäi lµ ®­êng vßng.

HÖ qu¶ 2.3. ¶nh ®¼ng cÊu cña ®­êng mßn, ®­êng dÉn hoÆc ®­êng vßng t­¬ng øng lµ
®­êng mßn, ®­êng dÉn, ®­êng vßng cã cïng ®é dµi.

§Þnh lý 2.4. Mét ®å thÞ G lµ hai phÇn khi vµ chØ khi nã kh«ng cã ®­êng vßng ®é dµi lÎ.

2.6. BiÓu diÔn ma trËn víi ®å thÞ

M« t¶ h×nh thøc ®å thÞ th«ng qua b¶ng c¸c ®Ønh vµ c¹nh nh­ phÇn tr­íc ®· ®­îc

¸p dông vµo c¸c øng dông theo m« h×nh ®å thÞ. Ma trËn rÊt Ýt khi dïng trong øng

dông thùc tÕ trong lÝ thuyÕt ®å thÞ, tuy vËy nã còng lµ c«ng cô ®Ó ta ph©n tÝch vµ

nghiªn cøu ®å thÞ. MÆt kh¸c ma trËn ®· ®­îc nghiªn cøu rÊt kÜ trong §¹i sè tuyÕn

tÝnh. TiÕt nµy chØ ra c¸c biÓu diÔn ®å thÞ theo c¸c d¹ng ma trËn kh¸c nhau.

§Þnh nghÜa 2.28. Cho ®å thÞ G = (V , E ), ë ®©y V = {V1 ,V2 , ...,Vn } vµ E = {e1 , e2 , ..., en }.
Ma trËn liªn thuéc lµ mét ma trËn n hµng t­¬ng øng víi n ®Ønh vµ m cét t­¬ng øng

víi m c¹nh, kÝ hiÖu IG = (ai j ), vµ c¸c phÇn tö trong ma trËn ®­îc tÝnh nh­ sau:

0 nÕu Vi kh«ng lµ mét ®iÓm cuèi cña e j

ai j = 1 nÕu Vi lµ mét ®iÓm cuèi cña e j


2 nÕu e j lµ mét c¹nh vßng t¹i Vi
2.6. BiÓu diÔn ma trËn víi ®å thÞ 28

B
d C a b c d e f g
A 2 2 1 0 0 0 1
c IG = B0 0 1 1 0 0 0
a b C 0 0 0 1 1 1 0
f e
A D 0 0 0 0 1 1 1
g

D
H×nh 2.17 §å thÞ vµ ma trËn liªn thuéc

VÝ dô 2.18. H×nh 2.17 lµ ®å thÞ vµ ma trËn liªn thuéc t­¬ng øng.

Hai mÖnh ®Ò sau ®©y suy ra trùc tiÕp tõ ®Þnh nghÜa ma trËn liªn thuéc.

MÖnh ®Ò 2.5. Tæng tÊt c¶ c¸c phÇn tö trong mét hµng cña ma trËn liªn thuéc lµ bËc cña

®Ønh t­¬ng øng.

MÖnh ®Ò 2.6. Tæng c¸c phÇn tö mçi cét trong ma trËn liªn thuéc ®Òu b»ng 2.

Hai mÖnh ®Ò nµy cã thÓ dïng ®Ó chøng minh §Þnh lÝ 1.1 tæng bËc ë c¸c ®Ønh

b»ng hai lÇn sè c¹nh.

T­¬ng tù ta ®Þnh nghÜa ma trËn liªn thuéc cho ®å thÞ ®Þnh h­íng.

§Þnh nghÜa 2.29. Cho ®å thÞ cã h­íng D = (V , E ), ë ®©y V = {V1 ,V2 , ...,Vn } vµ E =
{e1 , e2 , ..., en }. Ma trËn liªn thuéc lµ mét ma trËn n hµng t­¬ng øng víi n ®Ønh vµ m
cét t­¬ng øng víi m c¹nh, kÝ hiÖu ID = (ai j ), vµ c¸c phÇn tö trong ma trËn ®­îc tÝnh

nh­ sau: 


 0 nÕu Vi kh«ng lµ mét ®iÓm cuèi cña ej

1 nÕu Vi lµ mét ®iÓm ®Çu cña ej
ai j =


 −1 nÕu Vi lµ mét ®iÓm ®u«i cña ej

2 ej Vi

nÕu lµ mét c¹nh vßng t¹i

VÝ dô 2.19. H×nh 2.18 lµ ®å thÞ vµ ma trËn liªn thuéc t­¬ng øng.

B
d C a b c d e f g
A 2 2 −1 0 0 0 −1
c IG = B0 0 1 −1 0 0 0

a b C 0 0 0 1 −1 1 0
f e
A D 0 0 0 0 1 −1 1
g

D
H×nh 2.18 §å thÞ ®Þnh h­íng vµ ma trËn liªn thuéc
2.6. BiÓu diÔn ma trËn víi ®å thÞ 29

HiÓn nhiªn suy ra mÖnh ®Ò sau ®©y:

MÖnh ®Ò 2.7. NÕu tæng cét trong ma trËn liªn thuéc cña ®å thÞ ®Þnh h­íng b»ng 0 th×

c¹nh t­¬ng øng trªn ®å thÞ kh«ng ph¶i lµ c¹nh vßng.

§Þnh nghÜa 2.30. Ma trËn kÒ cña mét ®å thÞ G , kÝ hiÖu lµ AG lµ mét ma trËn mµ

hµng vµ cét ®Òu theo thø tù c¸c ®Ønh sao cho AG = (ai j ):
(
Sè c¸c c¹nh nèi Vi nèi víi Vj nÕu Vi 6= V j
ai j =
Sè c¹nh vßng t¹i Vj nÕu Vi = V j

VÝ dô 2.20. H×nh 2.19 lµ ®å thÞ vµ ma trËn kÒ t­¬ng øng.

B A B C D
d C  
A 2 1 0 1
c IG = B1 0 1 0
a b f C 0 1 0 2
e
A D 1 0 2 0
g

D
H×nh 2.19 §å thÞ vµ ma trËn kÒ

§Þnh nghÜa 2.31. Ma trËn kÒ cña mét ®å thÞ ®Þnh h­íng D , kÝ hiÖu lµ AD lµ mét ma

trËn mµ hµng vµ cét ®Òu theo thø tù c¸c ®Ønh sao cho AD = (ai j ):
(
Sè c¸c cung ®i tõ Vi tíi Vj nÕu Vi 6= V j
ai j =
Sè c¹nh vßng t¹i Vj nÕu Vi = V j

VÝ dô 2.21. H×nh 2.20 lµ ®å thÞ vµ ma trËn kÒ t­¬ng øng.

B
d C A B C D
A 2 1 0 1
c IG = B0 0 1 0
a b f C 0 0 0 1
e
A D 0 0 1 0
g

D
H×nh 2.20 §å thÞ vµ ma trËn kÒ

MÖnh ®Ò 2.8. Cho D V = {V1 ,V2 , ...,Vn }. Khi ®ã tæng tÊt


lµ ®å thÞ ®Þnh h­íng cã tËp ®Ønh

c¶ phÇn tö thuéc hµng i trong ma trËn kÒ AD b»ng bËc ra cña ®Ønh Vi vµ tæng tÊt c¶ phÇn

tö thuéc cét j trong ma trËn kÒ AD b»ng bËc vµo cña ®Ønh V j .


2.7. Bµi tËp ch­¬ng II 30

2.7. Bµi tËp ch­¬ng II

1. H·y t×m sè c¹nh cña c¸c ®å thÞ sau

a) Kn ; b) Km,n

2. Kh¶ n¨ng sè c¹nh lín nhÊt cã thÓ trong ®å thÞ ®¬n hai phÇn G víi n ®Ønh lµ

bao nhiªu?

3. H·y x¸c ®Þnh gi¸ trÞ cña n mµ víi nã c¸c ®å thÞ sau lµ hai phÇn:

a) Kn ; b) Cn ; c) Pn .

4. Cho X vµ Y lµ hai ®Ønh kh¸c nhau trong ®å thÞ ®Çy ®ñ K4 . T×m sè X −Y ®­êng

®i cã ®é dµi 2 vµ ®é dµi 3.

5. Cho X vµ Y lµ hai ®Ønh kh«ng c¹nh nhau trong ®å thÞ hai phÇn ®Çy ®ñ K3,3 .
T×m sè X −Y ®­êng ®i cã ®é dµi 2 vµ ®é dµi 3.

6. LËp ma trËn liªn thuéc vµ lËp ma trËn c¹nh kÒ ®å thÞ sau ®©y

A D
k m
g
e ` h

B f C
7. LËp ma trËn liªn thuéc vµ lËp ma trËn c¹nh kÒ ®å thÞ sau ®©y

l
A D k
m
e g h

B f C
8. VÏ ®å thÞ theo ma trËn kÒ sau

A B C D
A 2 1 1 1
AG = B1 0 1 0

C 1 1 0 1
D 1 0 1 0

9. VÏ ®å thÞ theo ma trËn kÒ sau


2.7. Bµi tËp ch­¬ng II 31

A B C D
 
A 0 1 1 1
AG = B1 0 1 0

C 1 1 0 1
D 1 0 1 1

10. H·y biÓu diÔn ma trËn kÒ cho mçi hä ®å thÞ sau ®©y:

a) Kn b) Km,n c) Pn d) Cn .
Ch­¬ng 3
C©y vµ c¸c tÝnh chÊt cña nã

3.1. §Æc tr­ng vµ tÝnh chÊt cña c©y . . . . . . . . . . . . . . . . . . . . . . . . . 32


3.2. C©y gèc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3. C©y nhÞ ph©n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. DuyÖt c©y nhÞ ph©n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5. C©y t×m kiÕm nhÞ ph©n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6. Bµi tËp ch­¬ng III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

C©y lµ mét cÊu tróc quan träng trong lÝ thuyÕt ®å thÞ vµ lµ c¬ së cho rÊt nhiÒu

thuËt to¸n xö lÝ th«ng tin. C©y gi÷ vai trß quan träng trong thiÕt kÕ vµ ph©n tÝch

vÒ m¹ng liªn th«ng. Nã còng lµ phÇn chÝnh cña m¹ng liªn th«ng tèi ­u. CÊu tróc

h×nh c©y lµ c¸ch tèt nhÊt l­u tr÷ d÷ liÖu vµ c¸c thao t¸c trªn d÷ liÖu.

3.1. §Æc tr­ng vµ tÝnh chÊt cña c©y

§Þnh nghÜa 3.1. 1. C©y ®å thÞ lµ mét ®å thÞ liªn th«ng kh«ng cã chu tr×nh.

2. Mét c¹nh e cña ®å thÞ G gäi lµ c¹nh chu tr×nh nÕu e n»m trªn mét chu tr×nh

nµo ®ã cña ®å thÞ nµy.

MÖnh ®Ò 3.1. e lµ mét c¹nh cña ®å thÞ liªn th«ng G .


Cho Khi ®ã G − e lµ liªn th«ng khi
vµ chØ khi e lµ c¹nh chu tr×nh cña G .

Chøng minh. Gi¶ sö A vµ B lµ hai ®iÓm cuèi cña e. NÕu e n»m trªn mét chu tr×nh

cña G, th× ®­êng ®i cña chu tr×nh lµ ®­êng dÉn gi÷a c¸c ®Ønh A vµ B. Theo nhËn
xÐt th× hai thµnh phÇn t¹i hai ®Ønh A vµ B trïng nhau vµ do ®ã G − e liªn th«ng.
Ng­îc l¹i, NÕu G −e liªn th«ng, th× tån t¹i ®­êng dÉn P tõ A tíi B kh«ng cã c¹nh

e. V× vËy, P+e lµ chu tr×nh trong G chøa e. J


HÖ qu¶ 3.1. Mét c¹nh ®å thÞ lµ c¹nh c¾t khi vµ chØ khi nã kh«ng ph¶i lµ c¹nh chu tr×nh.

Chøng minh. Sö dông mÖnh ®Ò 3.1 cho thµnh phÇn mµ nã chøa c¹nh nµy. J
Sè nh÷ng thµnh phÇn cña ®å thÞ G kÝ hiÖu lµ c(G).
HÖ qu¶ 3.2. Cho e lµ c¹nh bÊt k× cña ®å thÞ G . Khi ®ã
(
c(G) nÕu e lµ c¹nh vßng,
c(G − e) =
c(G) + 1 ng­îc l¹i.
3.1. §Æc tr­ng vµ tÝnh chÊt cña c©y 33

NÕu ®Ønh bËc 1 bÞ xãa ®i khái c©y, th× ®å thÞ kÕt qu¶ vÉn lµ mét c©y cã mét

®Ønh nhá h¬n. Nh­ vËy, ph¶i ch¨ng c©y cã tÝnh chÊt nµy, nghÜa lµ lu«n lu«n t×m

®­îc mét ®Ønh bËc 1. MÖnh ®Ò sau ®©y ®¶m b¶o cho sù tån t¹i mét ®Ønh nh­ vËy.

MÖnh ®Ò 3.2. Mäi c©y víi Ýt nhÊt mét c¹nh cã Ýt nhÊt hai ®Ønh cïng bËc 1.

Chøng minh. Cho P =< A1 , A2 , ..., An > lµ ®­êng dÉn cã ®é dµi lín nhÊt trong c©y T.
Gi¶ sö mét trong nh÷ng ®iÓm cuèi cña nã cã bËc lín h¬n 1, vÝ dô nh­ A1 . Khi ®ã A1
kÒ víi A2 trªn P vµ mét ®Ønh nµo ®ã W (h×nh3.1).

NÕu W kh¸c tÊt c¶ c¸c ®Ønh Ai , i = 2, 3, ..., n, th× P cã thÓ më réng thªm ®iÒu nµy

tr¸i víi P cã ®é dµi lín nhÊt.

A3
A1 A2 An

A3
A1 A2 W An

H×nh 3.1 C©y cã hai ®Ønh bËc 1

Ng­îc l¹i, nÕu W lµ mét ®Ønh nµo ®ã cña Ai , i = 2, 3, ..., n, th× chóng t¹o ra mét chu

tr×nh, ®iÒu nµy còng v« lÝ víi T lµ mét c©y. Nh­ vËy, ®ång thêi nh÷ng ®iÓm cuèi

cña P ph¶i cã bËc 1 trong c©y T. J


HÖ qu¶ 3.3. NÕu bËc cña mäi ®Ønh trong ®å thÞ Ýt nhÊt lµ 2, th× ®å thÞ nµy ph¶i chøa chu
tr×nh.

Chøng minh. Sö dông mÖnh ®Ò 3.2 cho c¸c thµnh phÇn cña ®å thÞ. J
MÖnh ®Ò 3.3. Mäi c©y n ®Ønh chøa ®óng n − 1 c¹nh.

Chøng minh. C©y mét ®Ønh lµ c©y tÇm th­êng, nã kh«ng cã c¹nh. Gi¶ sö víi mét sè

k≥1 sao cho mäi c©y k ®Ønh ®Òu cã ®óng k − 1. Ta xÐt c©y bÊt k× T cã k + 1 ®Ønh.
Theo mÖnh ®Ò 3.2, c©y T chøa mét ®Ønh bËc 1, gäi ®ã lµ A. Khi ®ã ®å thÞ T − A lµ

kh«ng chu tr×nh, v× xãa ®i mét vÖt tõ ®å thÞ kh«ng chu tr×nh th× kh«ng thÓ t¹o

ra mét chu tr×nh. H¬n n÷a T −A lµ liªn th«ng, v× ®Ønh A cã bËc 1 trong T. Nh­
3.1. §Æc tr­ng vµ tÝnh chÊt cña c©y 34

vËy T −A lµ mét c©y k ®Ønh vµ do ®ã theo gi¶ thiÕt quy n¹p nã cã ®óng k − 1 c¹nh.
Nh­ng tõ deg(A) = 1, suy ra T −A cã mét c¹nh nhá h¬n T. Do ®ã, T cã k c¹nh. §ã lµ

®iÒu cÇn chøng minh. J


HÖ qu¶ 3.4. Mét rõng G víi n ®Ønh cã n − c(G) c¹nh.

Chøng minh. Sö dông mÖnh ®Ò 3.3 cho mçi thµnh phÇn cña G. J
HÖ qu¶ 3.5. Mét ®å thÞ bÊt k× G víi n ®Ønh th× cã Ýt nhÊt n − c(G) c¹nh.

C©y cã rÊt nhiÒu kh¶ n¨ng ®Æc tr­ng vµ mçi cÊu tróc cña ®å thÞ cho mét ®Æc

tr­ng kh¸c nhau. §Þnh lÝ sau liÖt kª mét sè ®Æc tr­ng quan träng nhÊt cña c©y.

§Þnh lý 3.1. Cho T lµ mét ®å thÞ n ®Ønh. Khi ®ã s¸u kh¼ng ®Þnh sau ®©y t­¬ng ®­¬ng:

1. T lµ mét c©y;

2. T kh«ng chøa chu tr×nh vµ cã n − 1 c¹nh;

3. T lµ liªn th«ng vµ cã n − 1 c¹nh;

4. T lµ liªn th«ng vµ mçi c¹nh lµ c¹nh-c¾t;

5. Hai ®Ønh bÊt k× cña T liªn th«ng bëi ®óng mét ®­êng dÉn;

6. T kh«ng chøa chu tr×nh vµ víi mét c¹nh míi bÊt k× e, ®å thÞ T +e cã ®óng mét

chu tr×nh.

Chøng minh. NÕu n = 1 th× tÊt c¶ kh¼ng ®Þnh lµ hiÓn nhiªn ®óng vµ t­¬ng ®­¬ng

nhau. Do ®ã gi¶ sö n ≥ 2.

1 ⇒ 2: Do mÖnh ®Ò 3.3.

2 ⇒ 3: Gi¶ sö T cã k thµnh phÇn. Khi ®ã theo hÖ qu¶ 3.3, th× T cã n−k c¹nh.

Do ®ã k = 1.

3 ⇒ 4: Gi¶ sö e lµ mét c¹nh cña T. Tõ T −e cã n−2 c¹nh, HÖ qu¶ 3.5 kÐo theo

n − 2 ≥ n − c(T − e). Do ®ã T −e cã Ýt nhÊt hai thµnh phÇn.

4 ⇒ 5: Ta chøng minh b»ng ph¶n chøng . Gi¶ sö 4) ®óng vµ cho X vµ Y lµ hai ®Ønh

mµ chóng cã hai ®­êng dÉn kh¸c nhau vµ kÝ hiÖu lµ P1 vµ P2 .


Gi¶ sö U lµ ®Ønh ®Çu tiªn hai ®­êng dÉn t¸ch ra lµm ®«i kÓ tõ ®iÓm X vµ ®Ønh

V lµ ®Ønh ®Çu tiªn hai ®­êng dÉn gÆp l¹i (h×nh 3.2). Khi ®ã hai ®­êng dÉn nµy

t¹o thµnh U −V ®­êng dÉn lµ mét chu tr×nh vµ bÊt k× c¹nh nµo trªn chu tr×nh nµy

kh«ng lµ c¹nh-c¾t, tr¸i víi kh¼ng ®Þnh 4).

5 ⇒ 6: T kh«ng chøa chu tr×nh v× bÊt k× hai ®Ønh trªn chu tr×nh cã hai ®­êng

dÉn kh¸c nhau gi÷a chóng. H¬n n÷a, thªm mét c¹nh míi e bÊt k× vµo T sÏ t¹o ra
3.2. C©y gèc 35

U P1 P1
V
X P1
P2 P2 P2 Y

H×nh 3.2 Hai ®­êng dÉn t¸ch ra t¹i U vµ gÆp l¹i t¹i V

chu tr×nh, v× ®iÓm cuèi cña e gäi ®ã lµ U vµ V ®· liªn th«ng bëi ®­êng dÉn trong

T. §Ó chøng minh chu tr×nh nµy lµ duy nhÊt, gi¶ sö ng­îc l¹i cã hai chu tr×nh ®­îc

t¹o ra. Chóng sÏ ®ång thêi chøa c¹nh e vµ ®­êng dÉn lín t¹o ra chu tr×nh sÏ lµ hai

U −V ®­êng dÉn kh¸c nhau, ®iÒu nµy tr¸i víi 5).

6 ⇒ 1: Chøng minh b»ng ph¶n chøng. Gi¶ sö T kh«ng liªn th«ng. Khi ®ã thªm

mét c¹nh nèi mét ®Ønh cña mét thµnh phÇn víi mét ®Ønh cña thµnh phÇn kh¸c sÏ

t¹o ra mét chu tr×nh, ®iÒu nµy tr¸i víi kh¼ng ®Þnh 6). J
Mét ®å thÞ bÊt k× chøa mét sè c©y kh¸c nhau nh­ lµ nh÷ng ®å thÞ con. §Þnh lÝ

sau ®©y chØ ra r»ng nÕu ®å thÞ ®¬n ®ñ trï mËt theo nghÜa cã ®ñ nhiÒu c¹nh, th×

nã sÏ chøa mäi lo¹i c©y víi bËc nµo ®Êy.

KÝ hiÖu bËc nhá nhÊt cña c¸c ®Ønh trong mét ®å thÞ G lµ δmin (G ).

§Þnh lý 3.2. Gi¶ sö T lµ c©y bÊt k× n ®Ønh vµ G lµ ®å thÞ ®¬n sao cho δmin (G ) ≥ n − 1. Khi
®ã T lµ ®å thÞ con cña G.

Chøng minh. Kh¼ng ®Þnh cña ®Þnh lÝ ®óng nÕu n=1 hoÆc b»ng 2, v× K1 vµ K2 lad

c¸c ®å thÞ con cña mäi ®å thÞ víi Ýt nhÊt mét c¹nh.

Gi¶ sö kh¼ng ®Þnh ®óng víi n ≥ 2. Gi¶ sö T lµ c©y n+1 ®Ønh, vµ G lµ ®å thÞ víi

δmin (G ) ≥ n. Ta sÏ chøng minh T lµ ®å thÞ con cña G.


ThËt vËy, Gi¶ sö V T bËc 1, vµ ®Ønh U lµ l©n cËn duy nhÊt cña
lµ mét ®Ønh cña

nã trong T . §å thÞ con xãa ®Ønh T − V lµ mét c©y cã n ®Ønh, do ®ã theo gi¶ thiÕt

quy n¹p T −V lµ ®å thÞ con cña G . V× degG (u) ≥ n, th× tån t¹i mét ®Ønh nµo ®ã W

trong G nh­ng kh«ng thuéc T −V mµ nã lµ kÒ víi U . Cho e lµ c¹nh nèi c¸c ®Ønh U

vµ W (h×nh 3.3).

Khi ®ã T −V cïng víi ®Ønh W vµ c¹nh e t¹o ra mét c©y mµ nã ®¼ng cÊu víi T vµ

lµ ®å thÞ con cña G. J


3.2. C©y gèc

§Þnh nghÜa 3.2. C©y ®Þnh h­íng lµ mét ®å thÞ ®Þnh h­íng mµ ®å thÞ c¬ së cña nã lµ

mét c©y.

§Þnh nghÜa 3.3. C©y gèc lµ mét c©y ®Þnh h­íng cã mét ®Ønh ®Æc biÖt R ®­îc gäi lµ

gèc, sao cho mäi ®Ønh V kh¸c ®Òu tån t¹i ®­êng dÉn ®Þnh h­íng tõ R ®Õn V.
3.2. C©y gèc 36

U e W U e W

V V

T [(T −V ) ∪ {W }] + e

H×nh 3.3 T ®¼ng cÊu víi [(T −V ) ∪ {W }] + e

VÏ c©y gèc ng­êi ta bá qua mòi tªn chØ h­íng cho c¸c c¹nh v× bao giê h­íng

còng xuÊt ph¸t tõ gèc. Ta còng thÊy r»ng ®­êng dÉn ®­êng dÉn tõ gèc ®Õn mét

®Ønh nµo ®ã còng lµ duy nhÊt.

C©y ®Þnh h­íng cã rÊt nhiÒu øng dông, ta chØ ra mét sè vÝ dô.

VÝ dô 3.1. C©y quyÕt ®Þnh: Tæ chøc mét ch­¬ng tr×nh lín trong m¸y tÝnh víi tÝnh

to¸n chiÕn thuËt quyÕt ®Þnh phøc t¹p ng­êi ta th­êng tæ chøc theo c©y gèc.VÝ dô

h×nh 3.4 m« t¶ ba b­íc ®i trong trß ch¬i tic-tac-toe b¾t ®Çu tõ x ë gi÷a. Chó ý tíi tÝnh

®èi xøng th× h×nh chØ ra tÊt c¶ kh¶ n¨ng cña b­íc ®i.

H×nh 3.4 Ba b­íc ®Çu tiªn cña trß ch¬i tioc-tac-toe

§Þnh lÝ sau ®©y ®Æc tr­ng c©y gèc theo thuËt ng÷ bËc vµo cña c¸c ®Ønh cña nã.

§Þnh lý 3.3. C©y ®Þnh h­íng biÓu diÔn nh­ c©y gèc khi vµ chØ khi mét ®Ønh cã bËc vµo

0 vµ tÊt c¶ c¸c ®Ønh cßn l¹i cã bËc vµo 1.

Chøng minh. §iÒu kiÖn cÇn ( ⇒): Gi¶ sö T lµ c©y gèc víi gèc R vµ gi¶ sö R cã cung

vµo tõ mét ®Ønh W. Khi ®ã ®­êng dÉn ®Þnh h­íng tõ R tíi W cïng víi cung nµy cña
nã kÐo theo tån t¹i mét chu tr×nh trong c©y c¬ së cña T , v« lÝ víi ®Þnh nghÜa c©y
T .Mäi ®Ønh kh¸c ngoµi R ®Òu cã bËc vµo Ýt nhÊt lµ 1, v× tån t¹i ®­êng dÉn ®Þnh

h­íng tõ R ®Õn ®Ønh nµy. Gi¶ sö mét trong c¸c ®Ønh nµy, cho ®ã lµ W, cã bËc vµo

lín h¬n 1. Gi¶ sö U vµ V lµ hai ®Ønh cã cung ®i ra cïng ®Õn W. Khi ®ã hai ®­êng dÉn
3.2. C©y gèc 37

®Þnh h­íng tõ R tíi U vµ V víi cung UW vµ VW l¹i t¹o ra chu tr×nh trong ®å thÞ c¬

së cña T. §iÒu nµy v« lÝ.

§iÒu kiÖn ®ñ ( ⇐): Gi¶ sö R lµ ®Ønh cña c©y ®Þnh h­íng cã bËc vµo 0 vµ c¸c ®Ønh

cßn l¹i cã bËc 1. Gi¶ sö W lµ mét ®Ønh kh¸c R. Theo gi¶ thiÕt tån t¹i mét ®Ønh duy
nhÊt, gäi ®ã lµ U1 cã cung ®i ra tíi W . T­¬ng tù, tån t¹i ®Ønh duy nhÊt U2 víi cung

®i ra tíi U1 . V× c©y c¬ së cña T kh«ng chu tr×nh, kh«ng mét trong c¸c ®Ønh Ui nµy

lÆp l¹i, vµ do ®ã qu¸ tr×nh nµy ph¶i kÕt thøc t¹i R. KÕt qu¶ lµ mét chuçi ®Ønh lµ

®­êng dÉn tõ R tíi W . Do ®ã T biÓu diÔn nh­ c©y gèc víi gèc t¹i R. J
ThuËt ng÷ cña c©y ®å thÞ
§Þnh nghÜa 3.4. Trong mét c©y gèc, ®é s©u (hay bËc) cña mét ®Ønh V lµ kho¶ng c¸ch

tõ gèc ®Õn nã, nghÜa lµ ®é dµi cö ®­êng dÉn duy nhÊt tõ gèc ®Õn V .

Nh­ vËy, gèc cã ®é s©u b»ng 0.

§Þnh nghÜa 3.5. 1. §é cao cña mét c©y gèc lµ ®é dµi cña ®­êng dÉn dµi nhÊt tõ gèc

(hoÆc ®é s©u lín nhÊt cña c©y).

2. NÕu ®Ønh V ngay tr­íc ®Ønh W trªn ®­êng dÉn tõ gèc ®Õn W, th× V lµ ®Ønh

cha cña W vµ W lµ con cña V.


3. C¸c ®Ønh cã cïng mét cha gäi lµ anh chÞ em ruét.

4. Mét ®Ønh W gäi lµ hËu duÖ cña ®Ønh V (hoÆc V gäi lµ tiÒn bèi cña W) nÕu V
n»m trªn ®­êng dÉn duy nhÊt tõ gèc tíi W.
5. Mét l¸ trong c©y gèc lµ mét ®Ønh bÊt k× kh«ng cã ®Ønh con.

6. §Ønh bªn trong lµ ®Ønh bÊt k× mµ kh«ng ph¶i lµ mét l¸.

§Þnh nghÜa 3.6. H×nh vÏ ph¼ng chuÈn cña mét c©y gèc lµ mét h×nh vÏ trªn mÆt ph¼ng

sao cho gèc ë trªn cïng vµ c¸c ®Ønh ë cïng møc ®­îc vÏ thµnh mét hµng.

VÝ dô 3.2. H×nh vÏ chuÈn cña c©y gèc ®é cao 3 (h×nh 3.5). C¸c ®Ønh R, A, B,C, D lµ

c¸c ®Ønh trong. C¸c ®Ønh E, F, G, H, I, J ®Òu lµ l¸. C¸c ®Ønh G, H, I lµ anh em ruét.

§Ønh A lµ tiÒn bèi cña J vµ J lµ hËu duÖ cña A.

§Þnh nghÜa 3.7. 1. Mét m-c©y (m ≥ 2) lµ mét c©y gèc mµ mäi ®Ønh cña nã cã m hoÆc

Ýt h¬n m ®Ønh con.

2. m-c©y ®Çy ®ñ lµ mét m-c©y víi mäi ®Ønh trong cã ®óng m con vµ tÊt c¶ c¸c l¸ ë

cïng mét bËc.

VÝ dô 3.3. C©y trong h×nh 3.6 lµ 3-c©y vµ c©y bªn tr¸i lµ 3-c©y ®Çy ®ñ.

MÖnh ®Ò 3.4. Mét m- c©y cã nhiÒu nhÊt mk ®Ønh t¹i bËc k.

Chøng minh. Kh¼ng ®Þnh hiÓn nhiªn ®óng víi k = 1.


3.2. C©y gèc 38

A B C

D E F G H I

J
H×nh 3.5 C©y gèc vÏ ph¼ng chuÈn

R R

H×nh 3.6 Hai c©y 3-c©y, mét c©y ®Çy ®ñ vµ mét c©y kh«ng

Gi¶ sö tån t¹i m` ®Ønh t¹i møc ` víi ` ≥ 1. V× mçi ®Ønh nµy cã nhiÒu nhÊt m
con, nªn tån t¹i nhiÒu nhÊt m.m` = m`+1 con t¹i møc ` + 1. J
§Þnh lý 3.4. Gi¶ sö T lµ m-c©y víi n ®Ønh vµ chiÒu cao h. Khi ®ã
mh+1 − 1
h+1 ≤ n ≤ .
m−1

Chøng minh. Gi¶ sö nk lµ sè ®Ønh t¹i møc k sao cho 1 ≤ nk ≤ mk , theo mÖnh ®Ò 3.4.

Nh­ vËy
h h h
mh+1 − 1
h+1 = ∑1≤ ∑ nk ≤ ∑ mk = m−1
.
k=0 k=0 k=0


h
∑ nk = n.
k=0
J
§Þnh nghÜa 3.8. Hai c©y gèc ®­îc gäi lµ ®¼ng cÊu nh­ c¸c c©y gèc nÕu tån t¹i ®¼ng cÊu

®å thÞ gi÷a chóng mµ ¸nh x¹ gèc vµo gèc.

VÝ dô 3.4. H×nh 3.7 cho ta thÊy hai c©y ë bªn tr¸i lµ ®¼ng cÊu nh­ c¸c c©y gèc, cßn

hai c©y bªn ph¶i tån t¹i ®¼ng cÊu c©y ®å thÞ nh÷ng kh«ng ®¼ng cÊu nh­ c©y gèc.

Trong tÝnh to¸n thÓ hiÖn trong m¸y tÝnh ng­êi ta biÓu diÔn c©y gèc nh­ sau:

nÕu n ®Ønh cña c©y gèc ®­îc g¸n nh·n 0, 1, 2, ..., n − 1 víi gèc g¸n 0, th× danh s¸ch mµ

phÇn tö thø k lµ cha cña ®Ønh k ®­îc gäi lµ biÓu diÔn m¶ng cña cha. Nã sÏ hoµn

toµn x¸c ®Þnh c©y gèc.

VÝ dô 3.5. H×nh 3.8 biÓu diÔn m¶ng cha cho c©y gèc.
3.3. C©y nhÞ ph©n 39

H×nh 3.7 §¼ng cÊu c©y cã thÓ vµ kh«ng thÓ lµ ®¼ng cÊu nh­ c¸c c©y gèc

1 2 §Ønh 0 1 2 3 4 5 6
Cha − 0 0 1 2 2 2
3
4 5 6
H×nh 3.8 BiÓu diÔn c©y gèc b»ng m¶ng cha

§Þnh nghÜa 3.9. C©y thø tù lµ mét c©y gèc trong nã c¸c con t¹i mçi ®Ønh ®­îc g¸n mét

thø tù cè ®Þnh.

§Þnh nghÜa 3.10. BiÓu diÔn ph¼ng chuÈn cña c©y thø tù lµ vÏ trªn mÆt ph¼ng chuÈn

sao cho t¹i mçi møc tõ tr¸i qua ph¶i thø tù c¸c ®Ønh ®­îc g¸n theo thø tù quy ®Þnh

tr­íc.

C©y thø tù quan trong nhÊt lµ c©y nhÞ ph©n ®­îc nghiªn cøu ë phÇn sau.

3.3. C©y nhÞ ph©n

§Þnh nghÜa 3.11. C©y nhÞ ph©n lµ 2-c©y thø tù trong nã mçi con ®­îc g¸n cho hoÆc lµ

con tr¸i hoÆc con ph¶i.

VÝ dô 3.6. C©y nhÞ ph©n cã thÓ cã mét con bªn tr¸i hoÆc bªn ph¶i.

H×nh 3.9 C©y nhÞ ph©n ®é cao 4


3.4. DuyÖt c©y nhÞ ph©n 40

§Þnh nghÜa 3.12. C©y con tr¸i (ph¶i) cña mét ®Ønh V trong c©y nhÞ ph©n T lµ mét

c©y nhÞ ph©n con bao trïm chän bªn tr¸i (bªn ph¶i) cña V vµ tÊt c¶ c¸c hËu duÖ cña

nã.

C©y nhÞ ph©n bao gåm gèc vµ c©y con bªn tr¸i vµ c©y con bªn ph¶i, mµ chóng lµ

c©y nhÞ ph©n nhá h¬n. TÝnh håi quy cña c©y nhÞ ph©n t¹o cho ta dïng ph­¬ng ph¸p

quy n¹p to¸n häc chøng minh rÊt nhiÒu kh¼ng ®Þnh quan träng vÒ c©y nhÞ ph©n.

§Æc biÖt quy n¹p theo chiÒu cao cña c©y nhÞ ph©n.

TÝnh håi quy cña c©y nhÞ ph©n: NÕu T lµ mét c©y nhÞ ph©n ®é cao h, th× c©y con
bªn tr¸i vµ c©y con bªn ph¶i ®ång thêi cã ®é cao nhá h¬n hoÆc b»ng h − 1 vµ Ýt nhÊt
cã mét c©y con b»ng ®é cao nµy.

§Þnh lý 3.5. C©y nhÞ ph©n ®Çy ®ñ ®é cao h cã 2h+1 − 1 ®Ønh.

Chøng minh. Kh¼ng ®Þnh hiÓn nhiªn ®óng nÕu h = 0. Gi¶ sö víi sè k ≥ 0, c©y nhÞ

ph©n ®Çy ®ñ ®é cao k cã 2k+1 − 1 ®Ønh. Gi¶ sö T lµ c©y nhÞ ph©n ®Çy ®ñ ®é cao k + 1.
V× T lµ c©y ®Çy ®ñ, c©y con tr¸i T1 vµ c©y con ph¶i T2 ph¶i lµ c¸c c©y ®Çy ®ñ. H¬n

n÷a, c©y T1 vµ T2 ®ång thêi cã ®é cao h, do ®ã theo gi¶ thiÕt quy n¹p, mçi c©y con

nµy cã
k+1
2 − 1 ®Ønh. Nh­ vËy, sè ®Ønh cña c©y T lµ
1 + 2k+1 − 1 + 2k+1 − 1 = 2k+2 − 1.
J
HÖ qu¶ 3.6. Mäi c©y nhÞ ph©n ®é cao h cã nhiÒu nhÊt 2h+1 − 1 ®Ønh.

3.4. DuyÖt c©y nhÞ ph©n

§i qua c¸c ®Ønh cña mét c©y mét c¸ch hÖ thèng gäi lµ duyÖt c©y. MÆc dï duyÖt

c©y trong phÇn nµy chØ cho c©y nhÞ ph©n nh­ng nã còng cã thÓ ¸p dông cho mét

c©y bÊt k×.

§Þnh nghÜa 3.13. Thø tù bËc cña mét c©y thø tù lµ liÖt kª c¸c ®Ønh theo thø tù t¨ng

cña ®é s©u, sao cho c¸c ®Ønh cã cïng ®é s©u ®­îc liÖt kª theo thø tù cña chóng.

Nh­ vËy thø tù bËc lµ thø tù trªn xuèng, tr¸i qua ph¶i cña biÓu diÔn ph¼ng chuÈn

cña mét c©y thø tù.

VÝ dô 3.7. Thø tù bËc cña c©y ®­îc g¸n nh·n nh­ h×nh 3.10 lµ R, A, B,C, D, E, F, H, I, J, K, L.

DuyÖt c©y theo thø tù tr¸i tr­íc


§­êng ®i duyÖt bªn tr¸i ®Çu tiªn quanh mét c©y, lËp danh s¸ch mçi ®Ønh khi gÆp

lÇn ®Çu, nh­ng kh«ng ®­a vµo danh s¸ch lÇn gÆp sau ®ã.
3.4. DuyÖt c©y nhÞ ph©n 41

A B

C
D E F

H I J K

H×nh 3.10 Thø tù bËc: R, A, B,C, D, E, F, H, I, J, K, L

ThuËt to¸n 3.1 DuyÖt theo thø tù bËc (LevelOrder)


procedure LevelOrder
§Çu vµo: C©y nhÞ ph©n.
§Çu ra: Danh s¸ch ®Ønh theo thø tù bËc.
1: §i vµo gèc;

2: while < hµng bËc ch­a rçng (ch­a hÕt ®Ønh) > do
3: LÊy mét ®Ønh vµ viÕt vµo danh s¸ch ®­a ra;

4: §i vµo c©y con cña nã tõ tr¸i qua ph¶i;

5: end while
6: return(Danh s¸ch ®Ønh theo thø tù bËc).
end LevelOrder

ThuËt to¸n 3.2 DuyÖt c©y thø tù tr¸i tr­íc (PreOrder)


procedure PreOrder
§Çu vµo: C©y nhÞ ph©n.
§Çu ra: Danh s¸ch ®Ønh theo thø tù tr¸i tr­íc.
1: §i vµo gèc;

2: DuyÖt c©y con bªn tr¸i theo PreOrder;


3: DuyÖt c©y con bªn ph¶i theo PreOrder ;

end PreOrder

VÝ dô 3.8. §Çu vµo cña thuËt to¸n trªn lµ c©y ë h×nh 3.10. Khi ®ã kÕt qu¶ theo thø tù

1. R, [c©y con tr¸i R],[c©y con ph¶i R]


2. R, A, [c©y con tr¸i A],[c©y con ph¶i A], B, [c©y con tr¸i B],[c©y con ph¶i B]
3. R, A, C, [c©y con ph¶i C], D, [c©y con tr¸i D],[c©y con ph¶i D],B, E , [c©y con tr¸i E ], F
........................................

R, A,C, H, D, I, J, L, B, E, K, F.

2. DuyÖt c©y theo thø tù ®øng sau


DuyÖt theo thø tù ®øng sau lµ vÉn duyÖt vßng quanh c©y liÖt kª danh s¸ch ®Ønh
3.4. DuyÖt c©y nhÞ ph©n 42

lÇn cuèi cïng gÆp nã vµ kh«ng tÝnh gÆp lÇn tr­íc.

ThuËt to¸n 3.3 DuyÖt c©y thø tù tr¸i tr­íc (PostOrder)


procedure PostOrder
§Çu vµo: C©y nhÞ ph©n.
§Çu ra: Danh s¸ch ®Ønh theo thø tù sau cïng.
1: DuyÖt c©y con bªn tr¸i theo PostOrder;
2: DuyÖt c©y con bªn ph¶i theo PostOrder ;

3: §i vµo gèc;

end PostOrder

VÝ dô 3.9. §Çu vµo cña thuËt to¸n trªn lµ c©y ë h×nh 3.10. Khi ®ã kÕt qu¶ theo thø tù

1. [c©y con tr¸i R],[c©y con ph¶i R],R


2. [c©y con tr¸i A],[c©y con ph¶i A], A, [c©y con tr¸i B],[c©y con ph¶i B], B, R
........................................

H,C, I, L, J, D, A, K, E, F, B, R.

VÝ dô 3.10. Hai c©y trong h×nh 3.11 cã cïng thø tù bËc vµ thø tù tr­íc, nh­ng kh¸c

thø tù sau:

A A

B
B C

C D D

H×nh 3.11 Hai c©y cã duyÖt PreOrder vµ PostOrder kh¸c nhau

Thñ tôc LevelOrder : A, B,C, D A, B,C, D.


Thñ tôc PreOrder : A, B,C, D A, B,C, D.
Thñ tôc PostOrder : D,C, B, A D,C, B, A.
3. DuyÖt c©y theo thø tù ®øng trong
Khi ®i vßng quanh c©y tõ bªn tr¸i liÖt kª mçi l¸ khi gÆp lÇn ®Çu tiªn vµ liÖt kª

®Ønh kh«ng ph¶i lµ l¸ lÇn thø hai nh×n thÊy nã.

VÝ dô 3.11. §Çu vµo cña thuËt to¸n trªn lµ c©y ë h×nh 3.10. Khi ®ã kÕt qu¶ theo thø

1. [c©y con tr¸i R],R,[c©y con ph¶i R]


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

C, H, A, I, D, L, J, R, K, E, B, F.
3.4. DuyÖt c©y nhÞ ph©n 43

ThuËt to¸n 3.4 DuyÖt c©y thø tù trong (InOrder)


procedure InOrder
§Çu vµo: C©y nhÞ ph©n.
§Çu ra: Danh s¸ch ®Ønh theo thø tù sau cïng.
1: DuyÖt c©y con bªn tr¸i theo InOrder;
2: §i vµo gèc;

3: DuyÖt c©y con bªn ph¶i theo InOrder;


end InOrder

§Þnh nghÜa 3.14. C©y biÓu thøc cho mét biÓu thøc sè häc hoÆc lµ mét ®Ønh ®¬n g¸n

nh·n hoÆc lµ ®­îc m« t¶ theo quy t¾c håi quy sau:

• To¸n tö ®Ó thùc hiÖn tÝnh to¸n lµ t¹i gèc;

• C©y con bªn tr¸i cña gèc lµ c©y biÓu thøc thÓ hiÖn vÕ tr¸i to¸n h¹ng;

• C©y con bªn ph¶i cña gèc lµ c©y biÓu thøc thÓ hiÖn vÕ ph¶i to¸n h¹ng.

VÝ dô 3.12. C©y biÓu tøc trong h×nh 3.12 l­u tr÷ biÓu thøc: ((a + b) ∗ (c − d))/c.

∗ e

+ −

a b c d

H×nh 3.12 C©y biÓu thøc cho ((a + b) ∗ (c − d))/c

C©y biÓu thøc lµ cÊu tróc l­u tr÷ biÓu thøc sè häc tù nhiªn. Khi c©y biÓu thøc

®­îc duyÖt, kÕt qu¶ biÓu thøc nhËn ®­îc phô thuéc vµo nh÷ng c¸ch duyÖt ®· xÐt

ë trªn, nh­ng lÇn nµy víi tªn gäi vµ kÝ hiÖu: pre f ix (tiÒn tè), pos f ix (hËu tè), in f ix
(néi tè).

VÝ dô 3.13. Cho c©y biÓu thøc trong h×nh 3.12 víi thñ tôc duyÖt c©y t­¬ng øng lµ:

pre f ix : / ∗ +ab − cde;


post f ix : ab + cd − ∗e;
in f ix : ((a + b) ∗ (c − d))/c;
3.5. C©y t×m kiÕm nhÞ ph©n 44

3.5. C©y t×m kiÕm nhÞ ph©n

§Þnh nghÜa 3.15. B¶ng truy cËp ngÉu nhiªn lµ mét c¬ së dù liÖu mµ miÒn x¸c ®Þnh

cña nã lµ mét d·y phÇn tö, ë ®©y mçi phÇn tö gåm hai tr­êng. Mét tr­êng lµ phÇn

tö d÷ liÖu vµ tr­êng kia lµ dïng lµm khãa key mµ nã x¸c ®Þnh vÞ trÝ phÇn tö trong

c¬ së d÷ liÖu.

Nh­ vËy mét phÇn tö t×m trong c¬ së d÷ liÖu ngÉu nhiªn b»ng c¸ch t×m khãa

cña nã.

§Þnh nghÜa 3.16. C©y t×m kiÕm nhÞ ph©n (BAST) lµ mét c©y nhÞ ph©n, mçi ®Ønh cña

nã ®­îc g¸n mét khãa sao cho khãa ®­îc g¸n t¹i ®Ønh V bÊt k× lín h¬n khãa t¹i mçi

®Ønh trong c©y con bªn tr¸i cña V vµ nã nhá h¬n khãa t¹i mçi ®Ønh trong c©y con bªn

ph¶i cña V.

VÝ dô 3.14. C¶ hai c©y t×m kiÕm nhÞ ph©n trong h×nh 3.13 ®Òu l­u tr÷ c¸c khãa:

3, 8, 9, 12, 14, 21, 22, 23, 28, 35, 40, 46.

28
22 23 35
22 46
40
9 35 21
3
8
3 28 46
14 9
12
12 40 14
8 21 23
H×nh 3.13 Hai c©y t×m kiÕm nhÞ ph©n ®Òu chøa cïng mét tËp khãa

Chó ý. Khãa nhá nhÊt trong c©y t×m kiÕm nhÞ ph©n cã thÓ t×m b»ng c¸ch b¾t

®Çu tõ gèc vµ ®i vÒ phÝa bªn tr¸i tíi ®Ønh kh«ng cã con tr¸i, th× ®Ønh ®ã cã chøa

khãa nhá nhÊt.

Khãa lín nhÊt trong c©y t×m kiÕm nhÞ ph©n cã thÓ t×m b»ng c¸ch b¾t ®Çu tõ

gèc vµ ®i vÒ phÝa bªn ph¶i tíi ®Ønh kh«ng cã con ph¶i, th× ®Ønh ®ã cã chøa khãa

lín nhÊt.

ThuËt to¸n t×m mét khãa trong c©y t×m kiÕm nhÞ ph©n cã hai ph­¬ng ¸n håi

quy vµ kh«ng håi quy.

NÕu t¹i mçi ®Ønh cña c©y t×m kiÕm nhÞ cã c©y con bªn tr¸i vµ c©y con bªn ph¶i

cì gÇn b»ng nhau, th× so s¸nh trong thuËt to¸n b»ng nöa sè ®Ønh.
3.6. Bµi tËp ch­¬ng III 45

ThuËt to¸n 3.5 T×m kiÕm c©y nhÞ ph©n (BST Search)
procedure BST Search
§Çu vµo: C©y t×m kiÕm nhÞ ph©n T vµ khãa cÇn t×m t .
§Çu ra: §Ønh V cña T sao cho key(V ) = t nÕu t t×m thÊy
hoÆc null t kh«ng t×m thÊy.
nÕu

1: V := gèc cñaT;
2: while < (V 6= null) and (t 6= key(V )) > do
3: if t > key(V ) then
4: V := con bªn ph¶i cña V ;
5: else
6: V := con bªn tr¸i cña V;
7: end if
8: end while
9: returnV .
end BST Search

ThuËt to¸n 3.6 T×m kiÕm håi quy c©y nhÞ ph©n (BST Search)
procedure BST Search(T,t)
§Çu vµo: C©y t×m kiÕm nhÞ ph©n T vµ khãa cÇn t×m t .
§Çu ra: §Ønh V cña T sao cho key(V ) = t nÕu t t×m thÊy
hoÆc null nÕu t kh«ng t×m thÊy.

1: if root(T ) = null then


2: returnnull
3: else if t = key(roor) then
4: returnroot
5: else if t > key(roor) then
6: BST Search(c©y con ph¶i cña T, t);

7: else
8: BST Search(c©y con tr¸i cña T, t);

9: end if
end BST Search

§Þnh nghÜa 3.17. Mét c©y nhÞ ph©n lµ c©n b»ng, nÕu t¹i mäi ®Ønh cña nã, sè c¸c ®Ønh

trong c©y con tr¸i vµ sè ®Ønh trong c©y con ph¶i kh¸c nhau nhiÒu nhÊt lµ 1.

Trong h×nh 3.13 c©y con bªn ph¶i lµ c©n b»ng. C©y con bªn tr¸i kh«ng c©n b»ng.

Trong mét c©y c©n b»ng thuËt to¸n t×m kiÕm trong c©y t×m kiÕm nhÞ ph­¬ng thùc

hiÖn nhanh h¬n.

3.6. Bµi tËp ch­¬ng III

1. H·y vÏ c©y hoÆc kh«ng vÏ ®­îc c©y th× gi¶i thÝch t¹i sao:
3.6. Bµi tËp ch­¬ng III 46

a) C©y nhÞ ph©n 12 ®Ønh cã ®é cao bËc 5 mµ nã cã ®óng 5 l¸.

b) C©y nhÞ ph©n 14 ®Ønh cã ®é cao bËc 3.

2. H·y vÏ c©y gèc theo m¶ng ®· cho nh÷ng nèt bè:

a) −, 0, 1, 1, 1, 1, 1, 2, 2, 2; b) −, 0, 1, 1, 2, 2, 3, 4, 4.

3. Chøng minh r»ng nÕu G lµ mét c©y, th× G ph¶i chøa Ýt nhÊt mét ®Ønh cã bËc

ch½n.

4. §­a ra ®­êng duyÖt c©y nhÞ ph©n sau theo: preorder, inorder vµ postorder

2 3

4 5 6

7 8 9 10

5. §­a ra ®­êng duyÖt c©y nhÞ ph©n sau theo: preorder, inorder vµ postorder

3 2

6 10 4 5

9 7 8

6. BiÓu diÔn prefix, infix vµ postfix trong c©y biÓu thøc sè häc sau ®©y:

/ +

− a ∗ b

c d e −

f g
3.6. Bµi tËp ch­¬ng III 47

7. H·y ®­a ra c¸c prefix vµ postfix biÓu thøc sè häc sau

a) ((a + b) × (c − (d + e));
b) (((a + (b × c)) − d)/g);

8. H·y ®­a ra c¸c prefix vµ postfix biÓu thøc sè häc sau

a) ((a + b) × (c − (d + e)) × (((a + (b × c)) − d)/g);


b) ((b × (c + a) × (g − d))/(b + d)) × ((g + c) × h)

9. VÏ c©y t×m kiÕm nhÞ ph©n víi c¸c khãa cho d­íi ®©y: vÏ mét c©y c©n b»ng

vµ mét c©y kh«ng?

a) 1, 4, 9, 19, 41, 49;


b) 12, 23, 35, 37, 45, 50, 54, 60, 66.
Ch­¬ng 4
C©y bao trïm

4.1. S¬ ®å sinh c©y trùc quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48


4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang . . . . . . . . . . . . . . . 51
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u . . . . . . . . . . . . . . . . . . 54
4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt . . . . . . . . . . . . . . 58
4.5. Bµi tËp ch­¬ng IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.1. S¬ ®å sinh c©y trùc quan

Trong phÇn nµy nghiªn cøu mét sè thuËt to¸n sinh c©y bao trïm b»ng c¸ch lÇn

l­ît thªm vµo c¹nh vµ ®Ønh cña mét ®å thÞ ®· cho.

ThuËt ng÷: Gi¶ sö T lµ mét c©y trong ®å thÞ G, c¸c c¹nh vµ c¸c ®Ønh cña T ®­îc

gäi lµ c¸c c¹nh c©y vµ c¸c ®Ønh c©y. C¸c c¹nh vµ c¸c ®Ønh cña G kh«ng thuéc T ®­îc

gäi lµ c¹nh ngoµi c©y vµ ®Ønh ngoµi c©y.

§Þnh nghÜa 4.1. Mét c¹nh biªn víi mét c©y T trong ®å thÞ G lµ mét c¹nh ngoµi cã

mét ®Çu cuèi trong T vµ mét ®Çu cuèi kh«ng thuéc T.

VÝ dô 4.1. §å thÞ trong G (h×nh 4.1), c¹nh c©y T ®­îc t« nÐt ®Ëm vµ ®Ønh c©y chÊm

®en. C¹nh biªn cña c©y b»ng ®­êng ®øt ®o¹n.

a
b
c
d

H×nh 4.1 C©y víi c¹nh biªn a, b, c vµ d

MÖnh ®Ò 4.1. Gi¶ sö T lµ c©y trong ®å thÞ G, cho e lµ c¹nh biªn cña T. Khi ®ã ®å thÞ

con cña G t¹o bëi thªm c¹nh e vµo T còng lµ mét c©y.

Chøng minh. Thªm c¹nh biªn e vµo c©y T kh«ng t¹o ra 1 ®­êng vßng, v× mét ®iÓm

cuèi cña e n»m ngoµi T. J


Sinh c©y c¬ së lµ qu¸ tr×nh dïng nh·n g¸n lÇn l­ît vµo c¸c ®Ønh cña mét c©y khi

c¸c ®Ønh nµy ®­îc thªm vµo c©y.


4.1. S¬ ®å sinh c©y trùc quan 49

§Þnh nghÜa 4.2. G¸n nh·n ®Ønh chuÈn cña mét ®å thÞ n ®Ønh lµ mét phÐp g¸n mét-

mét c¸c sè nguyªn 0, 1, ..., n − 1 vµo c¸c ®Ønh cña ®å thÞ. §«i khi ng­êi ta cßn gäi lµ

0-nh·n ®Ønh chuÈn. NÕu ta dïng c¸c sè nguyªn 1, 2, ..., n th× ta nãi r»ng g¸n 1-nh·n
®Ønh chuÈn

Thµnh phÇn cña ®Ønh V trong ®å thÞ G lµ mét ®å thÞ con cña G ®­îc quy vµo tËp

c¸c ®Ønh cã kh¶ n¨ng liªn th«ng víi V vµ kÝ hiÖu lµ CG (V ).

ThuËt to¸n 4.1 Sinh c©y c¬ së víi c¸c nh·n ®Ønh (BTGVL)
procedure BT GV L
§Çu vµo: §å thÞ G vµ ®Ønh b¾t ®Çu V .
§Çu ra: C©y bao trïm T cña CG (V ) vµ nh·n ®Ønh chuÈn cña CG (V ).
1: Khëi t¹o c©y T b»ng ®Ønh V;
2: ViÕt nh·n 0 cho ®Ønh V;
3: Khëi t¹o sè ®Õm nh·n i := 1;
4: while <C©y T ch­a bao trïm thµnh phÇn CG (V ) > do
5: Chän mét c¹nh biªn e cña c©y T;
6: LÊy W mét ®iÓm cuèi cña c¹nh e mµ n»m ngoµi T;
7: Thªm c¹nh e vµ ®Ønh W vµo c©y T;
8: ViÕt nhÉn i cho ®Ønh W ;

9: i := i + 1
10: end while
11: return(C©y T vµ nh·n cña CG (V )).
end BT GV L

Chó ý: 1. KÕt qu¶ nhËn ®­îc cña thuËt to¸n kh«ng duy nhÊt.

2. C©y duy nhÊt nhËn ®­îc khi cã mét ­u tiªn cho tr­íc dùa trªn c¬ së s¾p xÕp

c¸c c¹nh.

3. "ThuËt to¸n" ë ®©y kh«ng chÝnh x¸c l¾m v× th­êng thuËt to¸n lµ ph¶i cho mét

kÕt qu¶ thèng nhÊt khi cho cïng mét ®Çu vµo.

VÝ dô 4.2. B¾t ®Çu tõ ®Ønh V cña G cã thÓ sinh ra hai c©y nh­ sau (h×nh 4.2):

MÖnh ®Ò sau ®©y suy ra trùc tiÕp tõ mÖnh ®Ò 4.1 vµ ®Þnh nghÜa thµnh phÇn

cña ®Ønh V cña ®å thÞ G.

MÖnh ®Ò 4.2. NÕu thùc hiÖn thuËt to¸n 4.1 b¾t ®Çu tõ ®Ønh V cña ®å thÞ G , th× ®å thÞ con
bao gåm c¸c ®Ønh ®· ®­îc g¸n nh·n vµ c¸c c¹nh c©y lµ mét bao trïm cña thµnh phÇn

CG (V ).

HÖ qu¶ 4.1. Mét ®å thÞ liªn th«ng khi vµ chØ khi thuËt to¸n sinh c©y c¬ së ®¸nh nh·n cho

tÊt c¶ c¸c ®Ønh.


4.1. S¬ ®å sinh c©y trùc quan 50

W d X
c
f
U a e Z
b Y
V

W (1) d X (2) W (1) X (2)


d
c c
U (3) f f
a e a e Z(4)
Z(4) U (3)
b Y (5) b Y (5)
V (0) V (0)

H×nh 4.2 Sinh ra hai c©y b¾t ®Çu tõ ®Ønh V

Mét c©y bao trïm ®­îc x©y dùng theo thuËt to¸n 4.1 sinh c©y c¬ së th­êng ®­îc

xem nh­ mét c©y gèc.

VÝ dô 4.3. Hai c©y ë vÝ dô tr­íc cã thÓ vÏ l¹i thµnh c©y gèc.

V (0) V (0)

a b a
W (1) W (1)
d U (3) d c
X (2) X (2)
U (3)
f e f e
Z(4) Y (5) Z(4) Y (5)

H×nh 4.3 Hai c©y gèc sinh bëi thuËt to¸n sinh c©y c¬ së

¦u tiªn lùa chän c¹nh: Cã rÊt nhiÒu quy t¾c kh¸c nhau ®Ó lùa chän c¹nh biªn

trong qu¸ tr×nh sinh c©y. Ta cã thÓ sö l¹i thuËt to¸n 4.1 thªm phÇn ­u tiªn.

Chó ý tÝnh to¸n: Thùc hiÖn thuËt to¸n 4.2 cã ®ßi hái cÊu tróc c¬ së d÷ liÖu cô thÓ

vµ phÐp to¸n l­u tr÷ vµ cËp nhËt tËp hîp c¸c c¹nh biªn. C¸c quy t¾c ­u tiªn ®­îc t¹o

ra víi ý ®å cña ng­êi tÝnh to¸n.

Sinh c©y trong ®å thÞ ®Þnh h­íng


§Þnh nghÜa 4.3. Cung biªn cho c©y gèc T trong ®å thÞ ®Þnh h­íng lµ mét cung mµ

phÇn ®u«i n»m trong T vµ phÇn ®Çu cña nã kh«ng n»m trong T.

Sinh c©y ®Þnh h­íng trong ®å thÞ ®Þnh h­íng hoµn toµn t­¬ng tù nh­ cho ®å thÞ

v« h­íng: Trong mçi lÇn lÆp cung biªn ®­îc chän vµ thªm vµo c©y sinh ra.
4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang 51

ThuËt to¸n 4.2 Sinh c©y cã ­u tiªn nh·n ®Ønh (EPT G)


procedure EPT G
§Çu vµo: §å thÞ liªn th«ng G vµ ®Ønh b¾t ®Çu V .
§Çu ra: C©y bao trïm T cña CG (V ) vµ nh·n ®Ønh chuÈn cña CG (V ).
1: Khëi t¹o c©y T b»ng ®Ønh V;
2: Khëi t¹o tËp hîp c¸c c¹nh biªn cho c©y T b»ng 0/ ;
3: ViÕt nh·n 0 cho ®Ønh V;
4: Khëi t¹o sè ®Õm nh·n i := 1;
5: while <C©y T ch­a bao trïm thµnh phÇn CG (V ) > do
6: CËp nhËt tËp hîp c¹nh biªn cña T;
7: Chän c¹nh biªn e cña c©y T cã sù ­u tiªn cao nhÊt;

8: LÊy W mét ®iÓm cuèi cña c¹nh e mµ n»m ngoµi T;


9: Thªm c¹nh e (vµ ®Ønh W) vµo c©y T;
10: ViÕt nh·n i cho ®Ønh W ;

11: i := i + 1
12: end while
13: return(C©y T vµ nh·n cña CG (V )).
end EPT G

KÕt qu¶ sinh c©y ®å thÞ ®Þnh h­íng vµ kh«ng ®Þnh h­íng hoµn toµn kh¸c nhau:

VÝ dô 4.4. §å thÞ th¼ng n¨m ®Ønh, trong tr­êng hîp kh«ng ®Þnh h­íng lu«n lu«n lµ

c©y bao trïm ®å thÞ. Con trong tr­êng hîp ®Þnh h­íng th× chØ b¾t ®Çu tõ ®Ønh U
(h×nh 4.4) míi cã c©u bao trïm. Cßn b¾t ®Çu tõ ®Ønh V th× c©y chØ lµ mét ®iÓm.

U X Y Z V

H×nh 4.4 Sinh c©y ®Þnh h­íng

NÕu khëi ®Çu U th× c©y bao trïm trïng nhau víi hai lo¹i thuËt to¸n.

NÕu khëi ®Çu V th× chØ cã mçi V trong ®å thÞ ®Þnh h­íng.

4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang

1. T×m kiÕm theo chiÒu s©u


T×m theo chiÒu s©u cña mét ®å thÞ lµ chän c¹nh biªn cã ®Ønh ngoµi víi nh·n lín

nhÊt trong sè c¸c ®Ønh ngoµi hiÖn thêi cña c©y sinh ra. Khi kh«ng t×m ®­îc n÷a th×

thuËt to¸n quay lui tíi nh·n lín nhÊt tiÕp theo vµ l¹i tiÕp tôc thö t×m kiÕm.

T×m kiÕm theo chiÒu s©u chÝnh lµ thuËt to¸n sinh c©y víi ­u tiªn. ¦u tiªn ë ®©y

lµ chän c¸c ®Ønh trªn ®Çu c¸c c¹nh biªn ë ngoµi c©y cã nh·n lín nhÊt.
4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang 52

Khi ®Ønh cña qu¸ tr×nh t×m kiÕm ®­îc g¸n nh·n, th× nh·n sè nguyªn ®­îc g¸n

vµo mét ®Ønh W kÝ hiÖu lµ d f number(V ).


XÐt thuËt to¸n 4.3 trang 52.

ThuËt to¸n 4.3 T×m kiÕm theo chiÒu s©u (DFSearch)


procedure DFSearch
§Çu vµo: §å thÞ liªn th«ng G vµ ®Ønh b¾t ®Çu V .
§Çu ra: C©y bao trïm T vµ nh·n ®Ønh chuÈn cña G .
1: Khëi t¹o c©y T b»ng ®Ønh V;
2: Khëi t¹o tËp hîp c¸c c¹nh biªn cho c©y T b»ng 0/ ;
3: §Æt d f number(V ) = 0;
4: Khëi t¹o sè ®Õm nh·n i := 1;
5: while <C©y T ch­a bao trïm G > do
6: CËp nhËt tËp hîp c¹nh biªn cña T;
7: Chän c¹nh biªn e cña c©y T mµ nh·n ®iÓm cuèi cã nh·n lín nhÊt;

8: LÊy W mét ®iÓm cuèi cña c¹nh e mµ n»m ngoµi T;


9: Thªm c¹nh e (vµ ®Ønh W ) vµo c©y T;
10: §Æt d f number(W ) = i;

11: i := i + 1
12: end while
13: return(C©y T víi ®¸nh sè d f number).
end DFSearch

VÝ dô 4.5. T×m kiÕm theo ®é s©u trong mét c©y liªn th«ng vµ biÓu diÔn thµnh c©y

t×m ®­îc (h×nh 4.5).

V (0)
W (1)
W (1) X (3)
U (2) X (3)
Y (6) T (5) Z(4)
U (2) V (0)
Z(4) T (5) Y (6)

H×nh 4.5 Sinh c©y ®Þnh h­íng

MÖnh ®Ò 4.3. Gi¶ sö T lµ c©y bao trïm sinh bëi thuËt to¸n 4.3 t×m kiÕm theo chiÒu s©u

trong ®å thÞ kh«ng ®Þnh h­íng vµ e lµ mét c¹nh ngoµi víi c¸c ®Ønh cuèi X vµ Y tháa m·n
d f number(X ) < d f number(Y ). Khi ®ã X ph¶i lµ tiÒn bèi cña ®Ønh Y trong c©y T .

Chøng minh. Theo c¸ch ®¸nh nh·n trong thuËt to¸n t×m kiÕm theo chiÒu s©u th×

nh·n ®Ønh X, c¹nh e trë thµnh c¹nh biªn. V× e kh«ng bao giê lµ trë thµnh c¹nh cña
4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang 53

c©y, nªn sù t×m kiÕm ph¶i ®Õn ®Ønh Y tr­íc khi trë l¹i ®Ønh X b»ng lÇn sau cïng.

Nh­ vËy, Y trong c©y con gèc t¹i X vµ do ®ã nã lµ hËu duÖ cña X. J
2. T×m kiÕm theo bÒ ngang
T×m kiÕm theo bÒ ngang lµ thuËt to¸n sinh c©y víi ­u tiªn chän c¹nh biªn cã

mét ®Çu víi nh·n nhá nhÊt.

Ta xÐt thuËt to¸n 4.4.

ThuËt to¸n 4.4 T×m kiÕm theo bÒ ngang (BFSearch)


procedure DFSearch
§Çu vµo: §å thÞ liªn th«ng G vµ ®Ønh b¾t ®Çu V .
§Çu ra: C©y bao trïm T vµ nh·n ®Ønh chuÈn cña G .
1: Khëi t¹o c©y T b»ng ®Ønh V;
2: Khëi t¹o tËp hîp c¸c c¹nh biªn cho c©y T b»ng 0/ ;
3: §Æt d f number(V ) = 0;
4: Khëi t¹o sè ®Õm nh·n i := 1;
5: while <C©y T ch­a bao trïm G > do
6: CËp nhËt tËp hîp c¹nh biªn cña T;
7: Chän c¹nh biªn e cña c©y T mµ nh·n ®iÓm cuèi cã nh·n nhá nhÊt;

8: LÊy W mét ®iÓm cuèi cña c¹nh e mµ n»m ngoµi T;


9: Thªm c¹nh e (vµ ®Ønh W ) vµo c©y T;
10: §Æt d f number(W ) = i;
11: i := i + 1
12: end while
13: return(C©y T víi ®¸nh sè d f number).
end BFSearch

VÝ dô 4.6. H×nh 4.6 lµ kÕt qu¶ cña thuËt to¸n theo bÒ ngang cña ®å thÞ víi cïng ®å

thÞ ë vÝ dô tr­íc.

V (0)
W (1) U (2)
W (1) X (3)
X (3)
Y (4) T (6)

U (2) V (0)
Z(5) Y (4) Z(5) T (6)

H×nh 4.6 T×m kiÕm theo bÒ ngang

VÝ dô 4.7. T×m kiÕm theo chiÒu s©u vµ theo bÒ ngang kÕt qu¶ hai c©y hoµn toµn

kh¸c nhau. H×nh 4.7 chØ ra hai c¸ch t×m ®Õn b­íc 11 cña mçi lÇn lÆp.
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 54

1 V (0) 1 V (0)

7 2 4
2 5
9
10 8 6 3
11 7
11 10

6 8
3 9
5
4
H×nh 4.7 T×m kiÕm theo bÒ ngang

MÖnh ®Ò 4.4. Khi t×m kiÕm theo chiÒu ngang trªn c©y kh«ng ®Þnh h­íng th× c¸c ®iÓm

cuèi cña c¸c c¹nh ngoµi c©y hoÆc lµ cïng mét bËc hoÆc lµ thuéc bËc tiÕp theo.

Chøng minh. Chøng minh t­¬ng tù nh­ mÖnh ®Ò tr­íc. J


4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u

1. T×m c¸c thµnh phÇn cña ®å thÞ


Thµnh phÇn lµ ®å thÞ con cña mét ®å thÞ mµ kh«ng cã ®å thÞ con nµo chøa nã.

Dù vµo c¸ch t×m c©y ta t×m c¸c thµnh phÇn nh­ c¸c c©y, t­¬ng tù t×m c¸c c©y trong

®å thÞ ng­êi ta gäi lµ rõng. XÐt thuËt to¸n 4.6 trang 54.

ThuËt to¸n 4.5 T×m thµnh phÇn cña ®å thÞ (CF )


procedure CF
§Çu vµo: §å thÞ G .
§Çu ra: C©y bao trïm cho mçi thµnh phÇn cña G vµ nh·n ®Ønh chuÈn cña G.
1: Khëi t¹o c©y F nh­ ®å thÞ rçng;

2: Khëi t¹o ®Õm thµnh phÇn t := 1;


3: while < F G > do
ch­a lµ ®å thÞ bao trïm
4: Chän ®Ønh V F;
kh«ng thuéc

5: Dïng t×m kiÕm chiÒu s©u DFSearch(G ,V ) cho c©y bao trïm Tt trong CG (V );
6: Thªm sè |VG | vµo mçi nh·n ®Ønh trong c©y Tt ;

7: Thªm c©y Tt vµo F ;

8: t := t + 1;
9: end while
10: return(F vµ nh·n ®Ønh cña G ).
end CF

1. T×m c¸c ®Ønh c¾t cña ®å thÞ liªn th«ng


4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 55

Ta nh¾c l¹i mét ®Ønh V cña ®å thÞ liªn th«ng G gäi lµ ®Ønh c¾t nÕu ®å thÞ G −V
cã nhiÒu thµnh phÇn h¬n ®å thÞ G.
Hai ®Æc tr­ng d­íi ®©y sÏ dÉn tíi ph­¬ng ph¸p t×m ®Ønh c¾t.

MÖnh ®Ò 4.5. V trong ®å thÞ


Mét ®Ønh liªn th«ng lµ mét ®Ønh c¾t khi vµ chØ khi tån t¹i

hai ®Ønh kh¸c nhau U vµ W ®Òu kh¸c V sao cho V n»m trªn mäi U −W ®­êng dÉn trong

®å thÞ.

Chøng minh. §iÒu kiÖn cÇn ( ⇒): NÕu V lµ ®Ønh c¾t cña ®å thÞ liªn th«ng G , th×
tån t¹i hai ®Ønh U vµ W trong hai thµnh phÇn t¸ch biÖt cña G −V Suy ra mäi U −W

®­êng dÉn trong G ph¶i chøa V.


§iÒu kiÖn ®ñ ( ⇐): NÕu U Wvµ lµ c¸c ®Ønh cña ®å thÞ liªn th«ng G sao cho mäi

U −W ®­êng dÉn trong G chøa V , th× G −V kh«ng chøa U −W ®­êng dÉn. VËy, U
vµ W ë hai thµnh phÇn kh¸c nhau cña G −V . J
VÝ dô 4.8. §å thÞ G trong h×nh ??hØ cã W vµ X lµ ®Ønh c¾t. C©y gèc bªn tr¸i h×nh

nµy lµ kÕt qu¶ t×m kiÕm theo chiÒu s©u b¾t ®Çu tõ ®Ønh c¾t, ®Ønh nµy lµ gèc vµ cã

hai con (. Cßn c©y gèc bªn ph¶i lµ kÕt qu¶ t×m kiÕm theo chiÒu sau b¾t ®Çu tõ ®Ønh

kh«ng ph¶i lµ ®Ønh c¾t, thÊy r»ng nã chØ cã mét con. MÖnh ®Ò sau ®©y x¸c ®Þnh

mét ®Ønh trong ®å thÞ lµ ®Ønh c¾t.

V X

Y T

U
W Z W (0)
V (0)
W (1) V (1)
X (3)
Z(4) U (2) X (3)
U (2) Z(4)
T (5) Y (6)
T (5) Y (6)
H×nh 4.8 §å thÞ G vµ hai c©y t×m theo chiÒu s©u

MÖnh ®Ò 4.6. Gi¶ sö c©y T lµ kÕt qu¶ sö dông t×m kiÕm theo chiÒu s©u cña ®å thÞ liªn

th«ng G. Khi ®ã gèc R cña T lµ ®Ønh-c¾t cña G khi vµ chØ khi R cã nhiÒu h¬n mét con

trong T .

Chøng minh. §iÒu kiÖn cÇn ( ⇒): Chøng minh b»ng ph¶n chøng, gi¶ sö gèc R chØ

cã mét con W trong T. Khi ®ã c¸c ®Ønh cßn l¹i ®Òu lµ hËu duÖ cña W. Nh­ vËy,
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 56

c©y con gèc t¹i W lµ c©y bao trïm G −R vµ do ®ã G −R lµ liªn th«ng, v« lÝ víi R lµ

®Ønh-c¾t, khi lo¹i nã ra nã ph¶i cã hai thµnh phÇn vµ kh«ng liªn th«ng.

§iÒu kiÖn ®ñ ( ⇐): Gi¶ sö X vµ Y lµ hai con cña R. X vµ Y kh«ng lµ tiÒn bèi cña

nhau. H¬n n÷a, kh«ng cã hËu duÖ cña X l¹i lµ tiÒn bèi hoÆc hËu duÖ cña hËu duÖ

cña Y (h×nh 4.9). VËy theo mÖnh ®Ò 4.3 tån t¹i c¹nh ngoµi nèi ®Ønh bÊt k× trong

R
X Y

H×nh 4.9 Gèc cña c©y lµ ®Ønh-c¾t cã h¬n mét con

c©y con gèc t¹i X tíi ®Ønh bÊt k× trong c©y con gèc t¹i Y. §iÒu nµy kÐo theo mäi

X −Y ®­êng dÉn trong G ph¶i ®i qua R. Do ®ã theo mÖnh ®Ò 4.5, R lµ ®Ønh-c¾t. J


MÖnh ®Ò 4.7. Gi¶ sö c©y T lµ kÕt qu¶ cña sö dông thuËt to¸n t×m kiÕm theo chiÒu s©u

trong ®å thÞ G. Khi ®ã ®Ønh kh¸c gèc V cña T lµ ®Ønh c¾t cña G khi vµ chØ khi V cã con

W sao cho kh«ng cã hËu duÖ cña V nèi ®­îc víi tiÒn bèi cña V b»ng c¹nh ngoµi c©y.

Chøng minh. §iÒu kiÖn cÇn ( ⇒): Chøng minh theo ph¶n chøng, gi¶ sö mäi con W
cña V cã hËu duÖ nèi víi tiÒn bèi cña V (h×nh 4.10)

R
A2
A1
V
W1 W2
D2
X
D1 Y
H×nh 4.10 HËu duÖ cña W vµ tiÒn bèi cña V

Khi ®ã hai ®Ønh bÊt k× trong c©y con gèc t¹i V nèi ®­îc b»ng ®­êng dÉn kh«ng

chøa V . Ta xÐt ®iÒu ®ã: Gi¶ sö X vµ Y lµ hËu duÖ cña V . Khi ®ã X lµ con cña V , cho
®ã lµ W1 , hay lµ X lµ hËu duÖ cña W1 ; t­¬ng tù Y lµ mét con cña V , cho ®ã lµ W2 , tøc

lµ Y lµ hËu duÖ cña W2 . Nh­ng khi ®ã W1 cã hËu duÖ D1 nèi víi c¹nh ngoµi tíi tiÒn

bèi cña V cho ®ã lµ A1 . T­¬ng tù W2 lµ hËu duÖ cña D2 còng nèi b»ng c¹nh ngoµi tíi

tiÒn bèi cña V , cho ®ã lµ A2 (h×nh 4.10). Khi ®ã gÐp c¹nh XW1 , W1 − D1 ®­êng dÉn,

c¹nh D1 A1 , c¹nh A1 A2 , c¹nh A2 D2 , c¹nh D2W2 vµ W2 −Y ®­êng dÉn, mµ nã kh«ng chøa

V . LÝ luËn t­¬ng tù ta chØ ra r»ng tån t¹i mét ®­êng dÉn gi÷a tiÒn bèi cña V vµ hËu
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 57

duÖ bÊt k× cña V kh«ng qua V. §iÒu nµy kÐo theo tån t¹i ®­êng dÉn tõ hËu duÖ

bÊt k× cña V ®Õn ®Ønh bÊt k× trong c©y con kh¸c cña R. Do ®ã theo mÖnh ®Ò 4.5

kh«ng lµ ®Ønh-c¾t.

§iÒu kiÖn ®ñ ( ⇐): Gi¶ sö V cã con W sao cho kh«ng cã hËu duÖ nµo cña W nèi
®­îc víi tiÒn bèi cña V b»ng c¹nh ngoµi. Khi ®ã mäi ®­êng dÉn trong G tõ W ®Õn R
ph¶i ®i qua V vµ do ®ã V lµ ®iÓm c¾t. J
Theo mÖnh ®Ò 4.3 vµ mÖnh ®Ò 4.7 suy ra V kh«ng lµ gèc cña c©y t×m theo chiÒu

s©u lµ ®Ønh-c¾t khi vµ chØ khi V cã con W sao cho kh«ng cã hËu duÖ cña W nèi ®­îc

b»ng c¹nh ngoµi c©y tíi ®Ønh, mµ sè d f number cña nã nhá h¬n d f number(V ).
KÝ hiÖu low(W ) nhá h¬n d f number(W ) vµ nhá nhÊt d f number gi÷a tÊt c¶ c¸c ®Ønh

nèi víi c¹nh ngoµi tíi hËu duÖ nµo ®ã cña W .

MÖnh ®Ò 4.7 cã thÓ ph¸t biÓu l¹i thµnh hÖ qu¶ sau ®©y vµ cho ta s¬ ®å t×m

®Ønh-c¾t.

HÖ qu¶ 4.2. Gi¶ sö T lµ kÕt qu¶ cña sö dông thuËt to¸n t×m kiÕm theo chiÒu s©u trong

®å thÞ liªn th«ngG . Khi ®ã ®Ønh V kh¸c gèc cña T lµ ®Ønh-c¾t khi vµ chØ khi V cã con W
sao cho low(W ) ≥ d f number(V ).

ThuËt to¸n 4.6 T×m ®Ønh c¾t (FCV )


procedure FCV
§Çu vµo: §å thÞ liªn th«ng G .
§Çu ra: TËp hîp K c¸c ®Ønh c¾t cña G .
1: Khëi t¹o tËp K c¸c ®Ønh c¾t b»ng 0/ ;
2: Chän ®Ønh bÊt k× R cña ®å thÞ G;
3: Dïng t×m kiÕm chiÒu s©u DFSearch(G , R);
4: T lµ mét c©y kÕt qu¶ t×m kiÕm;

5: if < Gèc R cã h¬n mét con trong T > then


6: Thªm ®Ønh R vµo tËp hîp K;
7: end if
8: for Víi mçi ®Ønh W ∈ T do
9: TÝnh low(W );
10: end for
11: for Víi mçi ®Ønh V ∈ T kh¸c gèc do
12: if < tån t¹i con W cña V sao cho low(W ) ≥ d f number(V ) > then
13: Thªm V vµo tËp hîp K;
14: end if
15: end for
16: return(TËp hîp K ).
end FCV

VÝ dô 4.9. C¸c sè d f number vµ low ®­îc tÝnh cho vÝ dô h×nh ??íi sè thø nhÊt lµ

d f number.
4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt 58

W (0, 0)

V (1, 0)
V X
X (3, 3)
U (2, 0)
Y T
Z(4, 3)
U
W Z T (5, 3) Y (6, 3)
H×nh 4.11 Gi¸ trÞ d f number vµ low cho t×m theo chiÒu s©u

Chó ý: Kh«ng khã chøng minh r»ng víi mäi ®Ønh V , low(V ) lµ cùc tiÓu cña gi¸

trÞ sau ®©y:

a) d f number;
b) d f number(Z) víi mäi Z nèi tíi V b»ng c¹nh ngoµi;

c) low(Y ) víi con bÊt k× Y cña V.

4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt

§Þnh nghÜa 4.4. §å thÞ träng sè lµ ®å thÞ trªn mçi c¹nh ®­îc g¸n mét ®¹i l­îng sè.

1. T×m c©y bao trïm nhá nhÊt: ThuËt to¸n Prim


Bµi to¸n c©y bao trïm nhá nhÊt: Cho G lµ ®å thÞ träng sè liªn th«ng. T×m c©y bao

trïm cña G, mµ tæng träng sè c¸c c¹nh cña nã lµ cùc tiÓu.

T×m c©y bao trïm nhá nhÊt nhÊt cã nhiÒu øng dông nh­ trong thiÕt kÕ m¹ng,

t×m m¹ng cã gi¸ rÎ nhÊt. Nh­ ta ®· biÕt mét ®å thÞ n ®Ønh th× sè c©y bao trïm cã

thÓ tíi nn−2 , vËy thùc hiÖn trªn c©y bao trïm cã thÓ gÆp nhiÒu khã kh¨n. ThuËt

to¸n sau ®©y cña C.R. Prim t×m c©y bao trïm nhá nhÊt nh­ng kh«ng ®ßi hái tÊt c¶

c¸c c©y bao trïm kh¸c cña ®å thÞ.

ThuËt to¸n t×m c©y bao trïm nhá nhÊt còng lµ thuËt to¸n sinh c©y trong ®å thÞ

träng sè víi ­u tiªn chän c¹nh biªn cã träng sè nhá nhÊt mçi lÇn lÆp.

VÝ dô 4.10. H×nh 4.12 thÓ hiÖn c¸c b­íc lÆp cña thuËt to¸n Prim t×m c©y bao trïm

nhá nhÊt.

MÖnh ®Ò 4.8. Tk lµ c©y Prim sau k b­íc lÆp cña thuËt to¸n Prim trªn ®å thÞ träng
Gi¶ sö

sè G , víi mäi k ≤ |VG | − 1. Khi ®ã Tk lµ mét c©y con cña c©y bao trïm nhá nhÊt cña G .

Chøng minh. Kh¼ng ®Þnh ®óng víi k = 0, v× T0 lµ c©y tÇm th­êng bao gåm chØ mét

®Ønh duy nhÊt.

Theo ph­¬ng ph¸p quy n¹p, ta gi¶ sö r»ng víi sè k nµo ®ã, 0 ≤ k ≤ |VG | − 2 mµ Tk
lµ mét c©y con cña c©y bao trïm nhá nhÊt T cña G vµ ta xÐt c©y Tk+1 . ThuËt to¸n
4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt 59

ThuËt to¸n 4.7 T×m c©y bao trïm nhá nhÊt Prim (MST Prim)
procedure MST Prim
§Çu vµo: §å thÞ liªn th«ng träng sè G .
§Çu ra: C©y bao trïm nhá nhÊt T .
1: Chän ®Ønh bÊt k× S cña ®å thÞ G;
2: Khëi t¹o c©y Prim S; T b»ng ®Ønh

3: Khëi t¹o tËp c¹nh biªn cña c©y T b»ng 0


/;
4: while < C©y Prim T ch­a bao trïm G > do
5: CËp nhËt tËp hîp c¹nh biªn cña T ;

6: Chän c¹nh biªn e cña c©y T cã träng sè nhá nhÊt;

7: LÊy W mét ®iÓm cuèi cña c¹nh e mµ n»m ngoµi T;


8: Thªm c¹nh e (vµ ®Ønh W) vµo c©y T;
9: end while
10: return(C©y T vµ nh·n cña CG (V )).
end MST Prim

8 12 8 12 8 12
S 9 S 9 S 9
5 7 6 5 7 6 5 7 6
11 9 11 9 11 9

6 6 6

8 12 8 12
S 9 S 9
5 7 6 7 6
5
11 9 11 9

6 6
H×nh 4.12 C©y bao trïm nhá nhÊt Prim

sinh ®Õn c©y Tk+1 b»ng c¸ch b­íc lÆp thø k + 1 thªm vµo c©y Tk c¹nh biªn e cã träng
sè nhá nhÊt. KÝ hiÖu hai ®Çu cña c¹nh nµy lµ U vµ V sao cho U n»m trong Tk vµ V

kh«ng thuéc Tk .
NÕu c©y bao trïm T chøa e, th× Tk+1 lµ c©y con cña T.
NÕu e kh«ng lµ c¹nh cña c©y T, th× e lµ phÇn duy nhÊt cña ®­êng vßng (chu

tr×nh) chøa trong T + e. XÐt ®­êng dÉn trong T tõ U tíi V gåm "®­êng vßng dµi

h¬n". Trªn ®­êng dÉn nµy, kÝ hiÖu f lµ c¹nh ®Çu tiªn mµ nã nèi mét ®Ønh cña Tk
tíi ®Ønh kh«ng n»m trong Tk , t×nh thÕ nµy nh­ trong h×nh vÏ 4.13 : c¸c ®Ønh vµ

c¹nh ®en ®Ëm lµm nªn c©y Prim Tk , c©y bao trïm T gåm tÊt c¶ trõ c¹nh e ngoµi nã.
4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt 60

Khi ®ã Tk+1 = (Tk ∪V ) + e.

f U

H×nh 4.13 TÝnh ®óng ®¾n thuËt to¸n Prim

V× f lµ c¹nh biªn t¹i thêi ®iÓm b¾t ®Çu phÐp lÆp k + 1, nªn w(e) ≤ w( f ) (do

thuËt to¸n chän e cã trong sè nhá nhÊt). ˜


T = T + e − f hiÓn nhiªn lµ mét c©y bao

trïm G vµ Tk+1 lµ c©y con cña T˜ (v× f kh«ng ph¶i lµ mét phÇn cña Tk ). Cuèi cïng

w(T˜ ) = w(T ) + w(e) − w( f ) ≤ w(T ), ®iÒu nµy chØ ra r»ng T˜ lµ c©y bao trïm nhá nhÊt
cña G . J
HÖ qu¶ 4.3. Khi thuËt to¸n Prim ¸p dông cho ®å thÞ liªn th«ng th× nã t¹o ra c©y bao trïm

nhá nhÊt.

2. T×m ®­êng dÉn ng¾n nhÊt: ThuËt to¸n Dijkstra


Bµi to¸n ®­êng dÉn ng¾n nhÊt: Gi¶ sö A vµ B lµ hai ®Ønh cña ®å thÞ träng sè liªn

th«ng G. H·y t×m mét ®­êng dÉn tõ A tíi B víi tæng sè träng sè c¸c c¹nh lµ nhá

nhÊt.

Träng sè c¹nh trong tõng bµi to¸n cô thÓ sÏ cã nghÜa lµ kho¶ng c¸ch, thêi gian,

....

NÕu träng sè c¸c c¹nh ®Òu b»ng 1 th× bµi to¸n quy vÒ t×m A − B ®­êng dÉn ng¾n
nhÊt. Ph­¬ng ¸n nµy chÝnh lµ thuËt to¸n t×m theo chiÒu réng ®· ®­îc nghiªn cøu ë

phÇn tr­íc.

ThuËt to¸n ®­îc xÐt trong phÇn nµy còng lµ mét sù biÕn thÓ cña thuËt to¸n sinh

c©y cã ­u tiªn trªn c¸c c¹nh.

Tr­íc khi ®i vµo thuËt to¸n ta nh¾c l¹i mét sè kh¸i niÖm ®­îc dïng ë ®©y. Kho¶ng

c¸ch gi÷a hai ®Ønh lµ ®é dµi cña ®­êng ®i ng¾n nhÊt gi÷a chóng. ThuËt to¸n ta xÐt

còng nh­ thuËt to¸n Prim lµ sinh ra mét c©y, gäi ®ã lµ Dijstra c©y, b¾t ®Çu tõ mét ®Ønh

S, mçi lÇn lÆp l¹i thªm vµo c¹nh biªn cã mét ®Çu cuèi kh«ng thuéc c©y gÇn S nhÊt.

KÝ hiÖu dist[X ] lµ kho¶ng c¸ch tõ ®Ønh S tíi X víi mäi ®Ønh c©y X vµ w(e) lµ träng
sè c¹nh e trong ®å thÞ träng sè G .
Trong thuËt to¸n trªn c¹nh biªn ®­îc ­u tiªn theo gi¸ trÞ cña P(e) = dist[X ] + w(e).
C¸c c¹nh biªn cã mét ®Çu cuèi t¹i X vµ P nhá nhÊt ®­îc chän trong thuËt to¸n. Trong

qu¸ tr×nh lùa chän ­u tiªn nh­ vËy kh«ng cÇn cËp nhËt cËp c¸c c¹nh biªn n÷a.
4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt 61

ThuËt to¸n 4.8 T×m ®­êng dÉn ng¾n nhÊt Dijkstra (SPDi jkstra)
procedure SPDi jkstra
§Çu vµo: §å thÞ liªn th«ng träng sè kh«ng ©m G vµ mét ®Ønh S cña G .
§Çu ra: C©y bao trïm nhá nhÊt T cña G , ®Ønh t¹i S, ®­êng dÉn tõ S ®Õn ®Ønh V
lµ ®­êng dÉn ng¾n nhÊt vµ nh·n ®Ønh trong kho¶ng c¸ch tõ S ®Õn mçt ®Ønh.

1: Khëi t¹o c©y Dijkstra T b»ng ®Ønh S;


2: Khëi t¹o tËp c¹nh biªn cña c©y T b»ng 0/ ;
3: dist[S] := 0;
4: ViÕt nh·n 0 cho ®Ønh S;

5: while < C©y Dijkstra T ch­a bao trïm G > do


6: for < mçi c¹nh biªn e cña T > do
7: G¸n X lµ nh·n ®iÓm cuèi c¹nh e thuéc T ;

8: G¸n Y lµ ®iÓm cuèi ch­a g¸n nh·n cña T ; §Æt P(e) := dist[X ] + w(e);
9: end for
10: LÊy e lµ c¹nh biªn cña T sao cho cã gi¸ trÞ P(e) nhá nhÊt;

11: LÊy X lµ ®Çu cuèi cã nh·n cña e;


12: LÊy Y mét ®iÓm cuèi ch­a cã nh·n cña e;
13: Thªm c¹nh e (vµ ®Ønh Y ) vµo c©y T;
14: dist[Y ] := P(e);
15: ViÕt nh·n dist[Y ] cho ®Ønh Y ;

16: end while


17: return(C©y Dijkstra T vµ c¸c nh·n cña nã).

end SPDi jkstra

VÝ dô 4.11. VÝ dô sau ®©y m« t¶ mçi lÇn lÆp cña thuËt to¸n. Nh÷ng c¹nh ®Ëm lµ

®­îc lùa chän.

§Þnh lÝ sau ®©y chøng minh sù ®óng ®¾n cña thuËt to¸n Dijkstra.

§Þnh lý 4.1. T j lµ c©y Dijkstra sau j phÐp lÆp cña thuËt to¸n Dijkstra trªn ®å thÞ
Gi¶ sö

liªn th«ng G , víi j = 0, 1, ..., |VG | − 1. Khi ®ã víi mäi V trong T j , S − V ®­êng dÉn duy

nhÊt trong T j vµ S −V ®­êng dÉn ng¾n nhÊt trong G

Chøng minh. Kh¼ng ®Þnh hiÓn nhiªn ®óng víi T0 . Theo quy n¹p, gi¶ sö cã mét j,
0 ≤ j ≤ |VG | − 1 sao cho T j kh¼ng ®Þnh cña ®Þnh lÝ ®óng. Gi¶ sö e cã nh·n t¹i ®Çu cuèi
X vµ kh«ng nh·n t¹i ®Çu cuèi Y vµ lµ c¹nh biªn ®­îc thªm vµo c©y T j trong lÇn lÆp
thø ( j + 1). Tõ Y lµ ®Ønh míi duy nhÊt trong T j+1 , nªn ta chØ cÇn chøng minh S −Y

®­êng dÉn Q trong T j+1 lµ S −Y ®­êng dÉn ng¾n nhÊt trong G lµ ®ñ. ThuËt to¸n t¹o

ra Q b»ng c¸ch gÐp S −Y ®­êng dÉn trong T j víi c¹nh e vµ ®é dµi cña ®­êng dÉn Q

b»ng P(e).

Gi¶ sö R lµ S −Y ®­êng dÉn bÊt k× trong G. length(R) ≥


Ta ph¶i chøng minh r»ng

length(Q). Gi¶ sö c¹nh f víi c¸c ®iÓm cuèi V vµ Z lµ c¹nh ®Çu tiªn ®­êng dÉn R kh«ng
4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt 62

S(0) S(0)
V 13 V 13 8
8 Z(8)
10 Z(8) 10
11 11
W W 17 7
6 17 7 6 16
16 14
14 5
5 Y X Y
X

dist[S] = 0 P(SW ) = 13 dist[S] = 0 P(ZY ) = 15


dist[Z] = 8 P(ZY ) = 15 dist[Z] = 8 P(SY ) = 16
P(SY ) = 16 dist[W ] = 13 P(ZV ) = 18
P(ZV ) = 18 P(ZX ) = 25
P(W X ) = 27
P(ZW ) = 19
P(ZX ) = 25
H×nh 4.14 LÇn lÆp thø nhÊt vµ thø hai cña thuËt to¸n Dijkstra
S(0) S(0)
V 13 8 V (18)13 8
10 Z(8) 10 Z(8)
11 11
W (13) W (13)
6 17 7 6 17 7
16 16
14 14
5 Y (15) 5 Y (15)
X X
dist[S] = 0 P(ZV ) = 18 dist[S] = 0 P(Y X ) = 20
dist[Z] = 8 P(Y X ) = 20 dist[Z] = 8 P(V X ) = 24
dist[W ] = 13 P(ZX ) = 25 dist[W ] = 13 P(ZX ) = 25
dist[Y ] = 15 P(W X ) = 27 dist[Y ] = 15 P(W X ) = 27
dist[V ] = 18
H×nh 4.15 LÇn lÆp thø ba vµ thø t­ cña thuËt to¸n Dijkstra
S(0)
V (18)13 dist[S] = 0
8 dist[Z] = 8
10 Z(8)
dist[W ] = 13
11
W (13) dist[Y ] = 15
6 717 dist[V ] = 18
16
14 dist[X ] = 20
Y (15)
X (20) 5
H×nh 4.16 KÕt thóc thuËt to¸n Dijkstra

thuéc trong Tj vµ K lµ phÇn chia ra cña R tõ Z ®Õn Y (h×nh 4.17)


4.5. Bµi tËp ch­¬ng IV 63

X e Y

S K
Z
f
V
Tj

H×nh 4.17 PhÇn t¸ch ra K khái c©y Tj

Tõ e lµ c¹nh biªn ®· ®­îc chän trong b­íc lÆp ( j + 1), nªn P(e) ≤ p( f ). VËy,

length(R) = dist[V ] + w( f ) + length(K) = P( f ) + length(K)


≥ P(e) + length(K) ≥ P(e) = length(Q),

ë ®©y bÊt ®¼ng thøc ®­îc suy ra tõ c¸c träng sè c¹nh lµ d­¬ng. J
4.5. Bµi tËp ch­¬ng IV

1. T×m c©y bao trïm theo chiÒu s©u trong ®å thÞ sau ®©y b¾t ®Çu t¹i ®Ønh W hoÆc

X
W d X S
m i
c o e R
U
a f g h
` Y n p
b
j Z k T
V
2. T×m kiÕm theo chiÒu réng trong ®å thÞ sau ®©y b¾t ®Çu t¹i ®Ønh U hoÆc Y

W d X S
m i
c o e R
U
a f g h
` Y n p
b
j Z k T
V
3. D¹ng ®å thÞ nh­ thÕ nµo cã duy nhÊt c©y bao trïm theo chiÒu s©u mµ kh«ng

phô thuéc vµo ®Ønh xuÊt ph¸t.

4. Sö dông thuËt to¸n Prim b¾t ®Çu tõ S t×m c©y bao trïm nhá nhÊt vµ vÏ c©y

bao trïm nµy.


4.5. Bµi tËp ch­¬ng IV 64

A 7 F

6 5 1 6
8
3
S
5 C 4
10
9 4 E G
7 9
4
B 8 D
5. Sö dông thuËt to¸n Dijkstra b¾t ®Çu tõ S t×m c©y bao trïm nhá nhÊt vµ vÏ c©y

bao trïm nµy trong ®å thÞ ë bµi tËp trªn.


Ch­¬ng 5
TÝnh liªn th«ng cña ®å thÞ

5.1. TÝnh liªn th«ng vµ c©y bao trïm . . . . . . . . . . . . . . . . . . . . . . . 65


5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh . . . . . . . . . . . . . . . . . . . . . . 68
5.3. §å thÞ Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4. §­êng dÉn vµ chu tr×nh Hamilton . . . . . . . . . . . . . . . . . . . . . . . 75
5.5. Bµi tËp ch­¬ng V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.1. TÝnh liªn th«ng vµ c©y bao trïm

Mçi liªn quan gi÷a tÝnh liªn th«ng cña ®å thÞ vµ c©y bao trïm thÓ hiÖn hai mÖnh

®Ò sau ®©y, tõ ®©y nhËn ®­îc ®Þnh lÝ quan träng ë phÇn cuèi ®iÓm nµy.

MÖnh ®Ò 5.1. Mét ®å thÞ G lµ liªn th«ng khi vµ chØ khi nã cã c©y bao trïm.

Chøng minh. NÕu G lµ ®å thÞ liªn th«ng, th× gi÷a nh÷ng ®å thÞ con bao trïm, liªn

th«ng cña G tån t¹i Ýt nhÊt mét, kÝ hiÖu lµ T víi sè c¹nh Ýt nhÊt. NÕu ®å thÞ con

T chøa mét chu tr×nh (®­êng vßng) th× bá ®i mét c¹nh cña c¸c c¹nh chu tr×nh sÏ

t¹o ra mét ®å thÞ bao trïm, liªn th«ng vµ nhá h¬n T, ®iÒu nµy tr¸i víi c¸ch chän T
nhá nhÊt. Nh­ vËy, T kh«ng cã chu tr×nh vµ bao trïm ®å thÞ G.
Ng­îc l¹i, nÕu G chøa c©y bao trïm, th× mäi cÆp ®Ønh liªn th«ng bëi ®­êng dÉn

trong c©y vµ do ®ã G liªn th«ng. J


MÖnh ®Ò 5.2. Mét ®å thÞ con H cña ®å thÞ liªn th«ng G lµ mét ®å thÞ con cña mét c©y

bao trïm khi vµ chØ khi H kh«ng cã chu tr×nh.

Chøng minh. §iÒu kiÖn cÇn ( ⇒): §å thÞ con cña c©y kh«ng cã chu tr×nh theo ®Þnh

nghÜa c©y.

§iÒu kiÖn ®ñ( ⇐): Gi¶ sö H lµ ®å thÞ con kh«ng chu tr×nh vµ T lµ c©y bao trïm

bÊt k× cña G. Ta xÐt ®å thÞ con bao trïm vµ liªn th«ng G1 = T ∪ H . NÕu G1 kh«ng

cã ®­êng chu tr×nh th× mäi c¹nh cña H ®· lµ c¹nh cña c¹nh cña c©y bao trïm T,
v× nÕu ng­îc l¹i th× mét chu tr×nh sÏ ®­îc t¹o ra. Nh­ vËy, ®å thÞ con H chøa

trong T vµ ®· chøng minh xong. Do ®ã gi¶ sö ng­îc l¹i G1 cã ®­êng chu tr×nh C1 . Tõ
H kh«ng cã chu tr×nh suy ra mét c¹nh nµo ®ã e1 cña chu tr×nh C1 kh«ng thuéc H .

Khi ®ã ®å thÞ G2 = G1 − e vÉn cßn liªn th«ng, ®å thÞ bao trïm con cña G vµ vÉn cßn
5.1. TÝnh liªn th«ng vµ c©y bao trïm 66

chøa H nh­ ®å thÞ con. NÕu G2 kh«ng cã chu k×, th× nã chÝnh lµ c©y bao trïm ®ßi

hái. Ng­îc l¹i, ta lÆp l¹i qu¸ tr×nh bá c¹nh chu tr×nh kh«ng thuéc H tíi khi c©y bao

trïm nhËn ®­îc. J


Ph©n ho¹ch c¾t vµ c¹nh c¾t nhá nhÊt
Ta biÕt r»ng c¹nh c¾t S trong ®å thÞ G lµ tËp hîp c¸c c¹nh sao cho ®å thÞ bá c¸c

c¹nh nµy ®i G −S cã nhiÒu thªm thµnh phÇn h¬n trong G.

§Þnh nghÜa 5.1. Gi¶ sö G lµ mét ®å thÞ vµ X1 vµ X2 t¹o ra ph©n ho¹ch cña VG . TËp
hîp tÊt c¶ c¸c c¹nh cña G cã mét ®Çu cuèi t¹i X1 vµ ®Çu cuèi kia trong X2 ®­îc gäi la

ph©n ho¹ch c¾t cña G vµ kÝ hiÖu lµ < X1 , X2 >.

MÖnh ®Ò 5.3. < X1 , X2 > lµ ph©n ho¹ch c¾t cña ®å thÞ liªn th«ng G . NÕu ®å thÞ con
Gi¶ sö

cña G quy trªn tËp hîp ®Ønh cña X1 vµ X2 lµ liªn th«ng, th× < X1 , X2 > lµ ph©n ho¹ch c¾t

nhá nhÊt.

Chøng minh. Ph©n ho¹ch c¾t < X1 , X2 > lµ c¹nh c¾t cña G , v× X1 vµ X2 n»m ë hai thµnh
phÇn kh¸c nhau cña G − < X1 , X2 >. Gi¶ sö S lµ tËp hîp con thùc sù cña < X1 , X2 > vµ

gi¶ sö e ∈< X1 , X2 > −S. Theo ®Þnh nghÜa cña < X1 , X2 >, mét ®Çu cuèi cña e trong

X1 vµ ®Çu cuèi kia trong X2 . Nh­ vËy, nÕu c¸c ®å thÞ con quy trªn nh÷ng tËp hîp
®Ønh X1 vµ X2 lµ liªn th«ng, th× G − S lµ liªn th«ng. Do ®ã, S kh«ng ph¶i lµ c¹nh c¾t

cña G , ®iÒu nµy suy ra < X1 , X2 > lµ c¹nh c¾t nhá nhÊt. J
MÖnh ®Ò 5.4. S lµ c¹nh c¾t nhá nhÊt cña ®å thÞ liªn th«ng G
Gi¶ sö vµ X1 vµ X2 lµ nh÷ng
tËp ®Ønh cña hai thµnh phÇn cña G − S. Khi ®ã S =< X1 , X2 >.

Chøng minh. DÔ thÊy S ⊂< X1 , X2 >. NÕu e ∈< X1 , X2 > −S, th× c¸c ®iÓm cuèi cña nã
ph¶i n»m trªn cïng mét thµnh phÇn cña G − S, v« lÝ víi ®Þnh nghÜa cña X1 vµ X2 .

J
Chu tr×nh c¬ b¶n vµ c¹nh c¾t c¬ b¶n
§Þnh nghÜa 5.2. Gi¶ sö G lµ ®å thÞ víi c(G) thµnh phÇn. H¹ng l¸t c¾t c¹nh lµ sè nh÷ng

c¹nh trong rõng bao trïm ®Çy ®ñ cña G .

|VG | − c(G). Ta nh¾c l¹i gi¶ sö H


Nh­ vËy theo hÖ qu¶ 3.4, cÊp cña l¸t c¾t b»ng

lµ ®å thÞ con cè ®Þnh cña ®å thÞG . PhÇn bï t­¬ng ®èi cña H (trong G ), kÝ hiÖu lµ

G − H , lµ ®å thÞ con bá c¹nh G − EH .

§Þnh nghÜa 5.3. Gi¶ sö G lµ mét ®å thÞ víi c(G) thµnh phÇn. H¹ng cña chu tr×nh cña

G, kÝ hiÖu lµ β (G), lµ sè c¸c c¹nh trong phÇn bï t­¬ng ®èi cña rõng bao trïm hoµn

toµn cña G. Nh­ vËy, h¹ng chu tr×nh lµ β (G) = |EG | − |VG | + c(G).

§Þnh nghÜa 5.4. Rõng bao trïm hoµn toµn cña ®å thÞ G lµ rõng bao trïm gåm tËp

hîp c¸c c©y sao cho mçi c©y lµ c©y bao trïm cña nh÷ng thµnh phÇn kh¸c nhau cña G.
5.1. TÝnh liªn th«ng vµ c©y bao trïm 67

§Þnh nghÜa 5.5. Gi¶ sö F lµ rõng bao trïm hoµn toµn cña G vµ e lµ mét c¹nh bÊt k×

trong phÇn bï t­¬ng ®èi cña rõng F. Chu tr×nh trong ®å thÞ con F +e gäi lµ chu

tr×nh c¬ b¶n cña G.

Tõ ®Þnh nghÜa suy ra mçi c¹nh trong phÇn bï t­¬ng ®èi cña rõng bao trïm hoµn

toµn cña G cho mét chu tr×nh c¬ b¶n kh¸c nhau.

§Þnh nghÜa 5.6. hÖ thèng chu tr×nh c¬ b¶n t­¬ng øng víi rõng bao trïm hoµn toµn F
cña ®å thÞ G lµ tËp hîp nh÷ng ®­êng chu tr×nh c¬ b¶n cña G t­¬ng øng víi F.

Quan hÖ gi÷a Chu tr×nh vµ l¸t c¾t-c¹nh


MÖnh ®Ò 5.5. S lµ tËp hîp c¸c c¹nh trong ®å thÞ liªn th«ng G . Khi ®ã S lµ mét l¸t
Gi¶ sö

c¾t-c¹nh cña G khi vµ chØ khi víi mäi c©y bao trïm cña G cã Ýt nhÊt mét c¹nh cïng chung

víi S.

Chøng minh. Theo mÖnh ®Ò 5.1, S lµ mét l¸t c¾t-c¹nh khi vµ chØ khi G − S kh«ng chøa
c©y bao trïm nµo cña G, nghÜa lµ mäi c©y bao trïm cña G cã Ýt nhÊt mét c¹nh trong

phÇn chung cña S. J


MÖnh ®Ò 5.6. Gi¶ sö C lµ tËp hîp c¸c c¹nh trong ®å thÞ liªn th«ng G . Khi ®ã C tao ra mét
chu tr×nh khi vµ chØ khi phÇn bï t­¬ng ®èi cña mäi c©y bao trïm cña G cã Ýt nhÊt mét

c¹nh trong trong phÇn chung víi C.

Chøng minh. Theo mÖnh ®Ò 5.2 tËp hîp c¹nh C t¹o ra chu tr×nh khi vµ chØ khi C
kh«ng chøa bÊt cø c©y bao trïm nµo cña G , nghÜa lµ phÇn bï t­¬ng ®èi cña mäi c©y

bao trïm G cã Ýt nhÊt mét c¹nh chung víi C . J


MÖnh ®Ò 5.7. Mét chu tr×nh vµ l¸t c¾t-c¹nh nhá nhÊt cña mét ®å thÞ liªn th«ng cã sè ch½n

c¹nh chung nhau.

Chøng minh. Gi¶ sö C lµ chu tr×nh vµ S lµ l¸t c¾t-c¹nh nhá nhÊt cña ®å thÞ liªn th«ng

G. Gi¶ sö V1 vµ V2 lµ hai tËp ®Ønh cña hai thµnh phÇn G1 vµ G2 cña G − S. Khi ®ã

mçi c¹nh cña S nèi víi mét ®Ønh trong V1 tíi mét ®Ønh trong V2 . B©y giê ta xÐt viÖc

duyÖt c¸c c¹nh cña chu tr×nh C. Kh«ng mÊt tÝnh tæng qu¸t, ta gi¶ sö viÖc duyÖt b¾t

®Çu tõ mét ®Ønh trong V1 . Khi ®ã mçi lÇn duyÖt dïng c¹nh trong S b»ng di chuyÓn

tõV1 sang V2 , nã ph¶i quay trë l¹i V1 b»ng c¹nh kh¸c cña S. §iÒu ®ã chØ cã kh¶ n¨ng

nÕu C vµ S cã sè ch½n c¹nh chung nhau. J


KÕt thóc bµi nµy quay l¹i bµi to¸n 7 chiÕc cÇu ë Konigsberg, mµ Euler ®· gi¶i tõ

n¨m 1736.

Chu tr×nh Euler trong ®å thÞ lµ mét ®­êng mßn ®ãng chøa mäi c¹nh cña ®å thÞ.

§å thÞ Euler lµ mét ®å thÞ cã chøa mét chu tr×nh Euler.


5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 68

§Þnh lý 5.1 (§Æc tr­ng cña ®å thÞ Euler). C¸c mÖnh ®Ò sau ®©y t­¬ng ®­¬ng nhau víi

®å thÞ liªn th«ng G.


1. G lµ ®å thÞ Euler;

2. BËc cña mäi ®Ønh trong G lµ ch½n;

3. G lµ hîp cña c¸c chu tr×nh c¹nh th¸o dêi.

Chøng minh. (1 ⇒ 2): Gi¶ sö C lµ chu tr×nh Euler cña G vµ V lµ ®Ønh b¾t ®Çu mét

®­êng duyÖt nµo ®ã cña C. C¹nh khëi ®Çu vµ c¹nh kÕt thóc cña ®­êng ®i ®­îc ph©n

bæ thµnh hai bËc cña V vµ mçi lÇn duyÖt ®i qua mét ®Ønh còng ®ãng gãp hai bËc

cho ®Ønh. Nh­ vËy tån t¹i sè ch½n c¹nh ®i qua t­¬ng øng víi mçi ®Ønh vµ v× mçi

c¹nh cña G ®i qua ®óng mét lÇn, sè nµy lµ bËc cña ®Ønh nµy.

(2 ⇒ 3): V× G lµ liªn th«ng vµ mçi ®Ønh cã sè ch½n bËc, G kh«ng thÓ lµ c©y vµ

do ®ã nã chøa chu tr×nh, kÝ hiÖu ®ã lµ C1 . NÕu C1 bao gåm tÊt c¶ c¸c c¹nh cña G ,

th× G = C1 vµ kh¼ng ®Þnh 3) ®­îc chøng minh. Ng­îc l¹i, ®å thÞ G1 = G − EC1 cã Ýt

nhÊt mét thµnh phÇn kh«ng tÇm th­êng. H¬n n÷a v× c¸c c¹nh ®­îc bá ®i tõ G t¹o

ra mét chu tr×nh, bËc trong G1 cña mçi ®Ønh trong C1 ®­îc quy vÒ 2 vµ do ®ã mäi

®Ønh cña G1 vÉn cßn lµ sè ch½n. Nh­ vËy, c¸c ®Ønh cña G1 v©n cßn lµ bËc sè ch½n vµ

G1 chøa chu tr×nh C2 . NÕu tÊt c¶ c¸c c¹nh ®· ®­îc lÊy hÕt, th× G = C1 ∪C2 . Ng­îc
l¹i, ta xÐt G2 = G − EC1 − EC2 vµ tiÕp tôc quy tr×nh trªn tíi khi tÊt c¶ c¸c c¹nh ®­îc

vÐt hÕt. NÕu Cn lµ chu tr×nh nhËn ®­îc ë b­íc cuèi cïng, th× G = C1 ∪C2 ∪ · · · ∪Cn ,

®ã lµ ®iÒu ph¶i chøng minh 2) suy ra 3).

(3 ⇒ 1): Gi¶ sö G lµ hîp cña c¸c c¹nh chu tr×nh dêi nhau vµ T ∗ lµ ®­êng mßn ®ãng
trong G víi ®é dµi lín nhÊt. Theo ®Þnh lÝ ch­¬ng 1, T
∗ lµ hîp cña c¸c chu tr×nh dêi

nhau. NÕu T
∗ kh«ng bao gåm tÊt c¶ chu tr×nh cña G , th× tån t¹i mét chu tr×nh,

kÝ hiÖu ®ã lµ C , mµ nã kh«ng ph¶i mét phÇn cña T . V× G lµ liªn th«ng, tån t¹i Ýt

nhÊt mét ®Ønh V sao cho nã n»m trong c¶ hai T


∗ vµ C . Nh­ng khi ®ã tån t¹i mét

®­êng mßn ®ãng nhËn ®­îc b»ng c¸ch ®i qua T


∗ tíi V vµ sau ®ã l¹i ®i hÕt C quay vÒ

V , vËy ®­êng duyÖt nµy lµ mét phÇn cña T ∗ . Nh­ng ®­êng mßn ®ãng nµy cã ®é dµi

h¬n ®­êng dµi nhÊt trong T , ®iÒu nµy v« lÝ. Do ®ã T
∗ bao gåm tÊt c¶ c¸c chu tr×nh,

nªn T
∗ lad ®­êng mßn Euler. J
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh

Ta nh¾c l¹i mét sè ®Þnh nghÜa:

Mét l¸t c¾t-®Ønh trong ®å thÞ G lµ mét tËp hîp ®Ønh U sao cho ®å thÞ G −U cã

nhiÒu thµnh phÇn h¬n G.


Mét ®Ønh-c¾t trong ®å thÞ G lµ mét l¸t c¾t-®Ønh chØ cã mét ®Ønh.

Mét l¸t c¾t-c¹nh trong ®å thÞ G lµ mét tËp hîp c¸c c¹nh D sao cho ®å thÞ G −D
cã nhiÒu thµnh phÇn h¬n G .
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 69

§Þnh nghÜa 5.7. §Ønh liªn th«ng cña mét ®å thÞ liªn th«ng, kÝ hiÖu lµ κv (G), lµ sè

®Ønh Ýt nhÊt bá ®i lµm G mÊt tÝnh liªn th«ng hoÆc quy nã vÒ ®å thÞ mét ®Ønh.

Nh­ vËy, nÕu G cã Ýt nhÊt mét cÆp ®Ønh kh«ng kÒ nhau th× κv (G) lµ cì cña l¸t

c¾t-®Ønh nhá nhÊt.

§Þnh nghÜa 5.8. Mét ®å thÞ G k-liªn th«ng, nÕu G liªn th«ng vµ κv (G) ≥ k.
gäi lµ NÕu

G cã tÊt c¶ c¸c ®Ønh kh«ng kÒ nhau, th× G lµ k -liªn th«ng nÕu mäi l¸t c¾t-®Ønh cã

Ýt nhÊt k ®Ønh.

§Þnh nghÜa 5.9. C¹nh-liªn th«ng cña mét ®å thÞ liªn th«ng, kÝ hiÖu κe (G), lµ sè c¹nh

nhá nhÊt bá ®i lµm mÊt tÝnh liªn th«ng cña G.

Nh­ vËy, nÕu G lµ ®å thÞ liªn th«ng c¹nh, th× c¹nh-liªn th«ng κe (G) lµ cì cña l¸t

c¾t-c¹nh nhá nhÊt.

§Þnh nghÜa 5.10. §å thÞ G lµ k-c¹nh liªn th«ng nÕu G liªn th«ng vµ mäi l¸t c¾t-c¹nh

cã Ýt nhÊt k c¹nh (nghÜa lµ κe (G) ≥ k).

VÝ dô 5.1. H×nh 5.1 vÏ ®å thÞ G, tËp hîp ®Ønh {X ,Y } lµ mét trong ba l¸t c¾t-®Ønh

gåm hai phÇn tö kh¸c nhau vµ dÔ thÊy kh«ng cã ®Ønh-c¾t nµo. Nh­ vËy κv (G) = 2.
TËp hîp c¹nh {a, b, c} lµ tËp hîp duy nhÊt 3 phÇn tö cña l¸t c¾t-c¹nh cña ®å thÞ

G vµ kh«ng tån t¹i l¸t c¾t-c¹nh nµo cã sè c¹nh Ýt h¬n. Do ®ã κe (G) = 3.

X V
a
b
Y c W
H×nh 5.1 §å thÞ G víi κv (G) = 2 vµ κe (G) = 3

§é ®o liªn th«ng κv vµ κe dïng cho m« h×nh x¸c ®Þnh kh¶ n¨ng m¹ng ho¹t ®éng

hiÖn thêi, qua nã cho biÕt dung l­îng cßn l¹i liªn th«ng gi÷a c¸c nót cña nã sau khi

mét sè c¹nh hoÆc mét sè nót ®­îc bá ®i.

MÖnh ®Ò 5.8. Gi¶ sö G lµ mét ®å thÞ. Khi ®ã c¹nh liªn th«ng κe (G) nhá h¬n hoÆc b»ng
bËc nhá nhÊt cña ®å thÞ δmin (G).

Chøng minh. Gi¶ sö V lµ mét ®Ønh cña ®å thÞ G víi bËc k = δmin (G). Khi ®ã bá k c¹nh

cã mét ®Çu cuèi lµ ®Ønh V sÏ t¸ch V khái c¸c ®Ønh cßn l¹i cña G . J
MÖnh ®Ò 5.9. §å thÞ G lµ k-c¹nh liªn th«ng khi vµ chØ khi mäi l¸t c¾t-ph©n ho¹ch chøa Ýt
nhÊt k c¹nh.
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 70

Chøng minh. §iÒu kiÖn cÇn: Gi¶ sö G lµ k-c¹nh liªn th«ng. Khi ®ã mäi l¸t c¾t ph©n

ho¹ch cña G cã Ýt nhÊt k- c¹nh, v× l¸t c¾t ph©n ho¹ch lµ mét l¸t c¾t c¹nh.

§iÒu kiÖn ®ñ: Gi¶ sö víi mäi l¸t c¾t ph©n ho¹ch chøa Ýt nhÊt k-c¹nh. Theo mÖnh

®Ò 5.4, mäi l¸t c¾t c¹nh nhá nhÊt lµ l¸t c¾t ph©n ho¹ch. Do vËy, mäi l¸t c¾t c¹nh chøa

Ýt nhÊt k c¹nh. J
5.2.1. Quan hÖ gi÷a liªn th«ng ®Ønh vµ liªn th«ng c¹nh

MÖnh ®Ò 5.10. e lµ mét c¹nh bÊt k× cña k-liªn th«ng ®å thÞ G


Gi¶ sö víi k ≥ 3. Khi ®ã ®å
thÞ con bá c¹nh nµy G − e lµ mét (k − 1)- liªn th«ng.

Chøng minh. Gi¶ sö W = {W1 ,W2 , ...,Wk−2 lµ tËp bÊt k× gåm k − 2 ®Ønh trong G − e vµ
cho hai ®Ønh bÊt k× X vµ Y kh¸c nhau trong (G − e) −W . Ta cÇn chØ ra r»ng tån t¹i
X −Y ®­êng ®i trong (G − e) −W .

Tr­íc tiªn ta gi¶ sö mét trong nh÷ng ®iÓm cuèi cña W . V× ®å thÞ cone n»m trong

bá ®Ønh G − W lµ liªn th«ng, nªn tån t¹i X − Y ®­êng dÉn trong G − W . §­êng dÉn

nµy kh«ng thÓ chøa c¹nh e vµ do ®ã nã lµ ®­êng dÉn trong (G − e) −W .

TiÕp theo ta gi¶ sö kh«ng cã ®iÓm cuèi nµo cña c¹nh e trong tËp W. Khi ®ã sÏ cã

hai tr­êng hîp x¶y ra:

Tr­êng hîp 1: C¸c ®Ønh X vµ Y G cã


lµ c¸c ®iÓm cuèi cña c¹nh e. §å thÞ

Ýt nhÊt k + 1 ®Ønh (v× G lµ k -liªn th«ng). Do ®ã tån t¹i ®Ønh nµo ®ã Z ∈ G −

{W1 ,W2 , ...,Wk−2 , X ,Y }.Tõ ®å thÞ G lµ k-liªn th«ng, nªn tån t¹i X − Z ®­êng ®i P1 trong
®å thÞ con ®· xãa ®Ønh G − {W1 ,W2 , ...,Wk−2 ,Y } vµ Z − Y ®­êng dÉn P2 trong ®å thÞ

con G − {W1 ,W2 , ...,Wk−2 ,Y } (h×nh 5.2). Kh«ng mét ®­êng dÉn nµo chøa c¹nh e vµ do

®ã khi gi¸p l¹i víi nhau thµnh X −Y ®­êng ®i trong ®å thÞ con G − {W1 ,W2 , ...,Wk−2 ,Y }

W2 W2
W1 Wk−2 W1 Wk−2

X e X e
Y Y

P2 U P2
P1 e
Z
H×nh 5.2 Tån t¹i X −Y ®­êng ®i trong (G − e) − {W1 ,W2 , ...,Wk−2 }

X vµ Y kh«ng lµ ®iÓm cuèi cña c¹nh


Tr­êng hîp 2: Cã Ýt nhÊt mét trong c¸c ®Ønh

e, cho X kh«ng ph¶i lµ ®iÓm cuèi cña e. Gi¶ sö U lµ ®iÓm cuèi cña e mµ nã kh¸c ®Ønh
Y . Tõ ®å thÞ G lµ k liªn th«ng, ®å thÞ con G − {W1 ,W2 , ...,Wk−2 ,U } liªn th«ng. Do ®ã
tån t¹i X −Y ®­êng dÉn P trong ®å thÞ con G − {W1 ,W2 , ...,Wk−2 ,U } (h×nh 5.2). Suy ra
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 71

P lµ X −Y G − {W1 ,W2 , ...,Wk−2 } mµ nã kh«ng chøa ®Ønh U vµ


®­êng dÉn trong do ®ã

lo¹i trõ c¹nh e (ThËm chÝ nÕu P chøa ®iÓm cuèi kh¸c cña e, nã cã thÓ x¶y ra). Do

®ã P lµ X −Y ®­êng dÉn trong (G − e) − {W1 ,W2 , ...,Wk−2 } J


HÖ qu¶ 5.1. Cho G lµ k-liªn D tËp hîp m
th«ng ®å thÞ vµ cho c¹nh bÊt k× cña G víi

m ≤ k − 1. Khi ®ã ®å thÞ con xãa c¹nh G − D lµ k − m-liªn th«ng.

Chøng minh. KÕt qu¶ suy ra tõ ¸p dông lÆp l¹i nhiÒu lÇn mÖnh ®Ò 5.10. J
HÖ qu¶ 5.2. Gi¶ sö G lµ ®å thÞ liªn th«ng. Khi ®ã κe (G ) ≥ κv (G )

Chøng minh. Gi¶ sö k = κv (G ) vµ cho mét tËp hîp k − 1 c¹nh bÊt k× trong G . Tõ G
lµ k -liªn th«ng, ®å thÞ G − S lµ 1-liªn th«ng theo hÖ qu¶ trªn. Do ®ã tËp hîp c¸c c¹nh

S kh«ng lµ l¸t c¾t c¹nh cña ®å thÞ G , ®iÒu nµy kÐo theo κe (G ) ≥ k. J
HÖ qu¶ 5.3. Cho G lµ ®å thÞ liªn th«ng. Khi ®ã κv (G ) ≤ κe (G ) ≤ δmin (G ).

Chøng minh. HÖ qu¶ suy ra tõ MÖnh ®Ò 5.8 vµ hÖ qu¶ trªn. J


5.2.2. §­êng dÉn t¸ch dêi bªn trong vµ liªn th«ng ®Ønh

Ta dïng mét sè thuËt ng÷ sau: Mét ®Ønh cña ®­êng dÉn P lµ ®Ønh trong cña P
nÕu nã kh«ng lµ ®iÓm ®Çu vµ còng kh«ng lµ ®iÓm cuèi cña ®­êng dÉn nµy.

§Þnh nghÜa 5.11. Gi¶ sö U vµ V lµ hai ®Ønh trong ®å thÞ G. TËp hîp c¸c UV ®­êng

dÉn trong G ®­îc gäi lµ t¸ch rêi bªn trong nÕu mäi hai ®­êng dÉn trong tËp hîp

kh«ng cã ®Ønh trong chung.

§Þnh lý 5.2 (Whitney 1932) . Gi¶ sö G lµ ®å thÞ liªn th«ng víi ba hoÆc nhiÒu ®Ønh h¬n.

Khi ®ã G lµ 2- liªn th«ng khi vµ chØ khi víi mçi cÆp ®Ønh trong G , tån t¹i hai ®­êng t¸ch
rêi trong gi÷ chóng.

Chøng minh. 1. Ta chøng minh ®iÒu kiÖn ®ñ: B»ng ph¶n chøng, gi¶ sö ®å thÞ G
kh«ng lµ 2-liªn th«ng. Khi ®ã cho V G −V kh«ng liªn th«ng,
lµ ®Ønh c¾t cña G. VËy tõ

nªn ph¶i tån t¹i hai ®Ønh X vµ Y sao cho kh«ng tån t¹i ®­êng dÉn X −Y trong G −V .

Suy ra V lµ ®Ønh trong cña mäi X −Y ®­êng dÉn trong G .

2. Gi¶ sö ®å thÞ G lµ hai liªn th«ng, vµ cho X vµ Y lµ hai ®Ønh bÊt k× trong G. Ta

dïng ph­¬ng ph¸p quy n¹p theo ®é dµi d(X ,Y ) chøng minh tån t¹i Ýt nhÊt hai ®­êng

dÉn X − Y t¸ch nhau trong G . NÕu tån t¹i mét c¹nh e nèi ®Ønh X vµ Y (nghÜa lµ
d(X ,Y ) = 1), khi ®ã ®å thÞ con xãa c¹nh G − e lµ liªn th«ng, theo hÖ qu¶ ??. Nh­ vËy,
tån t¹i X − Y ®­êng dÉn P trong G − e. Suy ra ®­êng dÉn P vµ c¹nh e lµ hai X − Y

®­êng dÉn t¸ch trong G .

k ≥ 2 kh¼ng
TiÕp tôc gi¶ thiÕt quy n¹p víi ®Þnh ®óng víi mäi cÆp ®Ønh mµ

kho¶ng c¸ch theo tõng ®o¹n nhá h¬n k . Gi¶ sö X vµ Y lµ c¸c ®Ønh sao cho kho¶ng c¸ch
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 72

d(X ,Y ) = k vµ ta xÐt X −Y ®­êng dÉn cã ®é dµi k. Gi¶ sö W lµ ®Ønh ngay tr­íc ®Ønh
Y trªn ®­êng dÉn nµy vµ gi¶ sö e lµ c¹nh gi÷a ®Ønh W vµ Y . V× d(X ,W ) < k, theo gi¶
thiÕt quy n¹p kÐo theo tån t¹i hai X − W ®­êng dÉn t¸ch nhau trong G , ta gäi ®ã lµ

P vµ Q. Còng nh­ vËy v× G lµ 2-liªn th«ng, tån t¹i X − Y ®­êng dÉn R trong G mµ
kh«ng ®i qua ®Ønh W . §iÒu nµy cã thÓ xem h×nh5.3 víi hai kh¶ n¨ng cho ®­êng dÉn

Q: HoÆc lµ nã chøa ®Ønh Y (h×nh bªn ph¶i) hoÆc nã kh«ng (h×nh bªn tr¸i). gi¶ sö

R P R
P Z Z

Q P Y X P Y
X e
e
R R W
W
Q
H×nh 5.3 Chøng minh ®Þnh lÝ Whitney

Z lµ ®Ønh cuèi cïng cña R mµ nã ë tr­íc Y vµ còng nh­ vËy trªn mét trong c¸c ®­êng

dÉn P vµQ (Z X ). Gi¶ sö kh«ng mÊt tÝnh tæng qu¸t sao cho Z trªn
cã thÓ lµ ®Ønh

®­êng Khi ®ã G cã hai X − Y ®­êng dÉn t¸ch nhau. Mét ®­êng dÉn nµy g¾n
dÉn P.

víi ®­êng dÉn con cña P tõ X ®Õn Z víi ®­êng dÉn con R tõ Z tíi Y . NÕu ®Ønh Y

kh«ng n»m trªn ®­êng Q th× ®­êng dÉn X −Y thø hai t¸ch trong víi ®­êng ®Çu tiªn,

lµ sù gÐp nèi ®­êng dÉn Q víi c¹nh nèi c¹nh cña ®Ønh W vµ ®Ønh Y . NÕu Y n»m

trªn ®­êng Q, th× ®å thÞ con cña Q tõ X ®Õn Y cã thÓ dïng lµm ®­êng dÉn thø hai.

J
HÖ qu¶ 5.4. G
Gi¶ sö lµ ®å thÞ cã Ýt nhÊt ba ®Ønh. Khi ®ã G lµ 2-liªn th«ng khi vµ chØ khi
hai ®Ønh bÊt k× cña G n»m trªn mét chu tr×nh chung.

Chøng minh. MÖnh ®Ò suy ra tõ ®Þnh lÝ 5.2, v× hai ®Ønh X vµ Y n»m trªn chu tr×nh

chung khi vµ chØ khi tån t¹i hai X −Y ®­êng dÉn t¸ch trong. J
§Æc tr­ng cña 2-liªn th«ng ®å thÞ ta tæng kÕt l¹i nh­ sau:

§Þnh lý 5.3. Gi¶ sö G lµ ®å thÞ liªn th«ng cã Ýt nhÊt ba ®Ønh. Khi ®ã c¸c mÖnh ®Ò sau ®©y

t­¬ng ®­¬ng.

1. §å thÞ G lµ 2-liªn th«ng;

2. Víi hai ®Ønh bÊt k× cña G , tån t¹i chu tr×nh chøa c¶ hai ®Ønh nµy;

3. Víi mét ®Ønh vµ mét c¹nh bÊt k× cña G , tån t¹i chu tr×nh chøa c¶ hai;

4. Víi hai c¹nh bÊt k× cña G , tån t¹i mét chu tr×nh chøa c¶ hai;
5.3. §å thÞ Euler 73

5. Víi hai ®Ønh bÊt k× vµ mét c¹nh cña G , tån t¹i ®­êng dÉn chøa c¶ ba;

6. Víi ba ®Ønh bÊt k× kh¸c nhau cña G , tån t¹i ®­êng dÉn chøa c¶ ba;

7. Víi ba ®Ønh bÊt k× kh¸c nhau cña G , tån t¹i ®­êng dÉn chøa hai ®Ønh bÊt k× trong
chóng, mµ nã l¹i kh«ng chøa ®Ønh thø ba.

5.3. §å thÞ Euler

5.3.1. Hµnh tr×nh Euler

Ta nh¾c l¹i mét sè khai niÖm ë ch­¬ng 1.

1. §­êng Euler trong mét ®å thÞ lµ mét ®­êng mßn mµ nã chøa tÊt c¶ c¸c c¹nh

cña ®å thÞ nµy.

2. Hµnh tr×nh Euler lµ mét ®­êng Euler khÐp kÝn.

3. §å thÞ Euler lµ mét ®å thÞ mµ nã cã chu tr×nh Euler.

Bµi to¸n b¶y chiÕc cÇu cña thµnh phè Konigsberg víi hµnh tr×nh ®i qua c¸c ®Ønh

mét lÇn ®· chøng minh kh«ng tån t¹i. Nguyªn nh©n chÝnh cña bµi to¸n kh«ng cã

hµnh tr×nh Euler lµ c¸c ®Ønh ®Òu cã bËc lÎ.

A
D

B
H×nh 5.4 §å thÞ bµi to¸n b¶y cÇu cña thµnh phè Konigsberg

Ng­êi ta ®· chøng minh ®­îc r»ng ®å thÞ cã tÊt c¶ c¸c ®Ønh bËc lµ ch½n th× tån

t¹i hµnh tr×nh Euler.

ThuËt to¸n ®Ó t×m hµnh tr×nh Euler ®­îc t×m ra tõ n¨m 1873 do Hierholzer.

ThuËt to¸n ®­îc x©y dùng víi tÊt c¶ c¸c c¹nh ®Òu ch½n nh­ sau:

Chó ý: Ta cã thÓ söa ®æi thuËt to¸n t×m theo chiÒu s©u ®Ó x©y dùng ®­êng ®ãng

c¸c c¹nh ch­a dïng.

VÝ dô 5.2. §iÒu quan träng cña thuËt to¸n lµ më réng nh÷ng ®­êng mßn ®ãng b»ng

ghÐp nèi ®­êng ®ãng thø hai. Ta xÐt hai ®­êng ®ãng T =< t1 ,t2 ,t3 ,t4 > vµ D =<
d1 , d2 , d3 > nh­ trong h×nh 5.5.

Khi ®ã T 0 =< t1 ,t2 ,t3 , d − 1, d2 , d3 ,t3 ,t4 >;


5.3. §å thÞ Euler 74

ThuËt to¸n 5.1 X©y dùng chu tr×nh Euler


procedure CycleEuler
§Çu vµo: §å thÞ liªn th«ng G víi tÊt c¶ c¸c ®Ønh bËc ch½n.
§Çu ra: Hµnh tr×nh Euler T.
1: B¾t ®Çu tõ ®Ønh bÊt k× V, khëi t¹o chu tr×nh ®ãng T cña G;
2: while <Tån t¹i nh÷ng c¹nh cña G ch­a thuéc T> do
3: Chän ®Ønh bÊt k× W ∈T mµ nã g¾n víi c¹nh kh«ng thuéc T;
4: B¾t ®Çu tõ W, x©y dùng ®­êng trong D cña c¸c c¹nh kh«ng thuéc T;
5: nèi dµi T b»ng ghÐp víi ®­êng D thµnh T t¹i ®Ønh W;
6: end while
7: returnT ;
end CycleEuler

t2 W
t1 d1
t3
V d3
e1
e2
t4 d2
e3
H×nh 5.5 ThuËt to¸n Euler

B­íc lÆp tiÕp theo gÐp nèi víi < e1 , e2 , e3 > víi T0 vµ cho ra kÕt qu¶ chu tr×nh

Euler cña toµn ®å thÞ.

5.3.2. §­êng Euler më

Mét sè øng dông ®ßi hái hµnh tr×nh Euler më, nghÜa lµ hµnh tr×nh kh«ng kÕt

thóc t¹i ®iÓm xuÊt ph¸t.

§Þnh lý 5.4. §å thÞ liªn th«ng G cã ®­êng Euler më khi vµ chØ khi nã cã ®óng hai ®Ønh

bËc lÎ. H¬n n÷a, ®Ønh ®Çu vµ ®Ønh kÕt thóc cña ®­êng Euler më ph¶i lµ hai ®Ønh cña bËc

lÎ.

Chøng minh. §iÒu kiÖn cÇn: Gi¶ sö < X , e1 ,V1 , e2 , ..., em ,Y > lµ ®­êng Euler më trong
G . Ta thªm c¹nh míi e nèi X vµ Y t¹o ra ®å thÞ míi G ∗ = G + e víi hµnh tr×nh Euler
< X , e1 ,V1 , e2 , ..., em ,Y, e, X >. Theo ®Þnh lÝ 5.1 (ch­¬ng tr­íc) bËc cña mäi ®Ønh trong

®å thÞ Euler lµ ch½n. Nh­ vËy, bËc trong ®å thÞ G cña mäi ®Ønh lµ ch½n trõ ®Ønh X
vµ Y.
§iÒu kiÖn ®ñ: Gi¶ sö X vµ Y lµ hai ®Ønh cã bËc lÎ duy nhÊt trong G. NÕu e lµ

mét c¹nh míi nèi X vµ Y, th× tÊt c¶ c¸c ®Ønh cña ®å thÞ võa t¹o ra lµ G∗ cã bËc ch½n.

Suy ra theo ®Þnh lÝ 5.1 ®å thÞ G∗ cã chu tr×nh Euler T. Do ®ã ®­êng mßn T − e b»ng
5.4. §­êng dÉn vµ chu tr×nh Hamilton 75

c¸ch bá e trong T lµ mét ®­êng mßn më cña G∗−e = G. J


5.3.3. §­êng Euler trong ®å thÞ ®Þnh h­íng

ThuËt ng÷ vÒ ®­êng Euler trong ®å thÞ ®Þnh h­íng lµ ®­êng mßn cã h­íng. C¸c

®Æc tr­ng cña ®å thÞ cho hµnh tr×nh Euler vµ ®­êng Euler më vÉn cßn ®óng trong

®å thÞ ®Þnh h­íng cßn ®óng víi c¸c ®­êng ®Þnh h­íng nµy. Ta ph¸t biÓu c¸c ®Þnh

lÝ cho ®å thÞ ®Þnh h­íng, cßn chøng minh th× hoµn toµn t­¬ng tù.

§Þnh lý 5.5 (§Æc tr­ng cña ®å thÞ Euler ®Þnh h­íng). Nh÷ng mÖnh ®Ò sau ®©y t­¬ng

®­¬ng trong ®å thÞ ®Þnh h­íng liªn th«ng D:


1. §å thÞ ®Þnh h­íng D lµ Euler;

2. Víi mäi ®Ønh V cña D , bËc vµo cña V b»ng bËc ra cña V;
3. §å thÞ ®Þnh h­íng D lµ hîp cña chu tr×nh ®Þnh h­íng c¹nh t¸ch nhau.

§Þnh lý 5.6. §å thÞ ®Þnh h­íng liªn th«ng D cã ®­êng Euler më tõ ®Ønh X tíi ®Ønh Y
khi vµ chØ khi indegree(X ) + 1 = outdegree(X ), indegree(Y ) = outdegree(Y ) + 1 vµ tÊt c¶ c¸c

®Ønh trõ X vµ Y cã bËc vµo vµ bËc ra b»ng nhau.

5.4. §­êng dÉn vµ chu tr×nh Hamilton

§Þnh nghÜa 5.12. §­êng dÉn (chu tr×nh) Hamilton cña mét ®å thÞ lµ mét ®­êng dÉn

(chu tr×nh) mµ nã chøa tÊt c¶ c¸c ®Ønh. Trong tr­êng hîp ®å thÞ ®Þnh h­íng th×

c¸c ®­êng dÉn (chu tr×nh) Hamilton lµ c¸c ®­êng ®Þnh h­íng.

§Þnh nghÜa 5.13. §å thÞ Hamilton lµ ®å thÞ mµ nã cã chu tr×nh Hamilton.

W. R. Hamilton (1805-1865) lµ mét nhµ to¸n häc ng­êi AÝ NhÜ Lan vµ lµ mét trong

nh÷ng ng­êi ®Æt nÒn mãng cho lÝ thuyÕt ®å thÞ.

5.4.1. Quy t¾c chØ ra ®å thÞ kh«ng ph¶i lµ ®å thÞ Hamilton

C¸c quy t¾c sau ®©y nh­ c¸c ®Þnh lÝ lµ c¬ së chØ ra r»ng mäi chu tr×nh Hamilton

ph¶i chøa ®óng hai c¹nh g¾n liÒn víi mçi ®Ønh.

Quy t¾c 1: NÕu ®Ønh V cã bËc 2, th× c¶ hai c¹nh g¾n víi nã ph¶i lµ mét phÇn cña

chu tr×nh Hamilton bÊt k×.

Quy t¾c 2: Trong qu¸ tr×nh x©y dùng chu tr×nh Hamilton, kh«ng cã chu tr×nh cã

thÓ t¹o thµnh cho tíi khi tÊt c¶ c¸c ®Ønh ®· ®­îc ghÐ qua.

Quy t¾c 3: NÕu trong qu¸ tr×nh x©y dùng chu tr×nh Hamilton hai trong sè c¸c

c¹nh g¾n liÒn víi 1 ®Ønh V ®­îc chØ ra, th× tÊt c¶ c¸c c¹nh g¾n liÒn kh¸c cã thÓ bá

®i ®­îc.
5.4. §­êng dÉn vµ chu tr×nh Hamilton 76

V H

A
F G B

E D C
W X

H×nh 5.6 §å thÞ kh«ng lµ ®å thÞ Hamilton

VÝ dô 5.3. Chøng minh r»ng ®å thÞ d­íi ®©y kh«ng ph¶i lµ ®å thÞ Hamilton (h×nh

5.6)

Chøng minh. Quy t¾c 1 ¸p dông cho c¸c ®Ønh B, D, F BH, BC, DC, DE, EF
suy ra c¸c c¹nh

vµ FA ph¶i n»m trªn mäi chu tr×nh Hamilton. Theo nguyªn t¾c 3 ¸p dông cho ®Ønh C

vµ E lo¹i trõ c¸c c¹nh CG,CX , EG vµ EW . KÕt qu¶ cßn l¹i cña ®å thÞ l¹i sö dông quy

t¾c 1 suy ra c¸c c¹nh WV,V X vµ XW ph¶i n»m trªn mäi chu tr×nh Hamilton. Nh­ng

®iÒu ®ã t¹o ra mét 3-chu tr×nh, mµ nã v« lÝ víi quy t¾c 2. §iÒu ®ã kÐo theo tån t¹i

hai chu tr×nh con t¸ch biÖt, mµ nã l¹i tr¸i víi quy t¾c 2. J
VÝ dô 5.4. Chøng minh r»ng ®å thÞ sau kh«ng ph¶i lµ Hamilton (h×nh 5.7)

A B C

V W X

D E F

H×nh 5.7 §å thÞ kh«ng lµ ®å thÞ Hamilton

Chøng minh. Quy t¾c 1 ¸p dông cho V,W, X kÐo theo tÊt c¶ s¸u c¹nh ®øng ph¶i lµ mét

phÇn chu tr×nh Hamilton bÊt k×. Quy t¾c 1 vµ 3 ¸p dông cho ®Ønh B kÐo theo ®óng

mét trong c¸c c¹nh AB vµ BC lµ mét PhÇn cña chu tr×nh Hamilton. NÕu AB n»m trªn
chu tr×nh vµ BC kh«ng th× theo quy t¾c 3 ¸p dông cho ®Ønh A kÐo theo AC kh«ng

n»m trªn chu tr×nh. Nh­ng khi ®ã CX chØ lµ c¹nh trªn chu tr×nh nµy mµ nã g¾n liÒn

víi C. Nh­ vËy theo quy t¾c 1 kh«ng cã chu tr×nh tån t¹i trong tr­êng hîp nµy, v«

lÝ. Theo tÝnh ®èi xøng, t­¬ng tù cho kÕt qu¶ víi nÕu BC trªn chu tr×nh cßn AB th×

kh«ng. J
5.4. §­êng dÉn vµ chu tr×nh Hamilton 77

5.4.2. §iÒu kiÖn ®ñ cho ®å thÞ lµ Hamilton

§Þnh lý 5.7 (Ore, 1960). Cho G lµ mét ®å thÞ n ®Ønh ®¬n víi n ≥ 3 sao cho deg(X )+deg(Y ) ≥
n víi mäi cÆp hai ®Ønh X vµ Y kh«ng c¹nh nhau. Khi ®ã G lµ Hamilton.

Chøng minh. Ta chøng minh b»ng ph¶n chøng, gi¶ sö r»ng ®Þnh lÝ sai vµ cho G lµ ®å

thÞ lín nhÊt theo n cã thÓ mµ ®Þnh lÝ sai. NghÜa lµ G kh«ng cã ®­êng Hamilton vµ

vÉn tháa m·n c¸c ®iÒu kiÖn cña ®Þnh lÝ, vµ ta thªm mét c¹nh nèi hai ®Ønh kh«ng

kÒ nhau cña G t¹o thµnh mét ®å thÞ Hamilton.

Cho X vµ Y lµ hai ®Ønh kh«ng c¹nh nhau cña G (v× G kh«ng ®Çy ®ñ vµ n ≥ 3). §Ó

chøng minh cã ®iÒu v« lÝ, ta cÇn chØ ra deg(X ) + deg(Y ) ≤ n − 1 lµ ®ñ.


ThËt vËy, tõ ®å thÞ G +XY chøa chu tr×nh Hamilton, G chøa ®­êng dÉn Hamilton,
mµ c¸c ®iÓm cuèi cña nã lµ X vµ Y . §Æt < X = V1 ,V2 , ...,Vn = Y > lµ ®­êng dÉn (h×nh

5.8)

X = V1 Vn = Y

V2 Vn−1
Vi Vi+1
H×nh 5.8 §­êng dÉn Hamilton trong G

Víi mçii = 2, 3, ..., n − 1 Ýt nhÊt mét trong c¸c cÆp V1 ,Vi+1 vµ Vi ,Vn kh«ng kÒ nhau,
v× nÕu ng­îc l¹i th× V1 ,V2 , ...,Vi ,Vn ,Vn−1 , ...,Vi+1 ,V1 > sÏ lµ chu tr×nh Hamilton trong

G (h×nh 5.9).

X = V1 Vn = Y

V2 Vn−1
Vi Vi+1
H×nh 5.9 §­êng dÉn Hamilton trong G

§iÒu nµy nghÜa lµ nÕu (ai j ) lµ ma trËn kÒ cho G, th× a1,i+1 + ai,n ≤ 1 víi i=
5.5. Bµi tËp ch­¬ng V 78

2, 3, ..., n − 2. Nh­ vËy,

n−1 n−1
deg(X ) + deg(Y ) = ∑ a1,i + ∑ ai,n
i=2 i=2
n−1 n−2
= a1,2 + ∑ a1,i + ∑ ai,n + an−1,n
i=3 i=2
n−1 n−2
= 1 + ∑ a1,i + ∑ ai,n + 1
i=3 i=2
n−1
= 2 + ∑ (a1,i + ai,n )
i=3
≤ 2 + n − 3 = n − 1.

§iÒu nµy cÇn chøng minh nh­ chó ý trªn. J


n
HÖ qu¶ 5.5. Cho G lµ mét ®å thÞ n ®Ønh ®¬n víi n ≥ 3 sao cho deg(V ) ≥ víi mäi ®Ønh
2
V . Khi ®ã G lµ Hamilton.

Chó ý c¸c kÕt qu¶ trªn t­¬ng tù cho ®å thÞ ®Þnh h­íng.

5.5. Bµi tËp ch­¬ng V

1. HoÆc lµ vÏ ®­îc ®å thi sau hoÆc kh«ng vÏ ®­îc h·y gi¶i thÝch t¹i sao?

a) 6-®Ønh ®å thÞ G sao cho κv (G) = 2 vµ κe (G) = 2.


b) §å thÞ liªn th«ng cã 11 ®Ønh vµ 10 c¹nh vµ kh«ng cã c¸c ®Ønh c¾t.

2. H·y x¸c ®Þnh sè ®Ønh vµ c¹nh liªn th«ng cña ®å thÞ

a) §å thÞ hai phÇn ®Çy ®ñ K4,7 ;


b) §å thÞ khèi lËp ph­¬ng Q4 .

3. H·y cho vÝ dô ®å thÞ G tháa m·n c¸c ®iÒu kiÖn sau ®©y:

a) κv (G) = κe (G) = δmin (G);


b) κv (G) = κe (G) < δmin (G);
c) κv (G) < κe (G) = δmin (G);
d) κv (G) < κe (G) < δmin (G).

4. H·y x¸c ®Þnh ®å thÞ nµo sau ®©y lµ ®å thÞ Euler

a) §å thÞ ®Çy ®ñ Kn ;
b) §å thÞ ®Çy ®ñ hai phÇn Km,n ;
5.5. Bµi tËp ch­¬ng V 79

5. H·y vÏ ®å thÞ víi tÝnh chÊt ®· chØ ra hoÆc kh«ng vÏ ®­îc th× v× sao?

a) §å thÞ ®¬n 8 ®Ønh cã nhiÒu h¬n 8 c¹nh mµ nã ®ång thêi lµ Euler vµ Hamilton.

b) §å thÞ ®¬n 8 ®Ønh cã nhiÒu h¬n 8 c¹nh mµ nã lµ ®å thÞ Euler, nh­ng kh«ng

lµ ®å thÞ Hamilton.

c) §å thÞ ®¬n 8 ®Ønh cã nhiÒu h¬n 8 c¹nh mµ nã lµ ®å thÞ Hamilton, nh­ng

kh«ng lµ ®å thÞ Euler.

6. Chøng minh r»ng c¸c ®å thÞ sau ®©y cã chu tr×nh Hamilton hoÆc kh«ng ph¶i lµ

®å thÞ Hamilton.

A B C A B C

V W D F
E
E F G X Y
D
(a) (b)

B
A B
A C
D C D
F G I E
E J
N H
F
V Y G
X
M K
W
(d)
(c)
Ch­¬ng 6
§å thÞ ph¼ng

6.1. Ph¼ng hãa vµ kh«ng ph¼ng hãa . . . . . . . . . . . . . . . . . . . . . . . . 81


6.2. §å thÞ con kh«ng ph¼ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3. Më réng ®å thÞ ph¼ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.4. Bµi tËp ch­¬ng VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Trong ®å thÞ ng­êi ta cã kh¶ n¨ng vÏ c¸c c¹nh kh«ng giao nhau hoÆc giao nhau.

Hai c¹nh giao nhau trong ®å thÞ lµ vÏ hai c¹nh c¾t nhau t¹i mét ®iÓm nµo ®ã bªn

trong hai c¹nh ®ã. Trong bµi nµy ta xÐt c¸c ®å thÞ cã thÓ vÏ c¸c c¹nh kh«ng giao

nhau hoÆc cã thÓ vÏ giao nhau.

§Þnh nghÜa 6.1. PhÐp g¾n ®å thÞ G trªn mÆt ph¼ng S lµ viÖc vÏ ®å thÞ trªn S kh«ng

cã c¹nh nµo giao nhau. NghÜa lµ, ¶nh t­¬ng ®­¬ng t«p« i : G −→ S tõ m« h×nh t«p«

G vµo tËp hîp S.

§Þnh nghÜa 6.2. §å thÞ ph¼ng lµ ®å thÞ mµ nã cã mét phÐp g¾n vµo mÆt ph¼ng.

§Þnh nghÜa 6.3. §å thÞ cÇu lµ ®å thÞ mµ nã cã phÐp g¾n trªn mÆt cÇu.

MÖnh ®Ò 6.1. Mét ®å thÞ lµ ph¼ng khi vµ chØ khi nã lµ ®å thÞ cÇu.

Chøng minh mÖnh ®Ò nµy tõ phÐp chiÕu Rieman. Tõ mÖnh ®Ò nµy suy ra nghiªn

cøu ®å thÞ ph¼ng còng t­¬ng ®­¬ng nghiªn cøu ®å thÞ cÇu. Trong bµi nµy môc ®Ých

lµ nghiªn cøu ®å thÞ ph¼ng.

VÝ dô 6.1. §«i khi vÏ ®å thÞ chØ b»ng c¸ch thay ®æi ¶nh cña mét hay mét sè c¹nh cña

®å thÞ. Nh­ ®å thÞ ®Çy ®ñ

øng dông: Mét m¹ch ®iÖn ph¶i lµ mét ®å thÞ ph¼ng v× c¸c m¹ch ®iÖn trªn mét

mÆt kh«ng thÓ giao nhau. NÕu kh«ng thÓ tr¸nh c¾t nhau cña m¹ch ®iÖn th× ng­êi

ta thªm líp vµo m¹ch ®iÖn, nh­ng sè líp kh«ng ph¶i lµ bÊt k× mµ ph¶i lµ m¹ch ®iÖn

ph¼ng tr­íc råi míi ®Õn ph©n líp.


6.1. Ph¼ng hãa vµ kh«ng ph¼ng hãa 81

H×nh 6.1 Thay ®æi c¸ch vÏ c¹nh cña ®å thÞ

6.1. Ph¼ng hãa vµ kh«ng ph¼ng hãa

§Þnh lý 6.1. Gi¶ sö G lµ ®å thÞ ®¬n liªn th«ng bÊt k× víi phÐp nhóng i : G −→ S0 vµo

mÆt ph¼ng (hoÆc mÆt cÇu). Th×

|EG | ≤ 3|VG | − 6.

Chøng minh. §Þnh lÝ nµy cã dïng ph­¬ng tr×nh Euler cho ®a diÖn

|VG | − |EG | + |FG| = 2.


J
HÖ qu¶ 6.1. Gi¶ sö G lµ ®å thÞ liªn th«ng ®¬n sao cho

|EG | > 3|VG | − 6.


Th× ®å thÞ G kh«ng nhóng vµo mÆt cÇu hoÆc mÆt ph¼ng.

Chøng minh. B»ng ph¶n chøng ta thÊy ngay tr¸i víi ®Þnh lÝ 6.1. J
§Þnh lý 6.2. §å thÞ ®Çy ®ñ K5 kh«ng lµ ®å thÞ ph¼ng.

Chøng minh. V× 3|V | − 6 = 15 − 6 = 9 vµ |E| = 10. BÊt ®¼ng thøc |E| > 3|V | − 6 ®óng vµ

theo hÖ qu¶ 6.1. Suy ra K5 kh«ng ph¶i lµ ®å thÞ ph¼ng. J


MÖnh ®Ò 6.2. Gi¶ sö G lµ ®å thÞ ®¬n 8 ®Ønh bÊt k× víi |EG | ≥ 19. Khi ®ã ®å thÞ G kh«ng

nhóng ®­îc vµo mÆt cÇu hoÆc mÆt ph¼ng.

Chøng minh. Ta cã 3|VG | − 6 = 3.8 − 6 = 18, do gi¶ thiÕt |EG | ≥ 19 nªn |EG | > 3|VG | − 6.
Theo hÖ qu¶ 6.1, G kh«ng ph¼ng hãa ®­îc. J
§Þnh lý 6.3. Gi¶ sö G lµ ®å thÞ ®¬n, liªn th«ng, hai phÇn bÊt k× víi phÐp nhóng i : G → S0
vµo mÆt cÇu hoÆc mÆt ph¼ng. Khi ®ã

|EG | ≤ 2|VG | − 4.
6.2. §å thÞ con kh«ng ph¼ng 82

Chøng minh. (kh«ng tr×nh bµy trong tµi liÖu nµy) J


HÖ qu¶ 6.2. Cho G lµ ®å thÞ ®¬n, hai phÇn, liªn th«ng bÊt k× sao cho |EG | > 2|VG | − 4. Khi
®ã ®å thÞ G kh«ng nhóng ®­îc vµo mÆt cÇu hoÆc mÆt ph¼ng.

Chøng minh. Dïng ph­¬ng ph¸p ph¶n chøng vµ kÕt hîp víi ®Þnh lÝ 6.3. J
§Þnh lý 6.4. §å thÞ hai phÇn ®Çy ®ñ K3,3 lµ ®å thÞ kh«ng ph¼ng.

Chøng minh. V× 2|V | − 4 = 8 vµ |E| = 9, nªn bÊt ®¼ng thøc |E| > 2|V | − 4 ®óng. Theo

hÖ qu¶ suy ra ®å thÞ K3,3 kh«ng ph¼ng. J


Chó ý: §Þnh lÝ trªn chØ ®óng cho ®å thÞ ®¬n.

§Þnh nghÜa 6.4. §å thÞ ®Çy ®ñ K5 vµ ®å thÞ hai phÇn ®Çy ®ñ K3,3 ®­îc gäi chung lµ

®å thÞ Kuratowski.

6.2. §å thÞ con kh«ng ph¼ng

Sö dông c¸c ®Þnh lÝ ë phÇn tr­íc ta cã thÓ t×m ra mét sè ®å thÞ con kh«ng

ph¼ng, tõ ®ã suy ra ®å thÞ ban ®Çu kh«ng ph¼ng hãa ®­îc.

§Þnh lý 6.5. NÕu mét ®å thÞ chøa mét ®å thÞ con kh«ng ph¼ng, th× ®å thÞ ®ã còng kh«ng

ph¼ng.

Chøng minh. Gi¶ sö ®å thÞ ®· cho lµ vÏ ph¼ng ®­îc, vËy th× kh«ng cßn hai c¹nh nµo

giao nhau n÷a khi ta thùc hiÖn ph¼ng hãa. §iÒu nµy nghÜa lµ mäi ®å thÞ con lµ ®å

thÞ ph¼ng, ®iÒu nµy tr¸i víi gi¶ thiÕt nã chøa 1 ®å thÞ con kh«ng ph¼ng. J
VÝ dô 6.2. §å thÞ G = K7 − EK4 lµ ®å thÞ tõ K7 xãa ®i 6 c¹nh nèi víi 4 ®Ønh trong K7 .
V× |VG | = 7 vµ |EG | = 21 − 6 = 15. Suy ra

15 = |EG | ≤ 3|VG | − 6 = 15.

VËy c«ng thøc cã thÓ ph¼ng hãa ®­îc ë phÇn tr­íc kh«ng ¸p dông ®­îc cho G trong

tr­êng hîp nµy.

Tuy nhiªn, G = K7 = EK4 chøa ®å thÞ Kuratowski K3,3 nh­ h×nh 6.2.

1 3 5

0 2 4 6
H×nh 6.2 K7 − EK4 chøa K3,3
6.3. Më réng ®å thÞ ph¼ng 83

MÖnh ®Ò 6.3. PhÐp ph¼ng hãa bÊt biÕn víi phÐp ®ång cÊu.

MÖnh ®Ò 6.4. Gi¶ sö ®å thÞ G chøa ®å thÞ con H , mµ ®å thÞ con nµy ®¼ng cÊu víi ®å thÞ
kh«ng ph¼ng. Khi ®ã G còng kh«ng lµ ®å thÞ ph¼ng.

Tõ c¸c mÖnh ®Ò vµ ®Þnh lÝ ë phÇn nµy dÔ dµng x©y dùng ®­îc ®å thÞ kh«ng

ph¼ng hãa ®­îc b»ng c¸ch xuÊt ph¸t tõ c¸c ®å thÞ Kuratowski.

6.3. Më réng ®å thÞ ph¼ng

Muèn x©y dùng mét ®å thÞ ph¼ng ta còng xuÊt ph¸t tõ mét ®å thÞ con ph¼ng råi

thªm vµo c¸c thµnh phÇn c¹nh vµ ®Ønh sao cho vÉn cßn cã kh¶ n¨ng ph¼ng hãa ®­îc.

TiÕp tôc qu¸ tr×nh nh­ vËy ta ®­îc mét ®å thÞ ph¼ng hãa lín h¬n ®å thÞ ban ®Çu.

MÖnh ®Ò 6.5. §å thÞ ph¼ng G vÉn cßn lµ ®å thÞ ph¼ng nÕu ta thªm vµo c¹nh kÐp hoÆc

c¹nh vßng.

Chøng minh. Khi ®å thÞ ®· vÏ ph¼ng ®­îc råi th× khi ta thªm c¸c c¹nh vßng hoÆc

c¹nh béi th× ta cã thÓ vÏ ®­îc c¸c c¹nh ®ã s¸t víi ®Ønh hoÆc c¹nh ®· cã nh­ h×nh

6.3.

V V

e e

H×nh 6.3 Thªm c¹nh vßng vµ c¹nh béi vµo ®å thÞ ph¼ng

J
HÖ qu¶ 6.3. Mét ®å thÞ kh«ng ph¼ng vÉn cßn lµ kh«ng ph¼ng nÕu ta bá ®i c¹nh vßng

hoÆc bá ®i c¹nh béi cña nã.

MÖnh ®Ò 6.6. Mét ®å thÞ ph¼ng G vÉn cßn lµ ph¼ng nÕu c¹nh bÊt k× ®­îc chia ra thµnh

c¸c c¹nh míi hoÆc nÕu g¾n thªm c¹nh míi e vµo ®Ønh V ∈ VG (víi mét ®iÓm cuèi cßn l¹i

nh­ lµ mét ®Ønh míi cña ®å thÞ).

Chøng minh. DÔ thÊy r»ng khi chia c¹nh hoÆc g¾n thªm c¹nh ta cã thÓ vÏ c¸c c¹nh

míi kh«ng c¾t mét c¹nh nµo c¶ nh­ h×nh 6.4.

J
6.4. Bµi tËp ch­¬ng VI 84

e
V V

e
H×nh 6.4 Thªm c¹nh vµ chia c¹nh cña ®å thÞ ph¼ng

6.4. Bµi tËp ch­¬ng VI

1. Chøng minh r»ng c¸c ®å thÞ sau kh«ng ph¼ng hãa

a) K8 − 4K2 ;
b) K3,6 − 3K2 ;
c) K8 − K3,3 ;
d) K2 + Q3 .

2. HoÆc lµ vÏ ®å thÞ ph¼ng ®­îc ®å thÞ hoÆc kh«ng cã ®å thÞ ph¼ng hãa mang c¸c

tÝnh chÊt sau:

a) Mét ®å thÞ ®¬n cã 6 ®Ønh vµ 13 c¹nh;

b) Mét ®a ®å thÞ cã 6 ®Ønh vµ 13 c¹nh;

c) §å thÞ ®¬n hai phÇn cã 7 ®Ønh vµ 11 c¹nh;

d) §a ®å thÞ hai phÇn cã 7 ®Ønh vµ 11 c¹nh.

3. Chøng minh r»ng c¸c ®å thÞ sau ®©y tháa m·n bÊt ph­¬ng tr×nh ph¼ng hãa

|EG | ≤ 3|VG | − 6, nÕu kh«ng ®óng th× kh«ng ph¼ng hãa ®­îc:

a) K3,3 + K1 ;
b) K8 − (K5 ∪ K3 ).

4. Chøng minh r»ng c¸c ®å thÞ sau kh«ng ph¼ng hãa ®­îc

a) K8 − 4K2 ;
b) K3,6 − 3K2 ;
c) K8 − 2C4 ;
d) K8 − K3,3
6.4. Bµi tËp ch­¬ng VI 85

5. T×m ®å thÞ con trong ®å thÞ con Kuratowski trong ®å thÞ cho sau ®©y.

H×nh 6.5 H×nh 6.6

H×nh 6.7 H×nh 6.8


Ch­¬ng 7
T« mµu ®å thÞ

7.1. T« mµu ®Ønh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86


7.2. T« mµu b¶n ®å . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3. T« mµu c¹nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4. Bµi tËp ch­¬ng VII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

7.1. T« mµu ®Ønh

Mét c¸ch t« mµu ®å thÞ lµ g¸n cho c¸c ®Ønh c¸c mµu kh¸c nhau. Cã thÓ nãi c¸c

®Ønh t« cïng mµu xem nh­ mét ph©n ho¹ch trong kh¸i niÖm to¸n häc víi tËp ®Ønh

cña mét ®å thÞ.

VËy nh÷ng kÕt luËn cña ph©n ho¹ch tËp hîp cã thÓ ¸p dông rÊt nhiÒu cho bµi

to¸n t« mµu, thÓ hiÖn kiÕn thøc nµy b»ng c¸c tiÕt sau:

7.1.1. Tèi ­u hãa bµi to¸n t« mµu ®Ønh

HÇu hÕt c¸c bµi to¸n øng dông t×m hµm t« mµu ®Ønh liªn quan tíi viÖc x¸c ®Þnh

sè mµu nhá nhÊt ®ßi hái ®­îc t« d­íi mét ®iÒu kiÖn c¸c ®iÓm cuèi trªn cïng mét

c¹nh kh«ng cïng mét mµu.

§Þnh nghÜa 7.1. T« mµu ®Ønh cña ®å thÞ G lµ phÐp g¸n f : VG → C tõ tËp c¸c ®Ønh

vµo tËp hîp c¸c mµu C.

KÝ hiÖu: Trong biÓu diÔn c¸c mµu ®­îc cho t­¬ng øng lµ c¸c sè d­¬ng 1, 2, 3, ....

§Þnh nghÜa 7.2. Víi sè nguyªn d­¬ng bÊt k× k, t« k-mµu ®Ønh lµ mét c¸ch t« mµu

®Ønh cã dïng ®óng k mµu kh¸c nhau.

§Þnh nghÜa 7.3. T« mµu ®Ønh thùc sù cña mét ®å thÞ lµ mét c¸ch t« n-mµu ®Ønh sao

cho c¸c ®iÓm cuèi cña mçi c¹nh ®­îc g¸n hai mµu kh¸c nhau.

§Þnh nghÜa 7.4. Mét ®å thÞ ®­îc gäi lµ cã kh¶ n¨ng t« k-mµu ®Ønh nÕu nã cã thÓ t«

mµu ®Ønh thùc sù b»ng k mµu.

VÝ dô 7.1. H×nh 7.1 m« t¶ kh¶ n¨ng t« 4-mµu ®Ønh.


7.1. T« mµu ®Ønh 87

1 4

2
2
3 3
1 1

1
1 4
2
H×nh 7.1 Kh¶ n¨ng t« mµu ®Ønh thùc sù

ThuËt ng÷: V× t« mµu ®Ønh th­êng xuyªn dïng h¬n t« mµu c¹nh hoÆc c¸c lo¹i t«

mµu kh¸c nªn trong nhiÒu tµi liÖu chØ dïng thuËt ng÷ t« mµu cho kiÓu nµy.

§Þnh nghÜa 7.5. S¾c sè (S¾c sè ®Ønh) cña ®å thÞ G, kÝ hiÖu lµ χ (G), lµ sè mµu kh¸c

nhau nhá nhÊt mµ ®ßi hái cho mét t« mµu ®Ønh thùc sù cña G.

Nh­ vËy, χ (G) = k nghÜa lµ ®å thÞ G cã thÓ t« k-mµu, nh­ng kh«ng thÓ t« (k − 1)-
mµu.

§Þnh nghÜa 7.6. Mét ®å thÞ G gäi lµ k-s¾c sè ®å thÞ nÕu χ (G) = k.
VÝ dô 7.2. Víi ®å thÞ ë h×nh 7.1 th× ®å thÞ nµy ta cã thÓ t« c¸ch kh¸c nh­ h×nh 7.2

NghÜa lµ ®å thÞ G cã kh¶ n¨ng t« 3-mµu, χ (G) ≤ 3. Tuy nhiªn ®å thÞ G chøa 3 ®Ønh

1 3
2
2
3 2
1 1

1
1 3
2
H×nh 7.2 S¾c sè cña ®å thÞ χ (G) = 3
cïng c¹nh nhau, do ®ã kh«ng thÓ t« 2-mµu ®­îc. VËy s¾c sè cña G lµ 3.
MÖnh ®Ò 7.1. §å thÞ G cã χ (G) = 1 khi vµ chØ khi G kh«ng cã c¹nh.

Chøng minh. Mäi ®iÓm cuèi cña c¸c c¹nh ph¶i cã mµu kh¸c nhau, nÕu G cã c¹nh th×

Ýt nhÊt ph¶i t« b»ng hai mµu vµ ng­îc l¹i. Dùa trªn kÕt luËn nµy suy ra mÖnh ®Ò.

J
Chó ý: T« mµu ®Ønh chØ cho c¸c ®å thÞ ®¬n. Cßn c¸c ®å thÞ cã c¹nh vßng th×

®Þnh nghÜa t« mµu kh«ng cßn ®óng n÷a. H¬n n÷a c¸c ®å thÞ cã c¹nh béi viÖc t« mµu

kh«ng hiÖu qu¶ h¬n c¹nh ®¬n, v× ta cã thÓ cho c¸c c¹nh béi ®ã lµ mét c¹nh.
7.1. T« mµu ®Ønh 88

7.1.2. M« h×nh øng dông t« mµu ®Ønh

§Þnh nghÜa 7.7. Líp mµu trong ®å thÞ t« mµu ®Ønh G lµ mét tËp con c¸c ®Ønh cña

VG cã cïng mét mµu.

Trong c¸c øng dông m« h×nh t« mµu ®Ønh, c¸c ®Ønh trong mçi líp biÓu diÔn

mét c¸ch riªng biÖt hoÆc ph©n ho¹ch kh«ng t­¬ng thÝch víi c¸c líp kh¸c.

VÝ dô thùc tÕ 1: G¸n tÇn sè cho c¸c ®µi ph¸t thanh.

Gi¶ sö c¸c ®Ønh cña ®å thÞ G biÓu diÔn tr¹m ph¸t sãng cña ®µi ph¸t thanh.

Trong ®Þa bµn ph¸t sãng, hai tr¹m ®­îc gäi lµ c¹nh nhau khi diÔn tÝch phñ sãng

cña chóng giao nhau.Nh­ vËy nÕu hai tram c¹nh nhau cïng ph¸t trªn mét tÇn sè th×

c¸c vïng giao nhau sÏ g©y ra hËu qu¶ nhiÔu rÊt lín. Nh­ vËy hai tr¹m c¹nh nhau

ph¶i ®­îc g¸n nh÷ng tÇn sè kh¸c nhau. C©u hái ®Æt ra lµ mét ®Þa bµn rÊt nhiÒu

tr¹m ph¸t th× bao nhiªu tÇn sè kh¸c nhau lµ ®ñ. Bµi to¸n ®­îc ®­a vÒ bµi to¸n t« mµu

b»ng c¸ch ®Þnh nghÜa nh­ sau: Ta xÐt c¸c tÇn sè nh­ lµ mµu trong bµi to¸n t« mµu

®å thÞ, trong ®ã c¸c líp mµu kh«ng chøa c¸c ®Ønh biÓu diÔn c¸c tr¹m kh«ng cã vïng

phñ sãng giao nhau. Trong m« h×nh nµy χ (G) lµ sè tÇn sè nhá nhÊt ®ßi hái ®Ó tr¸nh
hËu qu¶ c¸c vïng phñ sãng giao nhau.

VÝ dô thùc tÕ 2: LËp thêi khãa biÓu cña tr­êng ®¹i häc.

Gi¶ sö c¸c ®Ønh cña ®å thÞ ®¬n G lµ c¸c m«n häc kh¸c nhau t¹i mét tr­êng ®¹i häc.

Hai ®Ønh ®­îc gäi lµ c¹nh nhau khi vµ chi khi Ýt nhÊt mét sinh viªn ®¨ng kÝ c¶ hai

m«n nµy. Nh­ vËy kh«ng thÓ lËp lÞch cho hai m«n nh­ vËy cïng mét thêi gian häc.

Khi ®ã s¾c sè ®Ønh χ (G) lµ sè chu k× thêi gain nhá nhÊt ®Ó lËp lÞch cho c¸c m«n häc

sao cho kh«ng cã sinh viªn nµo bÞ ®i häc cïng mét chu k× c¶ hai m«n.

7.1.3. Nh÷ng nguyªn lÝ c¬ së tÝnh s¾c sè

TÝnh s¾c sè cña mét ®å thÞ th­êng ®­îc tiÕn hµnh theo c¸c b­íc:

1. B­íc t×m cËn trªn: Chøng minh χ (G) ≤ k mét c¸ch t­êng minh ®å thÞ t« k-mµu
thùc sù cña G.
2. B­íc tÝnh cËn d­íi: Chøng minh χ (G) ≥ k b»ng c¸ch dïng tÝnh chÊt cña ®å

thÞ. §Æc biÖt hay dïng lµ t×m ®å thÞ con mµ nã ®ßi hái t« Ýt nhÊt k-mµu.

MÖnh ®Ò 7.2. Cho G lµ ®å thÞ víi k ®Ønh c¹nh kÒ cïng nhau th× χ (G) ≥ k.

Chøng minh. Theo ®Þnh nghÜa t« mµu ®Ønh th× ph¶i dïng k mµu cho G ®Ó tr¸nh k
®Ønh cã hai ®Ønh g¸n cïng mµu. J
TËp cïng kÒ trong ®å thÞ G lµ tËp hîp con cùc ®¹i cña VG mµ c¸c ®Ønh nµy kÒ
nhau (nghÜa lµ mçi cÆp ®Ønh ®Òu cã c¹nh kÒ). Sè cïng kÒ w(G) cña ®å thÞ G lµ sè
®Ønh trong tËp cïng kÒ lín nhÊt trong G.
7.1. T« mµu ®Ønh 89

HÖ qu¶ 7.1. Cho G lµ ®å thÞ. Khi ®ã χ (G) ≥ w(G).

MÖnh ®Ò 7.3. Cho H lµ ®å thÞ con cña ®å thÞ G . Khi ®ã χ (G) ≥ χ (H).

Chøng minh. HiÓn nhiªn. J


VÝ dô 7.3. H×nh 7.3 lµ ®å thÞ t« 4 mµu:

1
4

2
4 1

3
1

H×nh 7.3 §å thÞ t« bèn mµu

Ta cã χ (G) ≤ 4, ®å thÞ nµy l¹i cã K4 ®å thÞ con ®Çy ®ñ χ (G) ≥ 4. Do ®ã χ (G) = 4.

7.1.4. S¾c sè cña mét sè hä ®å thÞ

Mét sè hä ®å thi sau dÔ dµng suy ra tõ ®Þnh nghÜa vµ c¸c nguyªn lÝ trªn.

MÖnh ®Ò 7.4. C¸c ®å thÞ ®ñ n ®Ønh cã s¾c sè χ (Kn ) = n.

Chøng minh. theo mÖnh ®Ò 7.2 ta cã χ (Kn ) ≥ n. H¬n n÷a g¸n n mµu vµo n ®Ønh cña

Kn lµ t« n− mµu thùc sù cho ®å thÞ. J


MÖnh ®Ò 7.5. Mét ®å thÞ hai phÇn G cã χ (G) = 2.

Chøng minh. G¸n mçi mµu mét bªn. Theo mÖnh ®Ò trªn ta cã kÕt qu¶ cña bµi to¸n.

J
HÖ qu¶ 7.2. §å thÞ ®­êng dÉn χ (Pn ) = 2 víi n ≥ 2.

HÖ qu¶ 7.3. 1. T lµ c©y kh«ng tÇm th­êng th× χ (T ) = 2;


2. §å thÞ khèi hép χ (Qn ) = 2;
3. §å thÞ cã chu k× ch½n χ (C2n ) = 2;
4. §å thÞ cã chu k× lÎ χ (C2n+1 ) = 3.
7.2. T« mµu b¶n ®å 90

7.2. T« mµu b¶n ®å

Ta thÊy c¸c b¶n ®å lµ gåm c¸c miÒn giíi h¹n bëi c¸c ®­êng biªn. Bµi to¸n t« mµu

b¶n ®å lµ mäi mÆt ®ãng, cã tån t¹i sè mµu nhá nhÊt cÇn thiÕt ®Ó t« mµu b¶n ®å sao

cho kh«ng cã c¹nh hai miÒn nµo cïng mµu. Bµi to¸n t« bèn mµu trªn b¶n ®å ph¼ng ®·

®­îc chøng minh tõ l©u.

7.2.1. §èi ngÉu t« mµu b¶n ®å vµ t« mµu ®Ønh

Ta cã thÓ nãi mét b¶n ®å trªn mÆt ph¼ng lµ nhóng mét ®å thÞ trªn mÆt ph¼ng nµy.

§Þnh nghÜa 7.8. T« mµu b¶n ®å lµ cho phÐp nhóng h : G −→ S cña mét ®å thÞ lªn mÆt,
mµ nã lµ mét hµm tõ tËp hîp F c¸c mÆt cña phÐp nhóng vµo tËp hîp gåm c¸c phÇn

tö mµu.

§Þnh nghÜa 7.9. Mét n-t« mµu cña b¶n ®å lµ t« mµu b»ng n mµu.

§Þnh nghÜa 7.10. Mét t« mµu b¶n ®å lµ thùc sù nÕu víi mçi c¹nh e ∈ EG c¸c miÒn cã

chung c¹nh e ®­îc t« mµu kh¸c nhau.

VÝ dô 7.4. H×nh 7.4 t« b»ng bèn mµu trªn b¶n ®å mÆt ph¼ng.

H×nh 7.4 B¶n ®å t« bèn mµu

§Þnh nghÜa 7.11. S¾c sè cña b¶n ®å lµ sè mµu nhá nhÊt cÇn t« mét b¶n ®å thùc sù.

VÝ dô 7.5. B¶n ®å sau lµ mét vÝ dô kh«ng t« mµu ®­îc thùc sù v× miÒn F2 cã hai c¹nh

lÆp l¹i (h×nh 7.5)

F1 F2
F5 F3

F4

H×nh 7.5 B¶n ®å kh«ng t« mµu ®­îc c¸c mÆt Fi


7.2. T« mµu b¶n ®å 91

Ng­êi ta cã thÓ chuyÓn bµi to¸n t« mµu c¸c miÒn b¶n ®å trªn mÆt ph¼ng ®ãng

bÊt k× thµnh bµi to¸n ®èi ngÉu t« mµu ®Ønh.

vÝ dô bµi to¸n trªn cã thÓ ®­a vÒ bµi to¸n t« mµu ®Ønh b»ng c¸ch: C¸c ®Ønh ®èi

ngÉu Vj t­¬ng øng víi mÆt Fj víi j = 1, 2, ..., 5. Nh­ vËy, miÒn tù kÒ F2 ®èi ngÉu

thµnh ®Ønh tù kÒ V2 (h×nh 7.6).

V1
V2

V5 V3

V4
H×nh 7.6 §å thÞ ®èi ngÉu

MÖnh ®Ò 7.6. S¾c sè cña b¶n ®å b»ng s¾c sè ®èi ngÉu cña nã.

7.2.2. B¶n ®å ®Þa lÝ

Ta lÊy vÝ dô mét b¶n ®å c¸c n­íc Ph¸p, Andora, T©y Ban Nha, Bå §µo Nha (h×nh

??. Nãi chung b¶n ®å ®Þa lÝ c¸c n­íc ®Òu cã d¹ng tiÕp gi¸p phøc t¹p nh­ trong vÝ

dô nµy.

BiÓn Ph¸p

Andora

Lôc ®Þa
T©y Ban Nha

H×nh 7.7 B¶n ®å ®Þa lÝ

BiÕn giíi Ph¸p vµ T©y Ban Nha chia ra lµm hai víi n­íc Andora. Trong tr­êng

hîp nµy khi chuyÓn thµnh ®å thÞ ®èi ngÉu th× c¸c c¸c c¹nh kÒ béi cña miÒn kh«ng

¶nh h­ëng ®Õn quy t¾c t« mµu cña b¶n ®å. Nh­ vËy khi kh¶o s¸t t« mµu b¶n ®å ®Þa

lÝ ng­êi ta ®­a vÒ b¶n ®å ®èi ngÉu c¸c c¹nh vµ ®Ønh vµ xÐt b×nh th­êng kh«ng gÆp

khã kh¨n g×.

7.2.3. §Þnh lÝ n¨m mµu cho ®å thÞ ph¼ng vµ b¶n ®å

§Þnh nghÜa 7.12. {i, j}-®å thÞ con cña ®å thÞ G víi t« mµu ®Ønh, trong ®ã i, j lµ c¸c
7.3. T« mµu c¹nh 92

mµu trong tËp mµu, lµ mét ®å thÞ con cña ®å thÞ G ®­îc bá ®i tËp hîp tËp hîp tÊt

c¶ c¸c c¹nh mµ hai ®Çu cã t« kh¸c mµu nhau i, j.

§Þnh nghÜa 7.13. Mét Kempe i− j xÝch cho ®å thÞ t« mµu ®Ønh cña ®å thÞ G lµ mét

thµnh phÇn cña {i, j}-®å thÞ con.

VÝ dô 7.6. §å thÞ sau ®©y thÓ hiÖn {1, 3}- ®å thÞ con vµ kempe xÝch

1 4

2
2
1 1
3
3

1 4
1

2
H×nh 7.8 §å thÞ Kempe

§Þnh lý 7.1 (Heawood 1890). S¾c sè cña ®å thÞ ®¬n ph¼ng lín nhÊt lµ 5.

Chøng minh. Chøng minh ®Þnh lÝ nµy kh«ng hái kiÕn thøc nhiÒu, chØ cÇn c¸c kiÕn

thøc trong ®Þnh nghÜa lµ ®ñ. (Bá qua trong tµi liÖu nµy). J
§Þnh lý 7.2 (Appel vµ Haken 1976). Mçi ®å thÞ ph¼ng cã thÓ t« b»ng 4 mµu.

Chøng minh. §Þnh lÝ kh«ng chøng minh b»ng suy luËn mµ chøng minh b»ng m¸y

tÝnh. J
7.3. T« mµu c¹nh

7.3.1. Bµi to¸n tèi ­u cho t« mµu c¹nh

§Þnh nghÜa 7.14. T« mµu c¹nh cña ®å thÞ lµ ¸nh x¹ f : EG −→ C tõ tËp hîp c¹nh vµo

tËp hîp c¸c phÇn tö gäi lµ mµu C.

KÝ hiÖu c¸c mµu lµ sè nguyªn, mçi sè ®¹i diÖn cho mét mµu vµ ®Æt ë bªn ®­êng

c¹nh.

§Þnh nghÜa 7.15. Mét sè nguyªn d­¬ng k, k-t« mµu c¹nh (hoÆc k-mµu c¹nh) lµ c¸ch t«

mµu c¹nh mµ dïng ®óng k mµu kh¸c nhau.


7.3. T« mµu c¹nh 93

§Þnh nghÜa 7.16. T« mµu c¹nh mét ®å thÞ lµ t« mµu thùc sù nÕu c¸c c¹nh kÒ ®­îc g¸n

b»ng mµu kh¸c nhau.

§Þnh nghÜa 7.17. §å thÞ ®­îc gäi lµ k-t« mµu c¹nh nÕu nã cã mét c¸ch k-t« mµu thùc

sù.

VÝ dô 7.7. §å thÞ sau t« b»ng 5 mµu (h×nh 7.9).

5
1
4 2
3 1
2
5
H×nh 7.9 §å thÞ t« mµu c¹nh

§Þnh nghÜa 7.18. S¾c sè c¹nh cña ®å thÞ G, kÝ hiÖu lµ χ 0 (G) lµ sè nhá nhÊt mµu kh¸c

nhau ®ßi hái cho t« mµu c¹nh thùc sù cña G.

VËy χ 0 (G) = k nÕu ®å thÞ G lµ k-t« mµu c¹nh nh­ng kh«ng thÓ t« mµu c¹nh b»ng

k−1 mµu.

§Þnh nghÜa 7.19. §å thÞ G lµ k-s¾c sè c¹nh nÕu χ 0 (G) = k.

VÝ dô 7.8. Víi vÝ dô ®å thÞ trªn ta cã thÓ t« b»ng 4 mµu, vËy s¾c sè cña nã lµ χ 0 (G) = 4
(h×nh 7.10).

3
1
4 2
2 1
4
3
H×nh 7.10 S¾c sè c¹nh χ 0 (G) = 4

MÖnh ®Ò 7.7. Gi¶ sö G lµ ®å thÞ mµ nã tån t¹i k-t« mµu c¹nh thùc sù th× χ (G) ≤ k.

Chøng minh. Dù vµo ®Þnh nghÜa. J


MÖnh ®Ò 7.8. §å thÞ G cã χ 0 (G) = 1 khi vµ chØ khi δmax (G) = 1.
7.4. Bµi tËp ch­¬ng VII 94

7.3.2. S¾c sè g¾n liÒn

§Þnh nghÜa 7.20. Cho mét ®å thÞ t« mµu c¹nh, mµu i gäi lµ g¾n liÒn víi ®Ønh V nÕu

mét c¹nh nµo ®ã g¾n liÒn víi ®Ønh V cã t« mµu i. Ng­îc l¹i, mµu i gäi lµ thiÕu v¾ng

t¹i ®Ønh V.

§Þnh nghÜa 7.21. S¾c sè g¾n liÒn t¹i ®Ønh V cña mét c¹nh t« mµu ®· cho e lµ sè c¹nh

mµu kh¸c nhau g¾n liÒn víi ®Ønh V. KÝ hiÖu lµ ecrV (e).

§Þnh nghÜa 7.22. Tæng s¾c mµu g¾n liÒn cho c¹nh mµu e cña ®å thÞ G, kÝ hiÖu lµ

ecr(e), lµ tæng s¾c mµu g¾n liÒn cña tÊt c¶ c¸c ®Ønh.

7.4. Bµi tËp ch­¬ng VII

1. G¸n sè mµu nhá nhÊt cho t« mµu ®Ønh c¸c ®å thÞ sau ®©y vµ sè mµu thùc sù

nhá nhÊt

(a) (b)

(c) (d)

2. Chøng minh r»ng

a) thªm mét c¹nh vµo ®å thÞ lµ t¨ng s¾c sè ®å thÞ ®ã nhiÒu nhÊt lµ 1.
b) Xãa mét ®Ønh trong ®å thÞ lµ gi¶m s¾c sè ®å thÞ ®ã nhiÒu nhÊt lµ 1.
Phô lôc A
Thùc hµnh lÝ thuyÕt ®å thÞ phÇn 2

A.1.Ch­¬ng tr×nh duyÖt c©y theo chiÒu s©u . . . . . . . . . . . . . . . . . . . . 95


A.2.Ch­¬ng tr×nh duyÖt c©y theo chiÒu réng . . . . . . . . . . . . . . . . . . . 96
A.3.Chu tr×nh Euler cho c©y ®Þnh h­íng . . . . . . . . . . . . . . . . . . . . . 98
A.4.øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ . . . . . . . . . . . . . . . . . . 100
A.5.§­êng tèi ­u trong ®å thÞ träng sè . . . . . . . . . . . . . . . . . . . . . . 104

A.1. Ch­¬ng tr×nh duyÖt c©y theo chiÒu s©u

ThuËt to¸n duyÖt c©y theo chiÒu s©u ®­îc triÓn khai nh­ sau: - §Çu vµo lµ ma

trËn c¹nh kÒ A[MAX N][MAX N] ®· cho s½n - DuyÖt theo håi quy vµ b¾t ®Çu tõ ®Ønh 5.

1 5
7 8

12
9
4
6
10
2
3 11 13 14
H×nh A.1
- Dïng m¶ng used[] ®Ó ghi c¸c ®Ønh ®· duyÖt.

Ch­¬ng tr×nh A.1 DuyÖt theo chiÒu s©u dfs.c


#include < s t d i o . h>
/ ∗ So luong dinh cuc dai cua do thi ∗/
#define MAXN 2 0 0

/ ∗ So luong dinh trong do thi ∗/


const unsigned n = 14;

/ ∗ Duyet theo chieu sau bat dau tu dinh v ∗/


const unsigned v = 5;

/ ∗ Ma t r a n canh ke cua do thi ∗/


const char A[MAXN] [MAXN] = {
{0 , 1, 0, 0 , 0, 0 , 0, 0, 0, 0, 0, 0, 0 , 0},
{1 , 0, 1, 1 , 1, 0 , 0, 0, 0, 0, 0, 0, 0 , 0},
{0 , 1, 0, 0 , 0, 1 , 0, 0, 0, 0, 0, 0, 0 , 0} ,

{0 , 1, 0, 0 , 0, 0 , 0, 0, 0, 0, 0, 1, 0 , 0} ,

{0 , 1, 0, 0 , 0, 0 , 1, 0, 0, 0, 0, 0, 0 , 0} ,
A.2. Ch­¬ng tr×nh duyÖt c©y theo chiÒu réng 96

{0 , 0, 1, 0 , 0, 0 , 1, 0, 0, 0, 0, 1, 0 , 0},
{0 , 0, 0, 0 , 1, 1 , 0, 0, 0, 1, 0, 0, 0 , 0},
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 1, 0, 0, 0, 0, 1 , 1} ,

{0 , 0, 0, 0 , 0, 0 , 1, 0, 0, 0, 1, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 0, 1, 0, 0, 0 , 0} ,

{0 , 0, 0, 1 , 0, 1 , 0, 0, 0, 0, 0, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 1} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 1 , 0}

};
char u s e d [MAXN] ;

/ ∗ Duyet theo chieu sau tu mot dinh ∗/


void DFS ( unsigned i )

{ unsigned k ;
used [ i ] = 1;

p r i n t f ( "%u " , i + 1 ) ;
for ( k = 0 ; k < n ; k + + )
i f (A[ i ] [ k ] && ! u s e d [ k ] ) DFS ( k ) ;

i n t main ( void ) {
unsigned k ;
for ( k = 1 ; k < n ; k ++) used [ k ] = 0;

p r i n t f ( " Duyet t h e o chieu sau tu d i n h %u : \n " , v );

DFS ( v −1);
p r i n t f ( " \n " );

return 0;

- Biªn dÞch vµ ch¹y ch­¬ng tr×nh: 5

1 3

7 12

10
4
Duyet theo chieu sau tu dinh 5:

5 2 1 3 6 7 11 12 4 11

A.2. Ch­¬ng tr×nh duyÖt c©y theo chiÒu réng

ThuËt to¸n duyÖt c©y theo chiÒu réng ®­îc triÓn khai nh­ sau:

- §Çu vµo lµ ma trËn c¹nh kÒ A[MAX N][MAX N] ®· cho s½n nh­ h×nh A.1.
A.2. Ch­¬ng tr×nh duyÖt c©y theo chiÒu réng 97

- DuyÖt theo håi quy vµ b¾t ®Çu tõ ®Ønh 5.


- Dïng m¶ng used[] ®Ó ghi c¸c ®Ønh ®· duyÖt.

- Ta dïng mét ng¨n xÕp chång ®Ó l­u ®Ønh ®· duyÖt råi lÊy ng­îc l¹i

Ch­¬ng tr×nh A.2 DuyÖt theo chiÒu réng bfs.c


#include < s t d i o . h>
/∗ so luong dinh cuc dai cua do thi ∗/
#define MAXN 2 0 0

/ ∗ So luong dinh cua do thi ∗/


const unsigned n = 14;

/ ∗ Tim cay bao trum bat dau tu dinh v ∗/


const unsigned v = 5;

/ ∗ Ma t r a n canh ke cua do thi ∗/


const char A[MAXN] [MAXN] = {
{0 , 1, 0, 0 , 0, 0 , 0, 0, 0, 0, 0, 0, 0 , 0},
{1 , 0, 1, 1 , 1, 0 , 0, 0, 0, 0, 0, 0, 0 , 0},
{0 , 1, 0, 0 , 0, 1 , 0, 0, 0, 0, 0, 0, 0 , 0} ,

{0 , 1, 0, 0 , 0, 0 , 0, 0, 0, 0, 0, 1, 0 , 0} ,

{0 , 1, 0, 0 , 0, 0 , 1, 0, 0, 0, 0, 0, 0 , 0} ,

{0 , 0, 1, 0 , 0, 0 , 1, 0, 0, 0, 0, 1, 0 , 0} ,

{0 , 0, 0, 0 , 1, 1 , 0, 0, 0, 1, 0, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 1, 0, 0, 0, 0, 1 , 1} ,

{0 , 0, 0, 0 , 0, 0 , 1, 0, 0, 0, 1, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 0, 1, 0, 0, 0 , 0} ,

{0 , 0, 0, 1 , 0, 1 , 0, 0, 0, 0, 0, 0, 0 , 0} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 1} ,

{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 1 , 0}

};
char u s e d [MAXN] ;

/ ∗ Ham t i m theo chieu rong tu mot dinh da cho ∗ /


void BFS ( unsigned i )
{ unsigned k , j , p , queue [MAXN] , c u r r e n t V e r t , levelVertex , queueEnd ;

for ( k = 0 ; k < n ; k + + ) queue [ k ] = 0 ;


for ( k = 0 ; k < n ; k + + ) u s e d [ k ] = 0 ;
queue [ 0 ] = i ; used [ i ] = 1;

currentVert = 0; levelVertex = 1; queueEnd = 1;

while ( currentVert < queueEnd ) { / ∗ Den khi hang doi chua rong ∗/
for (p = currentVert ; p < levelVertex ; p++) {
/ ∗ p – Lay phan tu theo thu tu hang doi ∗/
p r i n t f ( "%u " , queue [ p ] + 1 ) ;

c u r r e n t V e r t ++;

/ ∗ Cho moi hau due j cua queue [ p ] ∗/


for ( j = 0 ; j < n ; j + + )
i f (A[ queue [ p ] ] [ j ] && ! used [ j ] ) {
queue [ queueEnd+ + ] = j ;

used [ j ] = 1;

}
}
p r i n t f ( " \n " ) ;
levelVertex = queueEnd ;
A.3. Chu tr×nh Euler cho c©y ®Þnh h­íng 98

}
}
i n t main ( void ) {
p r i n t f ( " B a t dau tim theo chieu rong tu d i n h %u : \n " , v );

BFS ( v −1);
return 0;

- Biªn dÞch vµ ch¹y ch­¬ng tr×nh: 5

Bat dau tim theo chieu rong tu dinh 5: 2


7
5

2 7 1 3 4 6 10
1 3 4 6 10

12 11 12
11

A.3. Chu tr×nh Euler cho c©y ®Þnh h­íng

ThuËt to¸n t×m chu tr×nh Euler ®­îc triÓn khai nh­ sau:

- §Çu vµo lµ ma trËn c¹nh ®Þnh h­íng A[MAX N][MAX N] cña h×nh A.2.

1 2
3
4

8 7

H×nh A.2

Ch­¬ng tr×nh A.3 Chu tr×nh Euler.c


#include < s t d i o . h>
/ ∗ So luong dinh cuc dai cua do thi ∗/
#define MAXN 1 0 0

/ ∗ So luong dinh trong do t h i ∗/


const unsigned n = 8;

/ ∗ Ma t r a n canh ke cua do thi ∗/


char A[MAXN] [MAXN] = {
{ 0, 1, 0 , 0, 0 , 0, 0, 0 },
{ 0, 0, 1 , 0, 1 , 0, 0, 0 },
{ 0, 0, 0 , 1, 1 , 0, 1, 0 },
{ 0, 1, 0 , 0, 0 , 0, 0, 0 },
A.3. Chu tr×nh Euler cho c©y ®Þnh h­íng 99

{ 0, 0, 1 , 0, 0 , 1, 0, 0 },
{ 0, 0, 1 , 0, 0 , 0, 0, 0 },
{ 0, 0, 0 , 0, 0 , 0, 0, 1 },
{ 1, 0, 0 , 0, 0 , 0, 0, 0 }
};
/∗ Kiem tra kha nang co chu trinh Euler ( theo dinh li Euler ) ∗/
char i s E u l e r G r a p h ( void )
{ unsigned i , j ;
for ( i = 0 ; i < n ; i + + ) {
i n t d i n = 0 , dout = 0 ;
for ( j = 0 ; j < n ; j + + ) {
i f (A[ i ] [ j ] ) d i n + + ;
i f (A[ j ] [ i ] ) d o u t + + ;
}
if ( din != dout ) return 0;

}
return 1;

}
/ ∗ Tim chu trinh Euler ∗/
void f i n d E u l e r ( i n t i )
{ unsigned c S t a c k [MAXN ∗ MAXN] , s t a c k [MAXN ∗ MAXN] ;

unsigned k , j , cTop = 0 , sTop = 1;

s t a c k [ sTop ] = i ;

while ( sTop > 0) {


i = s t a c k [ sTop ] ;

for ( j = 0 ; j < n; j ++)

i f (A[ i ] [ j ]) {
A[ i ] [ j ] = 0; i = j ;

break ;
}
if ( j < n)

s t a c k [ + + sTop ] = i ;

el se
c S t a c k [ + + cTop ] = s t a c k [ sTop −− ];
}
p r i n t f ( " Chu t r i n h E u l e r l a : " ) ;
for ( k = cTop ; k > 0 ; k−−) {
p r i n t f ( "%u " , c S t a c k [ k ] + 1 ) ;
}
p r i n t f ( " \n " ) ;
}

i n t main ( void ) {
i f ( isEulerGraph ( ) ) findEuler ( 0 ) ;
el se
p r i n t f ( " Do t h i nay khong p h a i l a Euler ! " ) ;

return 0 ;
}

- Biªn dÞch vµ ch¹y ch­¬ng tr×nh:

Chu trinh Euler la:


A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ 100

1 2 3 4 2 5 3 5 6 3 7 8 1

- H·y kiÓm tra trªn h×nh vÏ chu tr×nh nµy.

A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ

A.4.1. §­êng ®i ng¾n nhÊt gi÷a hai ®Ønh

Cho ®å thÞ G(V, E) vµ hai ®Ønh cña nã i vµ j. T×m ®­êng ®i trong G tõ ®Ønh i
®Õn ®Ønh j, mµ nã cã ®é dµi ng¾n nhÊt (nghÜa lµ cã Ýt ®Ønh nhÊt). Ta thÊy r»ng

sau khi duyÖt ®­îc ®å thÞ theo chiÒu réng råi th× dÔ dµng lËp ra thuËt to¸n t×m

®­êng ng¾n nhÊt: Thùc hiÖn bfs(i) vµ nÕu mét sè b­íc ®Õn ®Ønh j, th× suy ra tån

t¹i ®­êng ®i gi÷a hai ®Ønh vµ ®ã còng lµ ®­êng ng¾n nhÊt.

VÝ dô ®å thÞ nh­ h×nh A.1. Gi¶ sö t×m ®­êng ®i ng¾n nhÊt tõ 1 ®Õn 10. Khi ®ã

kÕt qu¶ thùc hiÖn bfs(1) sÏ lµ

Bat dau tim theo chieu rong tu dinh 1: 1


1

2
2
3 4 5

6 12 7
3 4 5
10

11 12 7
6

10

11

Sau khi ta ®¹t ®Õn ®Ønh j, th× hiÓn nhiªn ®é dµi cña chóng lµ bËc c©y. Nh­ng

t×m c¸c ®Ønh trung gian cña cña ®­êng ®i nh­ thÕ nµo? §Ó cã thÓ biÕt ®­îc ®iÒu

®ã ë mçi bËc c©y l­u gi÷ ®Ønh tr­íc ®ã ®· duyÖt. V× vËy ®­a vµo m¶ng pred[]. Nh­

vËy pred[k] lµ ®Ønh tr­íc khi ®i ®Õn k.


Ch­¬ng tr×nh A.4 §­êng ®i ng¾n nhÊt bfsminw.c
#include < s t d i o . h>
/∗ So din h lon nhat trong do thi ∗/
#define MAXN 2 0 0

/∗ So luon g din h trong do thi ∗/


const unsigned n = 14;

const unsigned sv = 1; /∗ Dinh dau tien ∗/


const unsigned ev = 10; /∗ Dinh cuoi cung ∗/
/ ∗ Ma t r a n canh ke cua do thi ∗/
const char A[MAXN] [MAXN] = {
A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ 101

{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1 , 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0} ,

{0 , 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0} ,

{0 , 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1} ,

{0 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0} ,

{0 , 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0}

};

i n t p r e d [MAXN] ;
char us e d [MAXN] ;

/ ∗ Ham duyet theo chieu ron g tu mot din h da cho voi ghi nho duong din h di truoc ∗
void BFS ( unsigned i )
{ unsigned queue [MAXN] ;
unsigned c u r r e n t V e r t , l e v e l V e r t e x , queueEnd , k, p, j ;

for ( k = 0 ; k < n ; k + + ) queue [ k ] = 0;

queue [ 0 ] = i ; us e d [ i ] = 1;

currentVert = 0; levelVertex = 1; queueEnd = 1;

while ( currentVert < queueEnd ) { / ∗ Den khi hang doi chua ron g ∗/
for (p = currentVert ; p < levelVertex ; p++) {
/∗ p − Lay phan tu theo hang cua hang d o i ∗/
c u r r e n t V e r t ++;

/∗ Voi moi hau due khong duyet j cua queue [ p ] ∗/


for ( j = 0 ; j < n ; j ++)

i f (A[ queue [ p ] ] [ j ] && ! used [ j ] ) {


queue [ queueEnd+ + ] = j ;

us e d [ j ] = 1;

pred [ j ] = queue [ p ] ;

}
}
levelVertex = queueEnd ;

}
}

/∗ In ra cac din h duong di ngan nhat va tra ve do dai cua no ∗/


unsigned p r i n t P a t h ( unsigned j )

{ unsigned c o u n t = 1 ;
A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ 102

i f ( p r e d [ j ] > −1) count += p r i n t P a t h ( pred [ j ] ) ;

p r i n t f ( "%u " , j + 1); /∗ In ra din h theo hang ( bac ) cua duong da tim duoc ∗/
return c o u n t ;
}

void s o l v e ( unsigned s t a r t , unsigned end )

{ unsigned k ;
for ( k = 0 ; k < n ; k + + ) { u s e d [ k ] = 0; pred [ k ] = − 1; }
BFS ( s t a r t ) ;

if ( p r e d [ end ] > − 1) {
p r i n t f ( " Duong t i m duoc l a : \ n " ) ;
p r i n t f ( " \nDo d a i c u a duong l a %u \ n " , p r i n t P a t h ( end ) ) ;

}
else {
p r i n t f ( " Duong di giua hai dinh khong ton tai ! \n " );

}
}

int main ( void ) {


s o l v e ( sv −1 , ev −1);
return 0;

- Biªn dÞch vµ ch¹y ch­¬ng tr×nh:

Duong tim duoc la:

1 2 5 7 10

Do dai cua duong la 5.

A.4.2. KiÓm tra ®å thÞ cã chu tr×nh

Sö dông thuËt to¸n t×m theo chiÒu s©u ta sÏ x©y dùng thuËt to¸n kiÓm tra mét

®å thÞ ®· cho cã chøa chu k× kh«ng? NÕu kh«ng cã chu tr×nh th× ®å thÞ lµ mét c©y.

ThuËt to¸n kiÓm tra chu tr×nh bao gåm: Thùc hiÖn t×m theo chiÒu s©u. T¹i mçi

b­íc, nÕu ®Ønh i mµ ta ®ang xÐt cã ®Ønh kÒ mµ ta ®· ®i qua kh¸c víi i, th× ®å thÞ

cã chu tr×nh.

§Ó thùc hiÖn ý t­ëng trªn ta söa ®æi thuËt to¸n dfs (®èi sè thªm vµo int parent lµ

bè mÑ cña ®Ønh ta ®ang ®øng ®ã).

Ch­¬ng tr×nh A.5 KiÓm tra ®å thÞ cã chu tr×nh .c


#include < s t d i o . h>
/∗ So luon g din h cuc dai cua do thi ∗/
#define MAXN 2 0 0

/∗ So luon g din h trong do thi ∗/


A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ 103

const unsigned n = 14;

/ ∗ Ma t r a n canh ke cua do thi ∗/


const char A[MAXN] [MAXN] = {
{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1 , 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0} ,

{0 , 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1} ,

{0 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0} ,

{0 , 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} ,

{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}

};

char us e d [MAXN] , cycl ;

/∗ Sua doi thuat toan Depth− F i r s t −S e a r c h ∗/


void DFS ( unsigned i , int parent )

{ unsigned k ;
us e d [ i ] = 1;

for ( k = 0 ; k < n ; k + + ) {
i f ( c y c l ) return ;
i f (A[ i ] [ k ] ) {
i f ( us e d [ k ] && k ! = p a r e n t ) {
p r i n t f ( " Do t h i l a chu t r i n h ! \ n " ) ;
cycl = 1;

return ;
}
else i f (k != parent )

DFS ( k , i );

}
}
}
i n t main ( void ) {
unsigned k , i ;
for ( k = 0 ; k < n; k ++) used [ k ] = 0;

cycl = 0;

for ( i = 0 ; i < n ; i + + ) {
i f ( ! us e d [ i ] ) DFS ( i , − 1 ) ;
i f ( c y c l ) break ;
}
A.5. §­êng tèi ­u trong ®å thÞ träng sè 104

i f ( 0 == c y c l ) p r i n t f ( " Do thi la Cay ( khong chua chu trinh ) ! \ n" );

return 0 ;
}

A.5. §­êng tèi ­u trong ®å thÞ träng sè

Cho ®å thÞ ®Þnh h­íng G(V, E) víi träng sè trªn c¸c c¹nh lµ c¸c sè thùc. §é dµi

cña ®­êng ®i trong ®å thÞ träng sè gäi lµ tæng c¸c träng sè cña c¸c c¹nh cña ®­êng ®i.

Trong phÇn nµy ta xÐt c¸c thuËt to¸n vÒ cùc ®¹i hoÆc cùc tiÓu ®é dµi ®­êng ®i trong

®å thÞ.

PhÇn tr­íc ta ®· xÐt thuËt to¸n t×m ®­êng ®i tõ mét ®Ønh tíi tÊt c¶ c¸c ®Ønh

kh¸c. T×m ®­êng tèi ­u tõ mét ®Ønh tíi mét ®Ønh kh¸c theo nghÜa míi còng hoµn

toµn t­¬ng tù. Thùc tÕ cã rÊt nhiÒu thuËt to¸n cã hiÖu qu¶ theo chñ ®Ò nµy.

Ta chó ý bµi to¸n t×m ®­êng ®i cùc tiÓu vµ ®­êng ®i cùc ®¹i trong tr­êng hîp ®å

thÞ träng sè lµ t­¬ng ®­¬ng nhau. V× t×m qu·ng ®­êng cùc ®¹i còng b»ng t×m qu·ng

®­êng cùc tiÓu víi c¸c träng sè cña tõng c¹nh ta lÊy dÊu ng­îc l¹i. Trong phÇn nµy

sÏ xÐt thuËt to¸n t×m ®­êng ng¾n nhÊt.

TÝnh ®óng ®¾n cña thuËt to¸n t×m ®­êng ®i cùc trÞ ®­îc gi¶i thÝch b»ng tiªu

chuÈn sau.

§Þnh lý A.1. G(V, E). Cho cÆp ®Ønh (V1 ,Vk ), gi¶ sö P = (V1 ,V2 , ...,Vk ) lµ qu·ng
Cho ®å thÞ

®­êng ng¾n nhÊt gi÷a V1 vµ Vk .


Tµi liÖu tham kh¶o

[1] J. Gross, J. Yellen, Graph theory and its applications, CRC Press, 1999.

[2] Tr­¬ng Mü Dung, Gi¸o tr×nh lý thuyÕt ®å thÞ NXB Tæng hîp Thµnh phè Hå ChÝ

Minh, 2005.

[3] NguyÔn Cam vµ Chu §øc Kh¸nh, Lý thuyÕt ®å thÞ, NXB Tæng hîp Thµnh phè Hå

ChÝ Minh, 1999.

[4] NguyÔn H÷u Ngù, Lý thuyÕt ®å thÞ, NXB §HQG Hµ Néi, 2001.

[5] Ng« §¾c T©n Lý thuyÕt tæ hîp vµ ®å thÞ, NXB §HQG Hµ Néi, 2004.

[6] §Æng Huy RuËn Lý thuyÕt ®å thÞ vµ øng dông, NXB KHKT, 2004.

[7] N. H. §iÓn, Ph­¬ng ph¸p quy n¹p to¸n häc, NXB GD, 2000.

[8] N. H. §iÓn, Mét sè vÊn ®Ò vÒ thuËt to¸n, NXB GD, 2006.

[9] N. H. §iÓn, LaTeX víi gãi lÖnh vµ phÇn mÒm c«ng cô, NXB§HQGHN, 2004.

[10] R. j. McEliece, R. B. Ash, C. Ash, Introduction to Discrete Mathematics, McGraw-

Hill Book Co., 1989.

[11] Th. Cormen, Ch. Leiserson, R. Rivest, Introduction to algorithm, The MIT Press,

1997.

[12] D. E. Knuth, The Art of Computer Programming. Volume I. Fundamental Algo-

rithms, Massachusetts, 1968.

[13] D. H. Greene and D. E. Knuth, Mathematics for the Analysis of Algorithms,


Birkhauser, 1982.

[14] J. D. Smith, Design and Analysis of Algorithms, PWS-KENT, 1989.

[15] I. Parberry and W. Gasarch, Problems on Algorithms, Prentice-Hall, 2002.

[16] G. H. Hardy, J.E. Littlewood, G. Polya BÊt ®¼ng thøc, NXB §HQG Hµ Néi, 2002.
Môc lôc

Lêi nãi ®Çu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Ch­¬ng 1. C¸c kh¸i niÖm c¬ b¶n vÒ ®å thÞ 4


1.1. LÞch sö ph¸t minh lÝ thuyÕt ®å thÞ . . . . . . . . . . . . . . . . . . . . . 4

1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã . . . . . . . . . . . . . . . . . . . . 6

1.2.1. §Þnh nghÜa vµ vÝ dô . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.2. VÝ dô ®¬n gi¶n vÒ ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.3. M« t¶ h×nh thøc ®å thÞ vµ ®å thÞ ®Þnh h­íng . . . . . . . . . . 9

1.3. BËc cña ®Ønh trong ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4. §­êng ®i vµ kho¶ng c¸ch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.1. §­êng ®i vµ ®­êng cã h­íng


. . . . . . . . . . . . . . . . . . . . . . 13

1.4.2. §å thÞ liªn th«ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5. §­êng dÉn vµ chu tr×nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.6. Bµi tËp ch­¬ng I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Ch­¬ng 2. CÊu tróc vµ biÓu diÔn ®å thÞ 19


2.1. Nh÷ng lo¹i ®å thÞ ®Æc biÖt . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2. §å thÞ con . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3. C¸c phÐp to¸n ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4. §¼ng cÊu ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5. KiÓm nghiÖm kh«ng ®¼ng cÊu ®å thÞ . . . . . . . . . . . . . . . . . . . . 26

2.6. BiÓu diÔn ma trËn víi ®å thÞ . . . . . . . . . . . . . . . . . . . . . . . . 27

2.7. Bµi tËp ch­¬ng II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Ch­¬ng 3. C©y vµ c¸c tÝnh chÊt cña nã 32


3.1. §Æc tr­ng vµ tÝnh chÊt cña c©y . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2. C©y gèc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.3. C©y nhÞ ph©n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4. DuyÖt c©y nhÞ ph©n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.5. C©y t×m kiÕm nhÞ ph©n . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.6. Bµi tËp ch­¬ng III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


Môc lôc 107

Ch­¬ng 4. C©y bao trïm 48


4.1. S¬ ®å sinh c©y trùc quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang . . . . . . . . . . . . . . 51

4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u . . . . . . . . . . . . . . . . 54

4.4. C©y bao trïm nhá nhÊt vµ ®­êng dÉn ng¾n nhÊt . . . . . . . . . . . . . 58

4.5. Bµi tËp ch­¬ng IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Ch­¬ng 5. TÝnh liªn th«ng cña ®å thÞ 65


5.1. TÝnh liªn th«ng vµ c©y bao trïm . . . . . . . . . . . . . . . . . . . . . . . 65

5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh . . . . . . . . . . . . . . . . . . . . . 68

5.2.1. Quan hÖ gi÷a liªn th«ng ®Ønh vµ liªn th«ng c¹nh . . . . . . . . . 70

5.2.2. §­êng dÉn t¸ch dêi bªn trong vµ liªn th«ng ®Ønh . . . . . . . . . 71

5.3. §å thÞ Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.3.1. Hµnh tr×nh Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.3.2. §­êng Euler më. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.3.3. §­êng Euler trong ®å thÞ ®Þnh h­íng . . . . . . . . . . . . . . . . 75

5.4. §­êng dÉn vµ chu tr×nh Hamilton . . . . . . . . . . . . . . . . . . . . . . 75

5.4.1. Quy t¾c chØ ra ®å thÞ kh«ng ph¶i lµ ®å thÞ Hamilton . . . . . . . 75

5.4.2. §iÒu kiÖn ®ñ cho ®å thÞ lµ Hamilton . . . . . . . . . . . . . . . . 77

5.5. Bµi tËp ch­¬ng V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Ch­¬ng 6. §å thÞ ph¼ng 80


6.1. Ph¼ng hãa vµ kh«ng ph¼ng hãa . . . . . . . . . . . . . . . . . . . . . . . . 81

6.2. §å thÞ con kh«ng ph¼ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.3. Më réng ®å thÞ ph¼ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.4. Bµi tËp ch­¬ng VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Ch­¬ng 7. T« mµu ®å thÞ 86


7.1. T« mµu ®Ønh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7.1.1. Tèi ­u hãa bµi to¸n t« mµu ®Ønh . . . . . . . . . . . . . . . . . . . 86

7.1.2. M« h×nh øng dông t« mµu ®Ønh . . . . . . . . . . . . . . . . . . 88

7.1.3. Nh÷ng nguyªn lÝ c¬ së tÝnh s¾c sè . . . . . . . . . . . . . . . . . 88

7.1.4. S¾c sè cña mét sè hä ®å thÞ . . . . . . . . . . . . . . . . . . . . . . 89

7.2. T« mµu b¶n ®å . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

7.2.1. §èi ngÉu t« mµu b¶n ®å vµ t« mµu ®Ønh . . . . . . . . . . . . . . 90

7.2.2. B¶n ®å ®Þa lÝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.2.3. §Þnh lÝ n¨m mµu cho ®å thÞ ph¼ng vµ b¶n ®å . . . . . . . . . . . 91


Môc lôc 108

7.3. T« mµu c¹nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7.3.1. Bµi to¸n tèi ­u cho t« mµu c¹nh . . . . . . . . . . . . . . . . . . . . 92

7.3.2. S¾c sè g¾n liÒn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

7.4. Bµi tËp ch­¬ng VII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Ch­¬ng A. Thùc hµnh lÝ thuyÕt ®å thÞ phÇn 2 95


A.1. Ch­¬ng tr×nh duyÖt c©y theo chiÒu s©u . . . . . . . . . . . . . . . . . . . 95

A.2. Ch­¬ng tr×nh duyÖt c©y theo chiÒu réng . . . . . . . . . . . . . . . . . . 96

A.3. Chu tr×nh Euler cho c©y ®Þnh h­íng . . . . . . . . . . . . . . . . . . . . . 98

A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ . . . . . . . . . . . . . . . . 100

A.4.1. §­êng ®i ng¾n nhÊt gi÷a hai ®Ønh . . . . . . . . . . . . . . . . . . 100

A.4.2. KiÓm tra ®å thÞ cã chu tr×nh . . . . . . . . . . . . . . . . . . . . . 102

A.5. §­êng tèi ­u trong ®å thÞ träng sè. . . . . . . . . . . . . . . . . . . . . . . 104

Tµi liÖu tham kh¶o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Môc lôc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106


ChÞu tr¸ch nhiÖm xuÊt b¶n:

Chñ tÞch H§QT kiªm Tæng Gi¸m ®èc Ng« trÇn ¸i


Phã Tæng Gi¸m ®èc kiªm Tæng biªn tËp Vò D­¬ng Thôy

Biªn tËp néi dung:

NguyÔn Träng ThiÖp


Tr×nh bµy b×a:

TrÇn ThÞ Thóy H¹nh


ChÕ b¶n:

NguyÔn H÷u §iÓn


Söa b¶n in:

NguyÔn Träng ThiÖp

You might also like