1 / 90

Bài giảng Training Cấu trúc Bài giảng cuối kì

Xu00e2y du1ef1ng u0111u1ed3 thu1ecb mu00f4 tu1ea3 u0111u1ea7y u0111u1ee7 thu00f4ng tin cu1ee7a bu00e0i tou00e1n:<br>Mu1ed7i u0111u1ec9nh vu00a0u2208u00a0V lu00e0u00a0mu1ed9t u0111u1ed1i tu01b0u1ee3ng trong bu00e0i tou00e1n<br>Mu1ed7i cu1ea1nh eu00a0u2208 E lu00e0 mu1ed1i quan hu1ec7 giu1eefa hai u0111u1ed1i tu01b0u1ee3ng<br>Su1eed du1ee5ng cu00e1c tu00ednh chu1ea5t, u0111u1ecbnhu00a0lu00fd,u2026 u0111u1ec3 suy ra u0111iu1ec1u phu1ea3i chu1ee9ng minh<br>https://giaoan.co/

JulioLarson
Download Presentation

Bài giảng Training Cấu trúc Bài giảng cuối kì

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BAN HỌC TẬP KHOA CÔNG NGHỆ PHẦN MỀM CHUỖI TRAINING CUỐI HỌC KÌ 2 NĂM HỌC 2020-2021 Ban học tập Khoa Công Nghệ Phần Mềm Trường ĐH Công Nghệ Thông Tin  ĐHQG Hồ Chí Minh Our Phone 0932 470 201 0936 645 393 01666 27 27 03 Email / Group bht.cnpm.uit@gmail.com fb.com/groups/bht.cnpm.uit

  2. Cấutrúcrờirạc Training Thờigian training: Trainer:

  3. LÝ THUYẾT ĐỒ THỊ

  4. Lýthuyếtđồthị Kháiniệm:  4

  5. Lý thuyết đồ thị Ví dụ:  Đồ thị vô hướng • G1 = (V1, E1) trong đó: V1 = {a, b, c, d, e, f, g, h} E1 = {(a, b), (b, c), (c, d), (a, d), (d, e), (a, e), (d, b), (f, g)} 5

  6. Lý thuyết đồ thị Ví dụ:  Đồ thị có hướng • G3 = (V3, E3) trong đó: V3 = {a, b, c, d, e, f, g, h}  E3 = {(a, b), (b, c), (c, b), (d, c), (a, d), (b, d), (a, e), (d, e), (e, a), (f, g), (g, f)} 6

  7. Lý thuyết đồ thị • Bậc của đỉnh: 7

  8. Lý thuyết đồ thị Ví dụ:  Đồthịvôhướng Đỉnh treo deg(a)= 4          deb(b)= 5 deg(c)= 4          deg(d)= 0  deg(e)= 1          deg(f)= 4 deg(g)= 4 Đỉnh cô lập 8

  9. Lý thuyết đồ thị Bài tập: Bậc của các đỉnh lần lượt là: a b • a: 3, b: 5, c: 2, d: 3, e: 5 • B. a: 4, b: 5, c: 2, d: 5, e: 5 • C. a: 5, b: 5, c: 2, d: 4, e: 6 • D. a: 5, b: 5, c: 2, d: 4, e: 5 c d e ĐÁP ÁN: C 9

  10. Lý thuyết đồ thị Ví dụ:  Đồ thị có hướng deg+(x1)= 0                 deg-(x1)= 2 deg+(x2)= 2                 deg-(x2)= 1 deg+(x3)= 1                 deg-(x3)= 1 deg+(x4)= 2                 deg-(x4)= 1 10

  11. Lý thuyết đồ thị Bàitập: Bậccủacácđỉnhlầnlượtlà: ĐÁP ÁN: D 11

  12. Lýthuyếtđồthị Cácdạngđồthị: Đơnđồthị: làđồthịkhôngchứakhuyênvàcáccạnhkép (2 cạnhnốicùng 1 cặpđỉnh) Đađồthị: cácđồthịkhôngphảiđơnđồthị Đồthịtầmthường: làcácđồthịchỉcó 1 điểmvàkhôngcócạnhnào Đồthịrỗng: làđồthịkhôngcóđỉnhvàcạnhnào Đồthị G, = (V, , E,) là con củađồthị G = (V, E) nếunhư: - V,⊂ V - E,⊂ E 11

  13. Lýthuyếtđồthị • Các định lý: Định lý 1: Trong đồ thị vô hướng, tổng số bậc của các đỉnh bằng 2 lần số cạnh Hệ quả:  - Số đỉnh bậc lẻ là một số chẵn - Tổng bậc của đỉnh bậc lẻ là một số chẵn Địnhlý 2: Trongmọiđơnđồthị G nếusốđỉnhnhiềuhơn 1 thìtồntại ítnhấthaiđỉnhcùngbậc. Địnhlý 3: Trongmọiđơnđồthị G nếusốđỉnhnhiềuhơn 2 vàcóđúnghaiđỉnhcùngbậcthìhaiđỉnhnàykhôngđồngthờicóbậcbằng 0 hoặc n-1. 12

  14. Lýthuyếtđồthị Có thể có một nhóm gồm 9 người trong đó mỗi người đều chỉ quen biết đúng 5 người khác trong nhóm hay không? • Vídụ: Hướng giải:  • Xây dựng đồ thị mô tả đầy đủ thông tin của bài toán: • Mỗi đỉnh v ∈V là một đối tượng trong bài toán • Mỗi cạnh e ∈ E là mối quan hệ giữa hai đối tượng • Sử dụng các tính chất, định lý,… để suy ra điều phải chứng minh 13

  15. Lý thuyết đồ thị Có thể có một nhóm gồm 9 người trong đó mỗi người đều chỉ quen biết đúng 5 người khác trong nhóm hay không? • Vídụ: Theo đề bài ta có: • ∀v ∈ V, deg(v) = 5 • |V| = 9 Theo hệ quả của định lý 1, số đỉnh bậc lẻ là một số chẵn Môhìnhhóabàitoánvềđồthị: • Mỗingườilà 1 đỉnh. • 2 ngườiquenbiếtnhausẽcó 1 cạnhnốigiữahọ. Ta thuđượcđồthịvôhướng G = (V, E) Có 9 đỉnh bậc lẻ ∈ ∈ Không thể ∈ 14

  16. Lý thuyết đồ thị Sự đẳng cấu của đồ thị: 17

  17. Lý thuyết đồ thị Sự đẳng cấu của đồ thị: Ví dụ: Xét hai đồ thị sau có đẳng cấu hay không? Hai đồ thị đẳng cấu qua song ánh: f(A) = 1 f(B) = 2 f(C) = 3 f(D) = 4 f(E) = 5 18

  18. Lý thuyết đồ thị Sự đẳng cấu của đồ thị: Bài tập: Trong các đồ thị sau, cặp đồ thị nào đẳng cấu? 19

  19. Lý thuyết đồ thị Biểudiễnđồthị: Ma trậnkề: Cho đồthị G = (V, E) có n đỉnh. Ma trậnkềcủa G là A = [aij]n x ntrongđóaijlàsốcạnh (sốcung) nốiđỉnhivàđỉnh j 19

  20. Lý thuyết đồ thị • Tínhchất ma trậnkề: • Ma trậnkềphụthuộcvàothứtựliệtkêcácđỉnh • Ma trậnkềcủađồthịvôhướnglà ma trậnđốixứng • Mộtvòng (khuyên) đượctínhlà 1 cạnh • Tổngcácphầntửcủa 1 dòng (hoặc 1 cột) của ma trậnkề = bậccủađỉnhtươngứng (đỉnhđókhôngcókhuyên) 19

  21. Lý thuyết đồ thị Biểudiễnđồthị: Ma trậnliênthuộc: Cho đồthị G = (V, E) có n đỉnh, m cạnh. Ma trậnliênthuộccủa G là M = [mij]n x mtrongđómij = 1 nếuđỉnhithuộccạnh j, ngượclại = 0 19

  22. Lý thuyết đồ thị • Tínhchất ma trậnliênthuộc: • Ma trậnliênthuộccóthểbiểudiễncạnhképvàkhuyên • Cáccạnhképđượcbiểudiễnbằngcáccộtcógiátrịgiốnghệtnhau • Cáckhuyên: dùngmộtcộtvớiđúngmộtphầntửbằng 1 tươngứngvớiđỉnhnốivớikhuyênđó • Nếuđồthịkhôngcókhuyên: Tổngcácphầntửtheohàng = bậccủađỉnhtươngứng 19

  23. Lý thuyết đồ thị Biểudiễnđồthị: Matrậntrọngsố: 19

  24. 3 CHU TRÌNH & ĐƯỜNG ĐI EULER

  25. TÍNH LIÊN THÔNG Tínhliênthôngcủađồthịvôhướng: Hai đỉnh u, v trong G đượcgọilàliênthôngnếutồntại 1 đườngđinốichúnglạivớinhau. Đồthị G gọilàliênthôngnếu 2 đỉnhphânbiệtbấtkỳtrong G liênthông. Gọi V’ làtập con của V gồmđỉnh v vàtấtcảcácđỉnhliênthôngvới v. E’ làtập con của E gồmtấtcảcáccạnhnốicácđỉnhthuộc V’. Khi đó G’ = (V’, E’) làthànhphầnliênthôngcủa G chứa v Đỉnh v gọilàkhớpsốthànhphầnliênthôngtănglênnếubỏ v vàcáccạnhliênthuộcvớinó Cạnh e gọilàcầu sốthànhphầnliênthông tang lênnếubỏ e 19

  26. TÍNH LIÊN THÔNG Tínhliênthôngcủađồthịcóhướng: Liênthôngmạnh: Giữa 2 đỉnh u, v bấtkỳtrong G luôncóđườngđitừ v đến u vàtừ u đến v. Liênthôngyếu: Đồthịvôhướngtươngứngcủa G làliênthông 19

  27. CHU TRÌNH & ĐƯỜNG ĐI EULER Định nghĩa: Đồ thị G = (V, E) liên thông • Chu trình Euler: Chu trình đơn chứa tất cả các cạnh của đồ thị G. • Đồ thị Euler: Đồ thị có chứa một chu trình Euler. • Đường đi Euler: Đường đi đơn chứa tất cả các cạnh của đồ thị G. 30

  28. CHU TRÌNH & ĐƯỜNG ĐI EULER Trongđồthịvôhướng: Địnhlývề chu trình Euler: Mộtđồthịliênthông G = (V, E) có chu trình Euler khivàchỉkhimỗiđỉnhcủanóđềucóbậcchẵn. Địnhlývềđườngđi Euler: Đồthịliênthông G cóđườngđi Euler, khôngcó chu trình Euler khivàchỉkhi G cóđúng 2 đỉnhbậclẻ. 31

  29. CHU TRÌNH & ĐƯỜNG ĐI EULER 32

  30. CHU TRÌNH & ĐƯỜNG ĐI EULER Thuậttoán Euler: • Bước 1: Chọnđỉnh v làmđỉnhbắtđầu. Xâydựng chu trìnhđơn (con) C bấtkỳ. • Bước 2: Loạibỏcáccạnhtrong C rakhỏiđồthị. Loạibỏcácđỉnhcôlậpnếucó • Bước 3: Lấy 1 đỉnhchungcủa C vàphầnđồthịcònlạiđểxâydựng chu trìnhđơn (con) C’. Ghép C’ vào C rồi quay lạibước 2. Lặplạichođếnkhicáccạnhđượcđưahếtvào C 33

  31. CHU TRÌNH & ĐƯỜNG ĐI EULER Thuậttoán Fleury: Xuấtpháttừmộtđỉnhbấtkì (đốivớiđườngđi Euler, ta phảixuấtpháttừ 1 trong 2 đỉnhbậclẻ), ta chọncạnhliênthuộcvớinóđểđitiếp, nhưngphảituânthủquytắcsau: 1. Sau khiđi qua mộtcạnhnàođó: • Xóacạnhvừađi qua. • Xóatấtcảcácđỉnhcôlập (nếucó). 2. Tạimỗiđỉnh, ta chỉđitheomộtcạnhlàcầunếukhôngcócạnhnàokhác. 34

  32. CHU TRÌNH & ĐƯỜNG ĐI EULER Vídụ: Cho đồthị G nhưhìnhvẽ, chọnphátbiểuđúng. • G có chu trình Euler C. Cả A, B đềusai • G có chu trình Euler • B. G khôngcó chu trình Euler nhưngcóđườngđi Euler c a b g h i f e d 35

  33. Chu trình & Đường đi Euler • Đồthị G liênthông, có: • deg(a) = deg(c) = deg(d) = deg(f) = 2 • deg(b) = deg(i) = deg(e) = deg(g) = deg(h) = 4 => Có chu trình Euler Chọn chu trìnhđơnC:a b c i d e f g a C: a b c i d e f g a C’: b h g b => C: C’’: h i e h => C: c a b g h i a b h g b c i d e f g a a bh i e h g b c i d e f g a f e d 36

  34. CHU TRÌNH & ĐƯỜNG ĐI EULER Ví dụ: Cho đồ thị G như hình vẽ, chọn phát biểu đúng. • A. G có chu trình Euler • B. G khôngcó chu trình Euler nhưngcóđườngđi Euler • C. G khôngcóđườngđi Euler • D. Cả A, B, C đềusai b B. G khôngcó chu trình Euler nhưngcóđườngđi Euler a c e d 37

  35. CHU TRÌNH & ĐƯỜNG ĐI EULER • Đồthị G liênthông, có: • deg(a) = deg(c) = 4 • deg(b) = 2 • deg(d) = deg(e) = 3 • Đồthịcóđúng 2 đỉnhbậclẻnênkhôngcó chu trình Euler màcóđườngđi Euler. • Đườngđi Euler: d c b a c e a d e b a c e d 38

  36. CHU TRÌNH & ĐƯỜNG ĐI EULER Vídụ: (Tríchcâu 3a đề CKI năm 2020 – 2021) 40

  37. CHU TRÌNH & ĐƯỜNG ĐI EULER • Giải: • G làđồthịliênthôngcó: • deg(a) = deg(c) = deg(g) = deg(i) = deg(h) = deg(b) = 4; • deg(f) = deg(d) = 5; deg(e) = 6; • Đồthị G cóđúng 2 đỉnhbậclẻ => G cóđườngđi Euler • PG : f i d a f g i h d b a c f e g h e c b e d 40

  38. 40 CHU TRÌNH & ĐƯỜNG ĐI EULER Vídụ: (Tríchcâu 3a đề CKI năm 2016 – 2017)

  39. 40 CHU TRÌNH & ĐƯỜNG ĐI EULER • Giải: • G làđồthịliênthôngcó: • deg(b) = deg(c) = deg(e) = 4; • deg(h) = deg(g) = 2 • deg(a) = deg(f) = 5; deg(i) = deg(u) = 6; • Đồthị G cóđúng 2 đỉnhbậclẻ => G cóđườngđi Euler • PG : a b c e f f u a b i c u g i h a i u e f

  40. 3 CHU TRÌNH & ĐƯỜNG ĐI HAMILTON

  41. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Địnhnghĩa: • Chu trình Hamilton: Chu trìnhbắtđầutừmộtđỉnh v nàođó, qua tấtcảcácđỉnhcònlại, mỗiđỉnhđúngmộtlầnrồi quay lại v. • Đồthị Hamilton: Đồthịcóchứa chu trình Hamilton. • Đườngđi Hamilton: Đườngđiđơnchứatấtcảcácđỉnhcủađồthị 42

  42. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON b a e d c 43

  43. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON b a e d c 44

  44. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON b a e d c 45

  45. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Địnhlý König • Mọiđồthịcóhướngđầyđủ (đồthịvôhướngtươngứnglàđầyđủ) đềucóđườngđi Hamilton. 47

  46. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Phươngpháptìm chu trình Hamilton • Nếutồntạimộtđỉnh v của G có deg(v) ≤ 1 thìđồthị G khôngcó chu trình Hamilton. • Nếuđỉnh v cóbậclà 2 thìcả 2 cạnhtới v đềuphảithuộc chu trình Hamilton. • Chu trình Hamilton khôngchứabấtkỳ chu trình con nào. • Trongquátrìnhxâydựng chu trình Hamilton, saukhiđãlấy 2 cạnhtớimộtđỉnh v đặtvào chu trình Hamilton rồithìkhôngthểlấythêmcạnhnàotới v nữa, do đócóthểxóamọicạnhcònlạitới v. 46

  47. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Ví dụ: Đâu là một chu trình Hamilton trong đồ thị sau: C. abcfihegda • A. abcfedgfia • B. aebcghifda C. abcfihegda D. adebcfihga a b c e d f g i h 48

  48. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Chu trình & Đường đi Hamilton • Xuất phát từ đỉnh a. • Ta có deg(a) = 3 cho nên chỉ giữ 2 cạnh liên thuộc với a (quy tắc 4): ta chọn cạnh ab và ad nên ta bỏ cạnh ae. • Tương tự: • Tại b ta bỏ cạnh be • Tại c ta bỏ cạnh ce • Tại f ta bỏ cạnh fe • Tại i ta bỏ cạnh ie • Tại h ta bỏ cạnh hg • Tại e, ta bắt buộc đi theo eg, ge (quy tắc 2) • Tại d, ta phải chọn da (quy tắc 2) => Vậy ta có chu trình Hamilton: a b c f i h e g d a b a c e d f g i h 49

  49. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Vídụ: Hãychỉramột chu trình (đườngđi) Hamilton của G nếucó (Tríchcâu 3b đề CK2 năm 2018-2019) 48

  50. CHU TRÌNH & ĐƯỜNG ĐI HAMILTON Gọi H là chu trìnhHalmintoncầntìm: Ta có deg(h) = 2 nênhbvàhdchắcchắnthuộc H Xuấtpháttừ b: - bỏcạnhbd (cả 2 cạnh bd), chọncạnhba, bỏbevàbg Từ a: chọnac, bỏaevàaf Từ c: chọncf, bỏcd Từ f: chọnfe, bỏfgvàfd Từ e: chọneg Từ g: chọngd Vậy chu trình Hamilton của G: d h b a c f e g d 48

More Related