B - PowerPoint PPT Presentation

1 / 178
About This Presentation
Title:

B

Description:

B i 1 NH NGH A V PH N LO I B m n: Khoa h c m y t nh Khoa: C ng ngh th ng tin - SPHN ... – PowerPoint PPT presentation

Number of Views:179
Avg rating:3.0/5.0
Slides: 179
Provided by: Mai117
Category:
Tags: thong

less

Transcript and Presenter's Notes

Title: B


1
Bài 1Ð?NH NGHIA VÀ PHÂN LO?I
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin - SPHN

2
N?I DUNG
  • Ð?nh nghia d? th? ?
  • 1.1. Ð? th? vô hu?ng
  • 1.2. Ð? th? có hu?ng
  • Phân lo?i d? th? ?

3
1. Ð?NH NGHIA Ð? TH?
  • Khái ni?m d? th? là m?t mô hình toán h?c dùng d?
    gi?i quy?t r?t nhi?u bài toán và các v?n d? toán
    h?c.
  • M?t d? th? có th? hi?u m?t cách don gi?n là m?t
    h? th?ng các d?nh và các c?nh n?i các d?nh này
    v?i nhau.
  • Ví d? M?t b?n d? giao thông là m?t d? th? v?i
    h? th?ng d?nh là các ngã ba, ngã tu. Các du?ng di
    là các c?nh c?a d? th?.

4
1. Ð?NH NGHIA Ð? TH?
  • 1.1. Ð? th? vô hu?ng
  • Ví d? Cho t?p V 2, 3, 4, 5,6. Hãy bi?u di?n
    quan h? nguyên t? cùng nhau c?a t?p trên.

5
1. Ð?NH NGHIA Ð? TH?
  • 1.1. Ð? th? vô hu?ng
  • Ð? th? vô hu?ng G (V, E). Trong dó
  • V là t?p h?p, các ph?n t? c?a nó du?c g?i
    là d?nh.
  • E là t?p h?p, m?i ph?n t? là m?t c?p không
    th? t? (v, w) c?a 2 d?nh thu?c V.
  • (v, w) du?c g?i là c?nh n?i v và w.
  • ? (v, w ) ? (w, v)

6
1. Ð?NH NGHIA Ð? TH?
  • 1.1. Ð? th? vô hu?ng
  • Ví d? Ð? th? c?nh tranh trong sinh thái h?c
  • M?i loài là du?c bi?u di?n b?ng m?t d?nh.
  • N?u hai loài c?nh tranh th?c an v?i nhau thì hai
    d?nh tuong ?ng có c?nh n?i

7
1. Ð?NH NGHIA Ð? TH?
  • 1.2. Ð? th? có hu?ng
  • Ví d? Cho t?p V 2, 3, 4, 5,6. Hãy bi?u di?n
    quan h? aRb ? a là u?c c?a b và a ? b

8
1. Ð?NH NGHIA Ð? TH?
  • 1.2. Ð? th? có hu?ng
  • Ð? th? có hu?ng G V, E. Trong dó
  • V là t?p h?p, các ph?n t? c?a nó du?c g?i
    là d?nh.
  • E là t?p h?p, m?i ph?n t? là m?t c?p có th?
    t? v, w c?a hai d?nh c?a t?p V.
  • v, w g?i là cung t? v d?n w.
  • ? v, w ? w, v

9
1. Ð?NH NGHIA Ð? TH?
  • 1.2. Ð? th? có hu?ng
  • Ví d? Ð? th? thi d?u vòng tròn.
  • a, b có nghia là d?i a th?ng d?i b

10
1. Ð?NH NGHIA Ð? TH?
  • M?t s? thu?t ng? C?nh e(v,w)?E, v?V, w?V, khi
  • e là c?nh liên thu?c v, w.
  • v, w du?c g?i là k? nhau
  • v, w g?i là d?nh d?u mút c?a c?nh e.
  • N?u ev,w thì v g?i là d?nh d?u (d?nh xu?t
    phát), w là d?nh cu?i (d?nh dích) c?a cung e.
  • N?u v ? w thì e du?c g?i là khuyên.
  • N?u có e (v,w) thì e và e du?c g?i là hai
    c?nh song song (cùng liên thu?c m?t c?p d?nh).

11
1. Ð?NH NGHIA Ð? TH?
  • Ví d?
  • C?nh a liên thu?c 2 d?nh 1 và 2.
  • Ð?nh 1 và 2 g?i là hai d?nh k? nhau.
  • C?nh c là khuyên
  • C?nh d và e song song

12
2. PHÂN LO?I Ð? TH?
  • Phân lo?i theo tính ch?t c?nh c?a d? th?
  • Ð? th? vô hu?ng là d? th? mà t?t c? các c?nh là
    c?nh vô hu?ng.
  • Ð? th? có hu?ng là d? th? mà t?t c? các c?nh là
    có hu?ng.
  • Ð? th? h?n h?p là d? th? có c? c?nh vô hu?ng và
    c?nh có hu?ng.

13
2. PHÂN LO?I Ð? TH?
  • Ví d? Ð? th? h?n h?p
  • M?t b?n d? giao thông cùa Hà N?i là m?t d? th?
    h?n h?p. Trong dó
  • Các d?nh bi?u di?n các nút giao thông (ngã ba,
    ngã tu du?ng)
  • Các c?nh bi?u di?n các con du?ng n?i các nút
    giao thông dó.
  • C?nh có hu?ng n?u là du?ng m?t chi?u
  • C?nh vô hu?ng n?u là du?ng hai chi?u.

14
2. PHÂN LO?I Ð? TH?
  • Ngoài ra, ta còn có
  • Ð? th? don là d? th? mà không có khuyên và c?nh
    song song.
  • Ð? th? di?m là d? th? ch? có m?t d?nh và không
    có c?nh nào.
  • Ð? th? r?ng là d? th? không có d?nh và không có
    c?nh.

15
2. PHÂN LO?I Ð? TH?
  • Các bài sau dây chúng ta ch? nó v? d? th? vô
    hu?ng.
  • ? bài cu?i cùng chúng ta s? nói v? d? th? có
    hu?ng.

16
Bài 2CÁC Y?U T? CO B?N C?A Ð? TH?
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin - SPHN

17
N?I DUNG
  • Ð? th? con và d? th? thành ph?n ?
  • 1.1. Ð? th? con
  • 1.2. Ð? th? thành ph?n
  • B?c c?a d?nh ?
  • Ðu?ng di và chu trình ?
  • Liên thông
  • 4.1. Khái ni?m ?
  • 4.2. Thành ph?n liên thông ?
  • 4.3. Ð?nh c?t, c?nh c?u ?
  • 4.4. Ch? s? liên thông ?

18
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.1. Ð? th? con
  • Ð?nh nghia
  • Cho G (V, E).
  • G (V, E)
  • N?u V ? V
  • E ? E
  • Thì G g?i là d? th? con c?a G.

19
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.1. Ð? th? con
  • Ví d? d? th? con

G1 là d? th? con c?a G
20
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.1. Ð? th? con
  • Ví d? d? th? con

G2 là d? th? con c?a G
21
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.1. Ð? th? con
  • Ví d? d? th? con

G3 là không là d? th? con c?a G
22
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.2. Ð? th? thành ph?n
  • Ð?nh nghia
  • Cho G (V, E).
  • G (V, E)
  • N?u V ? V
  • ? v, w ?V và (v, w) ?E thì (v, w) ?E
  • Thì G g?i là d? th? thành ph?n c?a G.

23
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.2. Ð? thành ph?n
  • Ví d?

G4 là d? th? thành ph?n c?a G
24
1. Ð? TH? CON VÀ Ð? TH? THÀNH PH?N
  • 1.2. Ð? thành ph?n
  • Ví d?

G5 là d? th? con nhung không là d? th? ph?n c?a G
25
2. B?C C?A Ð?NH
  • Cho G (V, E), v ? V.
  • B?c c?a v b?ng s? c?nh liên thu?c v?i nó.
  • T?i v có khuyên thì thêm 2 don v?.
  • Ký hi?u là deg(v).
  • Tru?ng h?p d?c bi?t
  • Deg(v) 0 ? v là d?nh cô l?p
  • Deg(v) 1 ? v là d?nh treo

26
2. B?C C?A Ð?NH
Ví d? deg(A) 0 deg(B) 1 deg(C) 1 deg(D)
4 deg(E) 2 deg(F) 3 deg(G) 4 deg(H)
1 A là d?nh cô l?p. B, C, H là d?nh treo.
27
2. B?C C?A Ð?NH
  • Ð?nh lý Cho G (V,E) có m c?nh. Khi dó

H? qu? G (V,E) có s? d?nh có b?c l? là s? ch?n.
28
3. ÐU?NG ÐI VÀ CHU TRÌNH
Ðu?ng di là dãy các c?nh ei (vi, vi1) (i1,
2,, m) dãy các d?nh trên du?ng di v1, v2, , vm,
vm 1. Ký hi?u H (v1, e1, v2, e2, , em,
vm1) Ðu?ng di H (v1, e1, v2, , em, vm1)
mà v1? vm1 du?c g?i là chu trình. Ð?
dài du?ng di (chu trình) b?ng s? c?nh c?a nó.
Khi d? th? là don thì du?ng di (chu trình) du?c
ký hi?u don gi?n b?ng dãy các d?nh. H
(v1, v2, , vm, vm1) C (v1,
v2, , vm, v1)
29
3. ÐU?NG ÐI VÀ CHU TRÌNH
  • Ví d?

A, D, C, G, E - du?ng di d? dài 4 D, E, C, A
không là du?ng di B, C, G, E, B chu trình d?
dài 4
30
3. ÐU?NG ÐI VÀ CHU TRÌNH
Nh?n xét - Khuyên là m?t chu trình d? dài 1. -
N?u d? th? có c?p c?nh song song thì có chu trình
d? dài 2. - M?t d? th? không là d? th? don thì
luôn có chu trình (d? dài 1 ho?c 2) - Trong d?
th? don m?i chu trình d? dài ít nh?t là 3, không
ph?i lúc nào cung tìm du?c m?t chu trình.
31
4. LIÊN THÔNG
  • 4.1. Khái ni?m
  • Hai d?nh liên thông v và w du?c g?i là liên
    thông v?i nhau n?u có m?t dãy c?nh k? ti?p n?i v
    v?i w.
  • Ví d?

A và D, E và H là các c?p d?nh liên thông A và E,
B và H là các c?p d?nh không liên thông
32
4. LIÊN THÔNG
  • 4.1. Khái ni?m
  • Tính ch?t co b?n c?a quan h? liên thông hai d?nh
  • ? v ?V thì v liên thông v?i chính nó.
  • v liên thông v?i w thì w liên thông v?i v
  • N?u v liên thông w và w liên thông u thì v và u
    liên thông.
  • Quan h? liên thông hai d?nh là quan h? tuong
    duong.

33
4. LIÊN THÔNG
  • 4.1. Khái ni?m
  • Ð? th? liên thông là m?t d? th? mà hai d?nh b?t
    k? liên thông v?i nhau.
  • Ví d?

Là d? th? liên thông
Không là d? th? liên thông
34
4. LIÊN THÔNG
  • 4.2. Thành ph?n liên thông
  • Quan h? liên thông gi?a các d?nh phân ho?ch t?p
    d?nh V thành các t?p con tho? mãn hai d?nh b?t
    k?
  • N?u thu?c cùng m?t t?p con thì liên thông v?i
    nhau.
  • N?u thu?c hai t?p con khác nhau thì không liên
    thông v?i nhau.

35
4. LIÊN THÔNG
  • 4.2. Thành ph?n liên thông
  • M?i t?p con trong phân ho?ch cùng v?i các c?nh
    n?i các d?nh c?a chúng t?o thành m?t d? th? thành
    ph?n.
  • Ð? th? thành ph?n này du?c g?i là thành ph?n liên
    thông c?a d? th? dã cho.
  • ? M?t d? th? không liên thông du?c chia thành các
    d? th? thành ph?n liên thông.

36
4. LIÊN THÔNG
  • 4.2. Thành ph?n liên thông
  • Ví d?

Có hai thành ph?n liên thông
37
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ð?nh c?t v du?c g?i là d?nh c?t n?u b? nó cùng
    các c?nh liên thu?c s? làm tang s? thành ph?n
    liên thông c?a d? th? con.
  • C?nh c?u e du?c g?i là c?nh c?u n?u xoá nó thì
    s? làm tang s? thành ph?n liên thông c?a d? th?
    con.

38
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ví d?

A không là d?nh c?t
39
4. LIÊN THÔNG
4.3. Ð?nh c?t, c?nh c?u Ví d?
B là d?nh c?t
40
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ví d?

C là d?nh c?t
41
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ví d?

B C E là d?nh c?t
42
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ví d?

(A, B) là c?nh c?u
43
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ví d?

(B, C) không là c?nh c?u
44
4. LIÊN THÔNG
  • 4.3. Ð?nh c?t, c?nh c?u
  • Ví d?

(A, B) (C, E) là c?nh c?u
45
4. LIÊN THÔNG
  • 4.4. Ch? s? liên thông
  • Cho G (V,E) liên thông, k ? N, k 2.
  • N?u xoá di t (tlt k) d?nh b?t k? d? th? thu du?c
    v?n là liên thông thì nói G là d? th? k-liên
    thông
  • S? t? nhiên l?n nh?t k tho? mãn di?u ki?n
  • - G là k - liên thông.
  • - Nhung không có (k 1) liên thông
  • Khi dó k du?c g?i là ch? s? liên thông c?a G.

46
4. LIÊN THÔNG
  • 4.4. Ch? s? liên thông
  • Ví d?

47
4. LIÊN THÔNG
  • 4.4. Ch? s? liên thông
  • Ví d?

G là 2-liên thông
48
Bài 3M?T S? Ð? TH? ÐON VÔ HU?NG Ð?C BI?T
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin SPHN

49
N?I DUNG
  • 1. Ð? th? d?y d? ?
  • 2. Ð? th? vòng ?
  • 3. Ð? th? hình bánh xe ?
  • 4. Ð? th? hình kh?i ?
  • 5. Ð? th? d?u ?
  • 6. Ð? th? lu?ng phân ?

50
1. Ð? TH? Ð?Y Ð?
  • Ð? th? d?y d? n d?nh, ký hi?u Kn, là don d? th?
    vô hu?ng mà gi?a hai d?nh b?t k? d?u có c?nh n?i.
  • Kn có
  • n d?nh.
  • deg(v) n 1.
  • n.(n-1)/2 c?nh.

51
1. Ð? TH? Ð?Y Ð?
  • Trong d?i s?ng chúng ta g?p nhi?u mô hình c?a d?
    th? d?y d?
  • - Bi?u di?n quan h? quen bi?t c?a các h?c sinh
    trong m?t l?p h?c.
  • - Bi?u di?n các c?p d?u trong m?t gi?i thi d?u
    mà các d?i thi d?u vòng tròn m?t lu?t

52
2. Ð? TH? VÒNG
  • Ð? th? vòng Cn (n 3) là m?t d? th? có n d?nh
    v1, v2, , vn và có n c?nh (v1, v2), (v2, v3), ,
    (vn-1, vn), (vn, v1).
  • Ví d?
  • Cn có
  • n d?nh, deg(v) 2, n c?nh.

53
3. Ð? TH? HÌNH BÁNH XE
  • Ð? th? hình bánh xe Cho chu trình Cn (n3) và
    th?c hi?n
  • Thêm m?t d?nh vnew.
  • Thêm các c?nh n?i vnew v?i d?nh c?a chu trình
  • Ta s? du?c d? th? hình bánh xe. Ký hi?u là Wn
    (n3).
  • Wn có
  • n 1 d?nh.
  • deg(vnew) n, deg(v) 3, ? v ? vnew
  • 2n c?nh.

54
3. Ð? TH? HÌNH BÁNH XE
  • Ví d?

55
4. Ð? TH? HÌNH KH?I
  • Ð? th? kh?i n chi?u (n??1), ký hi?u Qn là d? th?
    có 2n d?nh, m?i d?nh bi?u di?n b?ng m?t xâu nh?
    phân d? dài n. Hai d?nh k? nhau khi và ch? khi
    các xâu nh? phân bi?u di?n chúng khác nhau dúng 1
    bít.
  • B?c c?a m?i d?nh b?ng n
  • S? c?nh là n.2n-1

56
4. Ð? TH? HÌNH KH?I
Ví d?
57
5. Ð? TH? Ð?U
  • Ð? th? d?u b?c k là don d? th? mà m?i d?nh d?u
    có b?c k.
  • Ð? th? d?u b?c k có n d?nh, khi dó
  • Deg(vi) k, i 1, ,n
  • Có (nk)/2 c?nh.
  • Ví d?
  • Chu trình Cn là d? th? d?u b?c 2.
  • Ð? th? d?y d? Kn là d?u b?c n 1.

58
6. Ð? TH? LU?NG PHÂN
  • G (V, E) du?c g?i là d? th? lu?ng phân n?u t?p
    d?nh du?c phân ho?ch thành V1 và V2 sao cho m?i
    c?nh c?a d? th? ch? n?i m?t d?nh c?a V1 v?i m?t
    d?nh c?a V2. Kí hi?u G (V1, V2, E)

Ví d?
59
6. Ð? TH? LU?NG PHÂN
  • Hai tính ch?t c?a d? th? lu?ng phân
  • (1) M?i d? th? con c?a d? th? lu?ng phân cung là
    m?t d? th? lu?ng phân
  • (2) Ð? th? lu?ng phân không có khuyên
  • Ví d? Xét d? th? bi?u di?n quan h? hôn nhân c?a
    m?t làng.
  • - M?i d?nh bi?u di?n m?t ngu?i
  • - M?i c?nh bi?u di?n quan h? v? ch?ng gi?a 2
    ngu?i
  • ? Ð? th? hai phía v?i V1 là t?p g?m dàn ông, V2
    là t?p g?m dàn bà.

60
6. Ð? TH? LU?NG PHÂN
  • Ð?nh lí M?t d? th? G là d? th? lu?ng phân khi
    và ch? khi m?i chu trình c?a nó có d? dài ch?n.
  • Ch?ng minh
  • Ði?u ki?n c?n Gi? s? G (V1, V2, E) là d? th?
    lu?ng phân.
  • Xét m?t chu trình b?t k? c?a G (v1, v2, , vn,
    v1). N?u v1?V1 thì v2 ?V2, c? nhu v?y vn?V2 và n
    là s? ch?n. T?c là chu trình có d? dài ch?n.

61
6. Ð? TH? LU?NG PHÂN
  • Ði?u ki?n d? Gi? s? G (V, E) là d? th? mà t?t
    c? các chu trình có d? dài ch?n.
  • Ta ch?ng minh r?ng m?i thành ph?n liên thông c?a
    G là m?t d? th? lu?ng phân.
  • Xét thành ph?n G1 có d?nh v0.
  • V?i m?i d?nh v c?a G1 ta ch?n du?ng di D n?i v0
    v?i v.
  • N?u d? dài du?ng di D là ch?n thì v?V1, n?u d?
    dài l? thì v ?V2.

62
6. Ð? TH? LU?NG PHÂN
  • V?i hai t?p d?nh V1 và V2 du?c thi?t l?p nhu
    trên dã phân ho?ch t?p d?nh c?a G1 thành 2 ph?n
    tho? mãn m?i c?nh ch? n?i m?t d?nh c?a V1 v?i m?t
    d?nh c?a V2.
  • Nhu v?y, G1 là d? th? lu?ng phân
  • ? G là d? th? lu?ng phân.

63
6. Ð? TH? LU?NG PHÂN
  • Ð? th? G (V, E) là d? th? lu?ng phân d?y d?, ký
    hi?u là Km,n, n?u G là d? th? hai phía, t?p d?nh
    V phân ho?ch thành 2 t?p V1, V2 mà V1 m và
    V2 n. Gi?a hai d?nh b?t k? không cùng trong
    m?t l?p d?nh thì luôn có dúng m?t c?nh n?i.
  • V?i Km,n nhu trên, có
  • m n d?nh.
  • deg(v) n ? v ? V1, deg(w) m ? w ? V2.
  • (m.n)/2 c?nh.

64
6. Ð? TH? LU?NG PHÂN
  • Ví d?

65
Bài 4BI?U DI?N Ð? TH? TRÊN MÁY TÍNHS? Ð?NG C?U
HAI Ð? TH?
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin SPHN

66
N?I DUNG
  1. Ma tr?n k? ?
  2. Ma tr?n tr?ng s? ?
  3. Ma tr?n liên thu?c ?
  4. S? d?ng c?u gi?a hai d? th? ?

67
1. MA TR?N K?
  • Cho G (V, E), V v1, v2, , vn .
  • Ma tr?n k? bi?u di?n G là A aijn x n.
  • aij là s? c?nh liên thu?c hai d?nh vi và vj.

Ví d?
68
1. MA TR?N K?
  • Nh?n xét
  • - Ma tr?n k? c?a d? th? vô hu?ng là ma tr?n d?i
    x?ng
  • - T?ng các ph?n t? dòng (c?t) c?a ma tr?n k?
    chính b?ng b?c c?a d?nh tuong ?ng (không có
    khuyên).
  • - Xét ma tr?n tích Ap A.AA (p th?a s?). Khi
    dó aijp là s? du?ng di khác nhau d? dài p t? d?nh
    i d?n d?nh j.

69
2. MA TR?NG S?
  • Ð? th? có tr?ng s?
  • Cho G (V, E) có
  • - V v1, v2, , vn
  • ?e ? E, e du?c gán tr?ng s? c(e).
  • Ma tr?n tr?ng s? bi?u di?n G là C cijn x n

Trong dó ? ? 0, ?, -?
70
2. MA TR?NG S?
Ví d? Cij 0 khi (vi, vj) ?E
71
3. MA TR?N LIÊN THU?C
  • Cho G (V, E), v?i
  • - V v1, v2, , vn
  • - E e1, e2, , em
  • Ma tr?n liên thu?c bi?u di?n G là M mij n x m

72
3. MA LIÊN THU?C
  • Ví d?
  • Nh?n xét
  • Hai c?t gi?ng nhau tuong ?ng v?i hai c?nh song
    song
  • C?t mà ch? có m?t ph?n t? b?ng 1 tuong ?ng v?i
    khuyên.
  • N?u d? th? không có khuyên thì t?ng các ph?n t?
    theo hàng chính b?ng b?c c?a d?nh tuong ?ng.

73
4. S? Ð?NG C?U GI?A HAI Ð? TH?
  • Trong hoá h?c, các d? th? du?c dùng d? t?o mô
    hình các h?p ch?t. Có nhi?u ch?t có cùng công
    th?c phân t? nhung c?u trúc khác nhau. Chúng du?c
    bi?u di?n b?ng các d? th? khác nhau.
  • ?Các d? th? có cùng c?u trúc du?c g?i là các d?
    th? d?ng c?u bi?u di?n mô hình c?a cùng m?t ch?t.
  • Ví d? Xét công th?c phân t? C2H4O2.

74
4. S? Ð?NG C?U GI?A HAI Ð? TH?
  • Cho hai don d? th? G1 (V1, E1) và G2 (V2,
    E2)
  • N?u t?n t?i m?t song ánh
  • f V1 ? V2
  • Sao cho f b?o toàn quan h? li?n k? gi?a các c?p
    d?nh, t?c là
  • (v, w) ? E1 khi và ch? khi (f(v), f(w))
    ?E2.
  • Khi dó G1 và G2 du?c g?i là d?ng c?u v?i nhau.
  • f du?c g?i là m?t phép d?ng c?u.

75
4. S? Ð?NG C?U GI?A HAI Ð? TH?
  • Ví d?

f 1, 2, 3, 4? a, b, c, d f(1) a f(2)
c f(3) b f(4) d (1, 2) (a, c) (1, 4)
(a, d) (2, 3) (c, b) (3, 4) (b, d)
G và H d?ng c?u v?i nhau
76
4. S? Ð?NG C?U GI?A HAI Ð? TH?
  • Nh?n xét
  • - Ð? xác d?nh s? d?ng c?u gi?a hai d? th? là m?t
    bài toán không don gi?n, vì gi?a hai d? th? có n
    d?nh t?n t?i t?i n! song ánh gi?a hai t?p d?nh.
  • - Ð? ch? ra hai d? th? không d?ng c?u v?i nhau ta
    ch? ra chúng không có m?t tính ch?t mà hai d? th?
    d?ng c?u ph?i có
  • S? lu?ng d?nh
  • S? lu?ng c?nh
  • B?c c?a các d?nh

77
4. S? Ð?NG C?U GI?A HAI Ð? TH?
  • Ví d?

S? d?nh cùng 4 d?nh. S? c?nh cùng 4 c?nh.
B?c c?a d?nh G m?i d?nh có b?c 2. H 2
d?nh b?c 2, 1 d?nh b?c 3, 1 d?nh b?c 1.
G và H không d?ng c?u v?i nhau
78
4. S? Ð?NG C?U GI?A HAI Ð? TH?
  • Ví d?

S? d?nh cùng 4 d?nh. S? c?nh cùng 4 c?nh.
B?c c?a d?nh G 2 d?nh b?c 2, 2 d?nh b?c 3
(m?i d?nh b?c 2 k? v?i 2 d?nh b?c 3). H 2
d?nh b?c 2, 2 d?nh b?c 3 (m?i d?nh b?c 2 k? v?i
m?t d?nh b?c 3 và m?t d?nh b?c 2.
G và H không d?ng c?u v?i nhau
79
Bài 5ÐU?NG M?T NÉT EULER VÀ CHU TRÌNH HAMILTON
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin SPHN

80
1. ÐU?NG M?T NÉT EULER
B?y cây c?u ? thành ph? Konigsberg
81
1. ÐU?NG M?T NÉT EULER
  • Cho m?t d? th? vô hu?ng có n d?nh, m c?nh.
  • M?t dãy ch?a t?t c? m c?nh c?a d? th? và có d?ng
  • v1, e1, v2, e2, , vm, em, vm1
  • Sao cho c?nh ei n?i hai d?nh vi và vi1.
  • Dãy c?nh dó g?i là du?ng m?t nét Euler.
  • N?u v1 ? vm1 thì g?i du?ng m?t nét Euler khép
    kín.
  • N?u v1 ? vm1 thì g?i du?ng m?t nét Euler m?.

82
1. ÐU?NG M?T NÉT EULER
  • Ð?nh lý 1 G (V, E) có du?ng m?t nét Euler khép
    kín khi và ch? khi m?i d?nh c?a V có b?c ch?n.
  • Ð?nh lý 2 G (V, E) có du?ng m?t nét Euler m?
    khi và ch? khi s? d?nh b?c l? c?a G là 2.
  • Ð? th? Euler du?c ?ng d?ng trong các bài toán
    th?c t? nhu tìm hành trình ng?n nh?t cho ngu?i
    dua thu, xe thu rác, c?nh sát tu?n tra.

83
1. ÐU?NG M?T NÉT EULER
  • Ví d?

G1 có du?ng m?t nét Euler kín
84
1. ÐU?NG M?T NÉT EULER
  • Ví d?

G2 có du?ng m?t nét Euler m?
85
1. ÐU?NG M?T NÉT EULER
  • Ví d?

G2 không có du?ng m?t nét Euler
86
1. ÐU?NG M?T NÉT EULER
  • Thu?t toán tìm du?ng m?t nét Euler khép kín
  • Bu?c 1 Ch?n d?nh a làm d?nh b?t d?u. Xây d?ng
    du?ng m?t nét kép kín con C.
  • Bu?c 2 Lo?i b? các c?nh trong C kh?i d? th?.
    Lo?i b? các d?nh cô l?p (n?u có).
  • Bu?c 3 L?y m?t d?nh chung c?a C và d? th? còn
    l?i d? xây d?ng du?ng m?t nét con ti?p theo C.
    R?i khép vào C và quay l?i bu?c 2. L?p cho d?n
    khi cách c?nh du?c dua h?t vào C.

87
1. ÐU?NG M?T NÉT EULER
  • Ví d?

Ðu?ng m?t nét khép kín A C E A
88
1. ÐU?NG M?T NÉT EULER
  • Ví d?

Ðu?ng m?t nét khép kín A C E A
Ðu?ng m?t nét khép kín A C E A D B - A
89
1. ÐU?NG M?T NÉT EULER
  • Ví d?

Ðu?ng m?t nét khép kín A C E A D B - A
Ðu?ng m?t nét khép kín Euler A C E A D
E F D B - A
90
2. CHU TRÌNH HAMILTON
  • Cho G (V, E), n?u t?n t?i m?t chu trình C di
    qua t?t c? các d?nh và m?i d?nh dúng m?t l?n. Khi
    dó C g?i là chu trình Hamilton.
  • N?u t?n t?i du?ng di H có tính ch?t nhu trên thì
    H du?c g?i là du?ng di Hamilton.
  • V?n d? tìm chu trình Hamilton trong d? th? du?c
    nhà toán h?c Anh là Hamilton nêu ra nam 1858.
  • Ð?n nay, vi?c tìm tiêu chu?n d? nh?n bi?t d? th?
    Hamilton v?n là m? và cung chua có thu?t toán
    hi?u qu? d? ki?m tra m?t d? th? có là Hamilton
    hay không?

91
2. CHU TRÌNH HAMILTON
  • Whiney (1931) Trong d? th? ph?ng có m?i mi?n là
    m?t tam giác v?i di?u ki?n 3 c?nh b?t k? c?a nó
    l?p thành m?t tam giác ch? khi tam giác dó là m?t
    mi?n c?a d? th? thì d? th? là Hamilton
  • Tutte M?i d? th? ph?ng 4-liên thông d?nh d?u có
    m?t chu trình Hamilton
  • Dirac (1952) Ðon d? th? vô hu?ng G có n gt 2
    d?nh, m?i d?nh có b?c không nh? hon n/2 là d? th?
    Hamilton

92
2. CHU TRÌNH HAMILTON
  • Ví d?

G1 không ch?a du?ng di và chu trình Hamilton G2
ch?a du?ng di Hamilton G3 ch?a chu trình Hamilton
93
2. CHU TRÌNH HAMILTON
  • Thu?t toán li?t kê t?t c? các chu trình Hamilton
  • Thu?t toán du?c xây d?ng trên co s? thu?t toán
    quay lui cho phép li?t kê t?t c? các chu trình
    Hamilton.
  • Phát tri?n m?t dãy d?nh x1, x2, , xk,
    c?a d? th? G (V, E) cho b?i danh sách k? Ke(v),
    v?V

94
2. CHU TRÌNH HAMILTON
  • Thu?t toán li?t kê t?t c? các chu trình Hamilton
  • Procedure Hamilton(k)
  • Begin
  • For y?Ke(xk-1) do
  • if (kn1)and(yv0) then GhiNhan(x1, , xn,
    v0)
  • else if ChuaXety then
  • Begin
  • xk y
  • ChuaXety False
  • Hamilton(k1)
  • ChuaXety True
  • End
  • End
  • Begin
  • For v?V do ChuaXetv True
  • x1 v0
  • ChuaXetv0 False
  • Hamilton(2)
  • End.

95
2. CHU TRÌNH HAMILTON
  • Ví d?

96
Bài 6 Ð? TH? PH?NGVÀ BÀI TOÁN TÔ MÀU Ð? TH?
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin SPHN

97
N?I DUNG
  1. Khái ni?m d? th? ph?ng ?
  2. Công th?c Euler ?
  3. Ð?nh lý Kuratowski ?
  4. Tô màu d? th? ?

98
1. KHÁI NI?M Ð? TH? PH?NG
  • Bài toán Xây du?ng di t? ba ngôi nhà v?i ba
    gi?ng riêng r? nhu hình sau.

?Có cách nào mà không có các du?ng c?t nhau.
99
1. KHÁI NI?M Ð? TH? PH?NG
  • Mô hình hoá bài toán b?ng d? th? phân dôi d?y d?
    K3.3.

Khi dó câu h?i trên du?c di?n d?t nhu sau T?n
t?i hay không cách v? d? th? phân dôi d?y d? K3,3
trên m?t m?t ph?ng sao cho không có hai c?nh nào
c?t nhau?
100
1. KHÁI NI?M Ð? TH? PH?NG
  • M?t d? th? du?c g?i là d? th? ph?ng n?u ta có th?
    v? nó trên m?t m?t ph?ng sao cho không có các
    c?nh nào c?t nhau ? m?t di?m không ph?i là d?nh
    c?a d? th?.
  • Chú ý m?t d? th? có th? du?c v? b?ng nhi?u cách
    khác nhau. N?u t?n t?i m?t cách v? tho? mãn d?nh
    nghia trên thì nó là d? th? ph?ng.

101
1. KHÁI NI?M Ð? TH? PH?NG
  • Ví d? 1

K4 là d? th? ph?ng.
102
1. KHÁI NI?M Ð? TH? PH?NG
  • Ví d? 2

Q3 là d? th? ph?ng.
103
2. CÔNG TH?C EULER
  • Mi?n ph?ng
  • Bi?u di?n ph?ng c?a d? th? chia m?t ph?ng thành
    các mi?n khác nhau (k? c? mi?n vô h?n).

Ví d? d? th? ph?ng sau chia m?t ph?ng thành các
mi?n A, B, C, D nhu hình v?.
104
2. CÔNG TH?C EULER
  • Công th?c Euler
  • Cho G là m?t don d? th? ph?ng liên thông v?i m là
    s? c?nh và n là s? d?nh. G?i f là s? mi?n trên
    bi?u di?n ph?ng c?a G.
  • Khi dó

f n m 2
T?ng quát hóa G là m?t d? th? ph?ng v?i n d?nh,
m c?nh, f mi?n ph?ng, ?(G) là s? thành ph?n liên
thông. Khi dó ta có f n m ?(G) 1
105
2. CÔNG TH?C EULER
  • Ví d? 1
  • Ð? th? bên có
  • e 7
  • v 5
  • Ta có
  • f e v 2
  • 7 5 2
  • 4

106
2. CÔNG TH?C EULER
  • Ví d? 2 Ch?ng minh r?ng K3,3 không ph?i là d?
    th? ph?ng.
  • Gi?i Gi? s? K3,3 là d? th? ph?ng.
  • M?i chu trình c?a K3,3 g?m ít nh?t là 4 c?nh.
  • Nên m?i mi?n b? gi?i h?n b?i ít nh?t 4 c?nh.
  • T?ng s? c?nh gi?i h?n các m?t là 4f.
  • Mà m?t c?nh thu?c vào hai mi?n.
  • Do dó 2e 4f ? 2e 4(e v 2)
  • Ta có 2e 2.9 18
  • 4(e v 2) 4(9 - 6 2) 20
  • Vô lý.
  • Nhu v?y K3,3 không là d? th? ph?ng.

107
3. Ð?NH LÝ KURATOWSKI
  • Ta có K3,3 và K5 không là d? th? ph?ng.
  • N?u K3,3 ho?c K5 là d? th? con c?a G thì G là d?
    th? không ph?ng.
  • Phép nhân chia so c?p c?nh (u, v) trên d? th? là
  • Lo?i b? c?nh này kh?i d? th?.
  • Thêm vào d?nh w và hai c?nh (u, w), (w,v).
  • Hai d? th? G và H du?c g?i là d?ng phôi n?u chúng
    có th? nh?n du?c t? cùng m?t d? th? b?ng m?t dãy
    các phép nhân chia so c?p.

108
3. Ð?NH LÝ KURATOWSKI
Ví d? G2 và G3 là hai d? th? d?ng phôi vì chúng
có th? nh?n du?c t? d? th? G1 b?ng các phép phân
chia so c?p.
  • Ð?nh lý Kuratowski M?t d? th? là d? th? ph?ng
    khi và ch? khi nó không ch?a d? th? con d?ng phôi
    v?i K3,3 ho?c K5

109
4. TÔ MÀU Ð? TH?
  • Bài toán Ð? phân bi?t các mi?n trên b?n d? ta
    ph?i tô màu chúng b?ng các màu khác nhau.
  • H?i c?n ít nh?t bao nhiêu màu d? tô m?t b?n d?
    b?t k? sao cho các mi?n k? nhau không cùng m?t
    màu.

110
4. T Ô MÀU Ð? TH?
  • Mô hình hoá bài toán
  • M?i mi?n tuong ?ng m?t d?nh c?a d? th?.
  • Hai d?nh có c?nh n?i n?u chúng là hai mi?n có
    chung biên gi?i.
  • Ð? th? nh?n du?c g?i là d? th? d?i ng?u c?a b?n
    d?.
  • Ð? th? d?i ng?u c?a b?n d? là d? th? ph?ng.
  • Bài toán tuong duong tô màu các d?nh c?a d? th?
    sao cho hai d?nh k? nhau thì du?c tô b?i hai màu
    khác nhau.

111
4. TÔ MÀU Ð? TH?
  • Ví d?

112
4. T Ô MÀU Ð? TH?
  • Ð?nh nghia Tô màu d? th? là vi?c gán màu cho các
    d?nh c?a d? th? sao cho không có hai d?nh k? nhau
    du?c gán cùng m?t màu.
  • Ð?nh nghia s? màu c?a m?t d? th? là s? màu t?i
    thi?u c?n d? tô màu d? th? này.
  • Ð?nh lý 4 màu s? màu c?a m?t d? th? ph?ng b?t k?
    là m?t s? không l?n hon 4.
  • Nh?n xét
  • S? màu c?a d? th? lu?ng phân là 2 màu.
  • S? màu c?a d? th? d?y d? Kn là n màu

113
4. TÔ MÀU Ð? TH?
B
  • Ví d?

C
A
E
D
114
4. TÔ MÀU Ð? TH?
  • Ví d? Bài toán l?p l?ch thi
  • Hãy l?p l?ch thi trong tru?ng d?i h?c sao cho
    không có sinh viên nào ph?i thi d?ng th?i hai môn
    cùng m?t lúc
  • Gi?i Mô hình hóa bài toán nhu sau
  • M?i d?nh là m?t môn thi
  • Hai d?nh có c?nh n?i n?u dó là hai môn mà m?t
    sinh viên nào dó ph?i thi.
  • Th?i gian m?i môn thi ?ng v?i m?t màu.
  • Bài toán tr? thành bài toán tô màu cho d? th?
    trên sao cho hai d?nh k? nhau có màu khác nhau.

115
Bài 7BÀI TOÁN TÌM ÐU?NG ÐI NG?N NH?T
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin SPHN

116
1. BÀI TOÁN TH?C T?
  • Có 6 di?m du l?ch trong m?t khu sinh thái là a,
    b, c, d, e, z. Gi?a hai di?m có th? có ho?c không
    có du?ng di tr?c ti?p.
  • Hãy tìm du?ng di có kho?ng cách ng?n nh?t t? di?m
    a d?n z.

117
1. BÀI TOÁN TH?C T?
  • Bài toán du?c mô hình hoá b?ng d? th? có tr?ng s?
    nhu sau
  • M?i d?nh bi?u di?n m?t di?m du l?ch.
  • Hai d?nh có c?nh n?i n?u có du?ng di tr?c ti?p.
  • Tr?ng s? c?a c?nh du?c gán là kho?ng cách t?
    di?m này sang di?m kia.

118
1. BÀI TOÁN TH?C T?
  • Ð? th? mô hình hoá bài toán

Ðu?ng di ng?n nh?t là du?ng di có t?ng tr?ng s?
cách c?nh c?a nó là nh? nh?t.
119
2. THU?T TOÁN DIJKSTRA
  • Bài toán Tìm du?ng di ng?n nh?t t? d?nh a d?n z
    c?a d? th? có tr?ng s? liên thông G (V, E).
  • Thu?t toán Dijkstra (d? xu?t nam 1959 do nhà toán
    h?c Hà Lan E.Dijkstra)
  • G?i L(v) là d? dài du?ng di ng?n nh?t t? d?nh a
    d?n d?nh v.
  • S là t?p các d?nh dã tìm du?c du?ng di ng?n nh?t
    t? a d?n nó.
  • Pr(v) là d?nh ngay tru?c d?nh v trên du?ng di
    ng?n nh?t

120
2. THU?T TOÁN DIJKSTRA
  • Thu?t toán
  • Bu?c 1 L(a) 0, S Ø, ? v?S, v ? a L(v) ?
  • Bu?c 2 N?u z ?S thì k?t thúc.
  • Bu?c 3 Ch?n v ?S sao cho L(v) là nh? nh?t.
  • Ðua v vào S.
  • Bu?c 4 v?i m?i d?nh x li?n k? v và x ?S
  • N?u L(x) gt L(v) c(v, x) thì
  • L(x) L(v) c(v,x) và Pr(x)
    v
  • Quay l?i bu?c 2.

121
3. VÍ D?
  • B1 L(a) 0, S ?
  • L(b) L(c) L(d) L(e) L(z) ?

B2 v a, S a. L(b) min?, 2 0
2 L(d) min?, 3 0 3
B3 v b, S a,b, L(c) 7, L(e) 4, L(d)
3, L(z)?
B4 v d, S a,b,d, L(c) 7, L(e) 4, L(z)
?
B5 v e, S a,b,d,e, L(c) 5, L(z) 8
B6 v c, S a,b,d,e, L(z) 7
122
3. VÍ D?
Ðu?ng di ng?n nh?t t? a d?n z là
a b e c - z
123
3. VÍ D?
  • Tìm du?ng di ng?n nh?t t? A d?n cách d?nh còn l?i
    trong d? th? sau

124
3. VÍ D?
(3,A)
(0,?)
(6,A)
(2,A)
(4,A)
125
3. VÍ D?
(3,A)
(0,?)
(6,A)
(2,A)
(3,C)
(4,A)
126
3. VÍ D?
(3,A)
(0,?)
(6,A)
(2,A)
(8,B)
(3,C)
127
3. VÍ D?
(3,A)
(0,?)
(6,A)
(5,E)
(2,A)
(8,B)
(7,E)
(3,C)
128
3. VÍ D?
A B (3) A C (2) A C E (3)
A C E D (5) A C E F (7)
129
Bài 8CÂY VÀ ?NG D?NG
B? môn Khoa h?c máy tính Khoa Công ngh? thông
tin SPHN
130
N?I DUNG
  1. Cây ?
  2. Cây nh? phân tìm ki?m ?
  3. Cây bi?u th?c s? h?c ?
  4. Duy?t cây nh? phân ?

131
1. CÂY
  • Ð?nh nghia Cây là m?t don d? th? vô hu?ng, liên
    thông và không có chu trình.
  • Cây có g?c n?u ta ch?n m?t d?nh d?c bi?t g?i là
    g?c c?a cây và d?nh hu?ng các c?nh trên cây t?
    g?c di ra thì ta du?c m?t d? th? có hu?ng g?i là
    cây có g?c.
  • Ch?n d?nh làm g?c khác nhau s? t?o ra các cây
    khác nhau.

132
1. CÂY
  • Ví d?

133
1. CÂY
  • M?t s? khái ni?m Cho T là m?t cây có g?c, v là
    m?t d?nh khác g?c c?a T.
  • Cha c?a v là d?nh u n?u có m?t c?nh có hu?ng
    duy nh?t t? u ? v. Khi dó, u du?c g?i là cha c?a
    v v là con c?a u.
  • Anh em là các d?nh có cùng cha.
  • T? tiên c?a m?t d?nh khác g?c là các d?nh trên
    du?ng di t? g?c d?n d?nh dó.
  • Con cháu c?a v là các d?nh có v là t? tiên.
  • Lá là d?nh không có con.
  • Ð?nh trong là các d?nh có con.

134
1. CÂY
  • Cây con v?i g?c a là d? th? con c?a cây dang
    xét, bao g?m a và các con cháu c?a nó cùng t?t c?
    các c?nh liên thu?c v?i các con cháu c?a a.
  • M?c c?a m?t d?nh là kho?ng cách t? g?c d?n
    nó.
  • Chi?u cao c?a cây m?c l?n nh?t c?a m?t d?nh
    b?t k? trong cây g?i là chi?u cao c?a cây.

135
1. CÂY
  • Ví d?

- Con c?a a là b, c, d - Cha c?a b, c, d là a -
b, c, d là anh em. - Con cháu c?a d là g, h, i,
l, m - T? tiên c?a g là a, d. - a, b, d, f, h là
d?nh trong
  • - e, c, j, k, l, m, i là lá
  • - Cây bên ph?i là cây con g?c d c?a cây bên trái
  • - M?c c?a b, c, d là 1. M?c c?a e, f, g, h, i là
    2.
  • - Chi?u cao c?a cây là 3

136
1. CÂY
  • Ð?nh lí 1 M?t cây b?t kì v?i ít nh?t 2 d?nh thì
    có ít nh?t hai d?nh treo.
  • Ð?nh lí 2 M?t cây có n d?nh có dúng n 1 c?nh.

137
1. CÂY
  • Ð?nh lý Daisy Chain Cho T là m?t d? th? có n
    d?nh. Khi dó các kh?ng d?nh sau là tuong duong
  • (1) T là m?t cây.
  • (2) T không có chu trình và có n - 1 c?nh.
  • (3) T là m?t d? th? liên thông và n?u h?y b?t k?
    m?t c?nh nào c?a nó cung làm m?t tính liên thông.
  • (4) Gi?a 2 d?nh b?t k? c?a T, luôn t?n t?i m?t
    du?ng di don duy nh?t n?i 2 d?nh này.
  • (5) T không có chu trình và n?u thêm m?t c?nh
    m?i n?i 2 d?nh b?t k? c?a T thì s? t?o ra m?t chu
    trình.
  • (6) T liên thông và có n - 1 c?nh.

138
2. CÂY NH? PHÂN TÌM KI?M
  • Ð?nh nghia cây nh? phân là m?t cây có g?c. M?i
    d?nh trong c?a cây không có quá hai con, trong dó
    có m?t con bên trái và con bên ph?i.
  • Cây nh? phân du?c g?i là d?y d? n?u m?i d?nh
    trong c?a nó có dúng 2 con.
  • Cây nh? phân tìm ki?m là m?t cây nh? phân tho?
    mãn
  • (1) M?i d?nh du?c gán m?t khoá khác nhau.
  • (2) Khoá c?a m?t d?nh trong l?n hon khoá con trái
    và nh? hon khoa con ph?i c?a nó.

139
2. CÂY NH? PHÂN TÌM KI?M
  • Thu?t toán xây d?ng cây nh? phân tìm ki?m cho m?t
    dãy khoá.
  • (1) Ch?n khoá v0 làm g?c.
  • (2) L?p v?i m?i khoá v còn l?i th?c hi?n nhu
    sau
  • v0 ? g?c.
  • v gt v0 N?u v0 dã có con ph?i thì v0 ? con ph?i
  • n?u không thì v là con ph?i c?a
    v0.
  • v lt v0 N?u v dã có con trái thì v0 ? con trái
  • n?u không thì v là con trái c?a
    v0.
  • Thu?t toán k?t thúc khi m?i khoá dã du?c dua vào
    cây.

140
2. CÂY NH? PHÂN TÌM KI?M
  • Ví d? 11, 8, 7, 10, 12, 16, 14, 17

141
2. CÂY NH? PHÂN TÌM KI?M
  • Ví d? 11, 8, 7, 10, 12, 16, 14, 17

Tìm khoá 16 So sánh 11. so sánh 12. So
sánh 16. 16 có trong dãy dã cho
142
2. CÂY NH? PHÂN TÌM KI?M
  • Ví d? 11, 8, 7, 10, 12, 16, 14, 17

Tìm khoá 15 So sánh 11. so sánh 12. So
sánh 16. So sánh 14. 15 không có trong dãy dã
cho
143
3. CÂY BI?U TH?C S? H?C
  • Cây bi?u di?n bi?u th?c s? h?c là m?t cây nh?
    phân tho? mãn
  • (1) Nút trong bi?u di?n toán t? 2 ngôi ? ( - /
    ).
  • (2) Lá bi?u di?n cho m?t toán h?ng c?a bi?u th?c.
  • Bi?u th?c E1 ? E2 du?c bi?u di?n b?i cây có
  • G?c bi?u di?n ?.
  • Con trái bi?u di?n cho bi?u th?c E1.
  • Con ph?i bi?u di?n cho bi?u th?c E2.

144
3. CÂY BI?U TH?C S? H?C
  • Ví d?

145
4. DUY?T CÂY NH? PHÂN
  • 3 phuong pháp duy?t cây nh? phân
  • Duy?t ti?n t? (PreOrder)
  • (1) Duy?t nút g?c.
  • (2) Duy?t con trái theo phuong pháp ti?n t?.
  • (3) Duy?t con ph?i theo phuong pháp ti?n t?.
  • Duy?t trung t? (InOrder)
  • (1) Duy?t con trái theo phuong pháp trung t?.
  • (2) Duy?t nút g?c.
  • (3) Duy?t con ph?i theo phuong pháp trung t?.

146
4. DUY?T CÂY NH? PHÂN
  • Duy?t h?u t? (PostOrder)
  • (1) Duy?t con trái theo phuong pháp h?u t?.
  • (2) Duy?t con ph?i theo phuong pháp h?u t?.
  • (3) Duy?t nút g?c.

147
4. DUY?T CÂY NH? PHÂN
  • Ví d? Duy?t cây nh? phân sau theo phuong pháp
    ti?n t?

148
4. DUY?T CÂY NH? PHÂN
  • Ví d? Duy?t cây nh? phân sau theo phuong pháp
    trung t?

149
4. DUY?T CÂY NH? PHÂN
  • Ví d? Duy?t cây nh? phân sau theo phuong pháp
    h?u t?

150
Bài 9 CÂY KHUNG C?A Ð? TH?
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin - SPHN

151
N?I DUNG
  • Ð?nh nghia ?
  • Xác d?nh cây khung ?
  • 2.1. Theo chi?u r?ng
  • 2.2. Theo chi?u sâu
  • 3. Cây khung nh? nh?t ?

152
1. Ð?NH NGHIA
  • Ð?nh nghia cây khung Cho d? th? G (V, E) là
    m?t d? th? vô hu?ng liên thông.
  • Cây T (V, F) v?i F là t?p con c?a E du?c g?i là
    cây khung c?a d? th? G.
  • Ví d?

153
2. XÁC Ð?NH CÂY KHUNG
  • Xác d?nh cây khung là vi?c xây d?ng m?t cây ch?a
    t?t c? các d?nh c?a d? th?.
  • Hai thu?t toán xác d?nh cây khung là
  • Xác d?nh uu tiên theo chi?u r?ng.
  • Xác d?nh uu tiên theo chi?u sâu.

154
2. XÁC Ð?NH CÂY KHUNG
  • 2.1. Theo chi?u sâu.
  • Bu?c 1 L?y m?t d?nh a làm g?c c?a cây khung.
  • Bu?c 2 Xây d?ng du?ng di t? d?nh này b?ng cách
    ghép l?n lu?t các c?nh vào. M?i c?nh du?c ghép
    vào n?i d?nh cu?i cùng c?a du?ng di và m?t d?nh
    chua có trong cây. Th?c hi?n d?n khi không ghép
    du?c thêm c?nh nào n?a.
  • Bu?c 3 N?u du?ng di ch?a t?t c? các d?nh c?a
    d? th? thì dó chính là cây khung. N?u không thì
    chuy?n sang bu?c 4.
  • Bu?c 4 Quay lui l?i d?nh ngay tru?c d?nh cu?i
    cùng c?a du?ng di và xây d?ng du?ng di m?i b?t
    d?u t? d?nh này. N?u không du?c thì lùi ti?p d?nh
    n?a.

155
2. XÁC Ð?NH CÂY KHUNG
  • 2.1. Theo chi?u sâu
  • Ví d?

TT C?nh ghép vào
1 (A,B)
2 (B,F)
3 (F,G)
4 (G,E)
5 (E,D)
6 (D,C)
156
2. XÁC Ð?NH CÂY KHUNG
  • 2.2. Theo chi?u r?ng
  • Các bu?c th?c hi?n c?a BFS(v)
  • Bu?c 1 Ch?n d?nh a làm g?c c?a cây.
  • Bu?c 2 ghép các c?nh liên thu?c v?i g?c. Các
    d?nh k? v?i g?c trong bu?c này có m?c là 1.
  • Bu?c 3 ti?p t?c ghép các c?nh liên thu?c d?nh
    m?c 1 sao cho không t?o chu trình. Các d?nh du?c
    dua vào ? bu?c này có m?c là 2.
  • Bu?c 4 Ti?p t?c quá trình khi t?t c? các d?nh
    dã du?c ghép vào cây.

157
2. XÁC Ð?NH CÂY KHUNG
  • 2.1. Theo chi?u sâu
  • Ví d?

TT C?nh ghép vào
1 (A,B)
2 (A,C)
3 (A,D)
4 (B,F)
5 (D,G)
6 (D,E)
158
2. XÁC Ð?NH CÂY KHUNG
  • ?ng d?ng hai thu?t toán trên
  • Tìm du?ng di gi?a hai d?nh. Ðu?ng di xây d?ng khi
    uu tiên theo chi?u r?ng là du?ng di ng?n nh?t.
  • - Tìm các thành ph?n liên thông c?a d? th?.
  • - Thu?t toán theo chi?u sâu d? tìm chu trình.

159
3. CÂY KHUNG NH? NH?T
  • Ð?nh nghia cây khung nh? nh?t
  • Cây khung nh? nh?t trong m?t d? th? liên thông,
    có tr?ng s? là m?t cây khung có t?ng tr?ng s?
    trên các c?nh c?a nó là nh? nh?t.
  • Thu?t toán tìm cây khung nh? nh?t
  • Prim (Robert Prim - 1957)
  • Kruskal (Joseph Kruskal 1965)

160
3. CÂY KHUNG NH? NH?T
  • Thu?t toán Prim
  • Ð? th? G (V, E) liên thông, có n d?nh.
  • (1) Ch?n m?t c?nh b?t k? có tr?ng s? nh? nh?t,
    d?t nó vào cây khung.
  • (2) L?n lu?t ghép vào cây các c?nh có tr?ng s?
    nh? nh?t liên thu?c v?i m?t d?nh c?a cây và không
    t?o ra chu trình trong cây.
  • Thu?t toán d?ng l?i khi n ? 1 c?nh du?c ghép vào
    cây.

161
3. CÂY KHUNG NH? NH?T
  • Ví d? Dùng thu?t toán Prim tìm cây khung nh?
    nh?t c?a d? th? sau

G
Cây khung c?a G Tr?ng s? 12
C?nh dã du?c ch?n
C?nh có th? ch?n
162
3. CÂY KHUNG NH? NH?T
  • Thu?t toán Kruskal
  • Ð? th? G (V, E) liên thông, có n d?nh.
  • (1) Ch?n m?t c?nh b?t k? có tr?ng s? nh? nh?t,
    d?t nó vào cây khung.
  • (2) L?n lu?t ghép vào cây các c?nh có tr?ng s?
    nh? nh?t mà không t?o ra chu trình trong cây.
  • Thu?t toán d?ng l?i khi n ? 1 c?nh du?c ghép vào
    cây.

163
3. CÂY KHUNG NH? NH?T
  • Ví d? Dùng thu?t toán Kruskal tìm cây khung nh?
    nh?t c?a d? th? sau

G
Cây khung c?a G Tr?ng s? 12
C?nh dã du?c ch?n
164
Bài 10 Ð? TH? CÓ HU?NG
  • B? môn Khoa h?c máy tính
  • Khoa Công ngh? thông tin - SPHN

165
N?I DUNG
  • B?c c?a d?nh ?
  • Bi?u di?n d? th? trên máy tính ?
  • Dây chuy?n, bang chuy?n và chu trình ?
  • Ð? th? có hu?ng liên thông ?
  • Ð? th? ph?n chu trình ?

166
1. B?C C?A Ð?NH
  • B?c c?a d?nh Cho G V, E, v ?V. Ta có
  • deg-(v) (b?c vào) là s? c?nh nh?n v là d?nh
    cu?i (d?nh vào)
  • deg(v) (b?c ra) là s? c?nh nh?n v là d?nh d?u
    (d?nh ra).
  • M?t khuyên trên d? th? có hu?ng s? dóng góp 2 don
    v? vào b?c vào và b?c ra tuong ?ng c?a d?nh dó.

167
1. B?C C?A Ð?NH
  • Ví d?

deg(1) 2, deg-(1) 0 deg(2) 1, deg-(2)
2 deg(3) 1, deg-(3) 1 deg(4) 0, deg-(4)
2 deg(5) 2, deg-(5) 1
Chú ý deg(v) 0 ? v là d?nh h? luu. deg-(v)
0 ? v là d?nh ngu?n.
168
1. B?C C?A Ð?NH
Ð?nh lý Gi? s? G V, E là m?t d? th? có hu?ng
có m cung khi dó
169
2. BI?U DI?N Ð? TH? TRÊN MÁY TÍNH
  • Ma tr?n k? Cho don d? th? G V, E
  • v?i V v1,
    , vn
  • Ma tr?n k? A aijn x n bi?u di?n G.
  • aij là s? cung di t? vi d?n vj
  • Ví d?

170
2. BI?U DI?N Ð? TH? TRÊN MÁY TÍNH
  • Ma tr?n k? liên thu?c
  • Cho don d? th? G V,E
  • v?i V v1, , vn
  • E e1, e2, , em
  • Ma tr?n k? M mijn x m bi?u di?n G du?c xác
    d?nh nhu sau
  • mij 1 n?u vi là d?nh ra ej
  • mij -1 n?u vi là d?nh vào ej
  • mij 0 n?u ej là không liên thu?c vi

171
2. BI?U DI?N Ð? TH? TRÊN MÁY TÍNH
  • Ví d?

172
3. DÂY CHUY?N, BANG CHUY?N VÀ CHU TRÌNH
  • Dây chuy?n là m?t dãy các cung e1, e2, , ek sao
    cho khi b? hu?ng di thì nó tr? thành m?t dãy c?nh
    k? ti?p trong d? th? vô hu?ng thu du?c
  • Bang chuy?n là m?t dây chuy?n e1, e2, , ek mà
    d?nh dích c?a cung ei là d?nh xu?t phát c?a cung
    ei1 v?i i 1,, k-1.
  • Chu trình là m?t bang chuy?n khép kín.

173
3. DÂY CHUY?N, BANG CHUY?N VÀ CHU TRÌNH
  • Ví d?

1,2-2,4-5,4 là dây chuy?n. 1,3-3,2-2,4
là bang chuy?n. 3,2-2,4-4,3 là chu trình
174
3. DÂY CHUY?N, BANG CHUY?N VÀ CHU TRÌNH
  • Dây chuy?n (bang chuy?n) co b?n là nh?ng dây
    chuy?n (bang chuy?n) mà m?i d?nh ch? xu?t hi?n
    nhi?u nh?t m?t l?n.
  • Bang chuy?n co b?n ch?a t?t c? các d?nh c?a d?
    th? du?c g?i là bang chuy?n Hamilton.
  • Chu trình co b?n ch?a t?t c? các c?nh c?a d? th?
    du?c g?i là chu trình Euler.
  • Khuyên du?c coi là chu trình có d? dài 1.

175
4. Ð? TH? CÓ HU?NG LIÊN THÔNG
  • Cho G V, E, khi dó
  • 2 d?nh v và w du?c g?i là liên thông y?u n?u
    t?n t?i dây truy?n n?i chúng.
  • G là liên thông y?u n?u hai d?nh b?t k? d?u
    liên thông y?u.
  • G là liên thông m?nh n?u hai d?nh b?t k? du?c
    n?i v?i nhau b?i m?t bang chuy?n.

176
4. Ð? TH? CÓ HU?NG LIÊN THÔNG
Ví d?
G là liên thông y?u H là liên thông m?nh
177
5. Ð? TH? PH?N CHU TRÌNH
  • Ð? th? ph?n chu trình là m?t d? th? có hu?ng G
    không ch?a chu trình.
  • Ð?nh lý 1 trong m?i d? th? ph?n chu trình luôn
    t?n t?i ít nh?t m?t d?nh ngu?n và m?t d?nh h?
    luu.
  • Ð?nh lý 2 d? th? có hu?ng G V, E v?i n d?nh
    là d? th? ph?n chu trình khi và ch? khi chúng ta
    có th? dánh s? các d?nh c?a d? th? b?i 1, 2, , n
    sao cho m?i c?nh i, j tho? mãn quan h? i lt j.

178
5. Ð? TH? PH?N CHU TRÌNH
  • Ví d?

Ð?nh h? luu
Ð?nh ngu?n
Write a Comment
User Comments (0)
About PowerShow.com