Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,32 MB
Nội dung
1 Ca Ca ù ù c ph c ph ư ư ơng pha ơng pha ù ù p p duye duye ä ä t t đ đ o o à à thò thò D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 2 2 Ca Ca ù ù c ph c ph ư ư ơng pha ơng pha ù ù p duye p duye ä ä t t đ đ o o à à thò thò Duye Duye ä ä t theo chie t theo chie à à u sâu u sâu (Depth (Depth - - First Search) First Search) Duye Duye ä ä t theo chie t theo chie à à u ro u ro ä ä ng ng (Breadth (Breadth - - First Search) First Search)
2 Depth Depth - - First Search First Search (DFS) (DFS) D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 4 4 Kha Kha ù ù i nie i nie ä ä m m DFS DFS trên mo trên mo ä ä t t đ đ o o à à thò vô h thò vô h ư ư ơ ơ ù ù ng cũng gio ng cũng gio á á ng nh ng nh ư ư kha kha ù ù m pha m pha ù ù mo mo ä ä t mê cung vơ t mê cung vơ ù ù i mo i mo ä ä t cuo t cuo ä ä n ch n ch ỉ ỉ va va ø ø mo mo ä ä t t thu thu ø ø ng sơn ng sơn đ đ o o û û đ đ e e å å đ đ a a ù ù nh da nh da á á u u , , tra tra ù ù nh bò la nh bò la ï ï c c . . Ta Ta ba ba é é t t đ đ a a à à u t u t ừ ừ đỉ đỉ nh nh s s , , buo buo ä ä c c đ đ a a à à u cuo u cuo ä ä n ch n ch ỉ ỉ va va ø ø o o s s va va ø ø đ đ a a ù ù nh da nh da á á u u đỉ đỉ nh na nh na ø ø y la y la ø ø “ “ đ đ ã thăm ã thăm ” ” . . Sau Sau đ đ o o ù ù ta ta đ đ a a ù ù nh da nh da á á u u s s la la ø ø đỉ đỉ nh hie nh hie ä ä n ha n ha ø ø nh nh u u . .
3 D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 5 5 Kha Kha ù ù i nie i nie ä ä m m Bây giơ Bây giơ ø ø , , ta ta đ đ i theo ca i theo ca ï ï nh nh (u, v) (u, v) ba ba á á t ky t ky ø ø . . Ne Ne á á u ca u ca ï ï nh nh (u, v) (u, v) dẫn chu dẫn chu ù ù ng ta ng ta đ đ e e á á n n đỉ đỉ nh nh “ “ đ đ ã ã thăm thăm ” ” v v , , ta ta quay quay trơ trơ û û ve ve à à u. u. Ne Ne á á u u đỉ đỉ nh nh v v la la ø ø đỉ đỉ nh mơ nh mơ ù ù i i , , ta di chuye ta di chuye å å n n đ đ e e á á n n v v va va ø ø không quên lăm cuo không quên lăm cuo ä ä n ch n ch ỉ ỉ cu cu û û a m a m ì ì nh theo nh theo . . Đ Đ a a ù ù nh nh da da á á u u đỉ đỉ nh nh v v la la ø ø “ “ đ đ ã thăm ã thăm ” ” . . Đ Đ a a ë ë t t v v tha tha ø ø nh nh đỉ đỉ nh hie nh hie ä ä n n ha ha ø ø nh va nh va ø ø la la ë ë p la p la ï ï i ca i ca ù ù c b c b ư ư ơ ơ ù ù c tr c tr ư ư ơ ơ ù ù c c . . D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 6 6 Kha Kha ù ù i nie i nie ä ä m m Cuo Cuo á á i cu i cu ø ø ng ng , , ta co ta co ù ù the the å å đ đ i i đ đ e e á á n mo n mo ä ä t t đ đ ie ie å å m ma m ma ø ø ta ta ï ï i i đ đ o o ù ù ta ta á á t ca t ca û û ca ca ù ù c ca c ca ï ï nh ke nh ke à à vơ vơ ù ù i no i no ù ù đ đ e e à à u dẫn chu u dẫn chu ù ù ng ta ng ta đ đ e e á á n n ca ca ù ù c c đỉ đỉ nh nh “ “ đ đ ã thăm ã thăm ” ” . . Khi Khi đ đ o o ù ù , , ta sẽ ta sẽ quay quay lui ba lui ba è è ng ng ca ca ù ù ch cuo ch cuo ä ä n ng n ng ư ư ơ ơ ï ï c cuo c cuo ä ä n ch n ch ỉ ỉ va va ø ø quay quay la la ï ï i cho i cho đ đ e e á á n n khi trơ khi trơ û û la la ï ï i mo i mo ä ä t t đỉ đỉ nh ke nh ke à à vơ vơ ù ù i mo i mo ä ä t ca t ca ï ï nh co nh co ø ø n ch n ch ư ư a a đư đư ơ ơ ï ï c kha c kha ù ù m pha m pha ù ù . . La La ï ï i tie i tie á á p tu p tu ï ï c c qui qui tr tr ì ì nh kha nh kha ù ù m pha m pha ù ù nh nh ư ư trên trên . . Khi chu Khi chu ù ù ng ta trơ ng ta trơ û û ve ve à à s s va va ø ø không co không co ø ø n ca n ca ï ï nh na nh na ø ø o ke o ke à à vơ vơ ù ù i no i no ù ù ch ch ư ư a bò kha a bò kha ù ù m pha m pha ù ù la la ø ø lu lu ù ù c c DFS DFS d d ừ ừ ng ng . .
4 D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 7 7 Thua Thua ä ä t toa t toa ù ù n n Depth Depth - - First Search First Search Algorithm DFS(v); Input:Một đỉnh v của đồ thò Output:Một cách gán nhãn cho các cạnh đã “được khám phá” hoặc “backedge” for (mọi cạnh e kề với v) do if cạnh e chưa được khám phá then Gọi w là đỉnh khác của e if đỉnh w là đỉnh mới then Gán nhãn e là “được khám phá” Gọi đệ qui DFS(w) else Gán nhãn e là “backedge” Algorithm DFS(v); Algorithm DFS(v); Input: Input: Mo Mo ä ä t t đỉ đỉ nh nh v v cu cu û û a a đ đ o o à à thò thò Output: Output: Mo Mo ä ä t ca t ca ù ù ch ga ch ga ù ù n nhãn cho ca n nhãn cho ca ù ù c ca c ca ï ï nh nh đ đ ã ã “ “ đư đư ơ ơ ï ï c kha c kha ù ù m pha m pha ù ù ” ” hoa hoa ë ë c c “ “ backedge backedge ” ” for for ( ( mo mo ï ï i ca i ca ï ï nh nh e e ke ke à à vơ vơ ù ù i i v) v) dodo if if ca ca ï ï nh nh e e ch ch ư ư a a đư đư ơ ơ ï ï c kha c kha ù ù m pha m pha ù ù then then Go Go ï ï i i w w la la ø ø đỉ đỉ nh kha nh kha ù ù c cu c cu û û a a e e if if đỉ đỉ nh nh w w la la ø ø đỉ đỉ nh mơ nh mơ ù ù i i then then Ga Ga ù ù n nhãn n nhãn e e la la ø ø “ “ đư đư ơ ơ ï ï c kha c kha ù ù m pha m pha ù ù ” ” Go Go ï ï i i đ đ e e ä ä qui qui DFS(w) DFS(w) else else Ga Ga ù ù n nhãn n nhãn e e la la ø ø “ “ backedge backedge ” ” D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 8 8 Thua Thua ä ä t toa t toa ù ù n n Depth Depth - - First Search First Search
5 D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 9 9 Xa Xa ù ù c c đ đ ònh ònh đỉ đỉ nh ke nh ke à à trong trong DFS DFS Ke Ke á á t qua t qua û û cu cu û û a a DFS DFS phu phu ï ï thuo thuo ä ä c va c va ø ø o ca o ca ù ù ch ta cho ch ta cho ï ï n n đỉ đỉ nh ke nh ke á á tie tie á á p p . . D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 10 10 Xa Xa ù ù c c đ đ ònh ònh đỉ đỉ nh ke nh ke à à trong trong DFS DFS Ne Ne á á u ta ba u ta ba é é t t đ đ a a à à u ta u ta ï ï i i A A va va ø ø th th ử ử ca ca ï ï nh no nh no á á i i đ đ e e á á n n F, F, sau sau đ đ o o ù ù đ đ e e á á n n B, B, ro ro à à i i đ đ e e á á n n E, C, E, C, cuo cuo á á i cu i cu ø ø ng la ng la ø ø G G ta ta đư đư ơ ơ ï ï c c : :
6 D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 11 11 Xa Xa ù ù c c đ đ ònh ònh đỉ đỉ nh ke nh ke à à trong trong DFS DFS Ne Ne á á u cũng ba u cũng ba é é t t đ đ a a à à u t u t ừ ừ A A nh nh ư ư ng ng đ đ i theo tr i theo tr ì ì nh t nh t ự ự : : ta ta ä ä p ca p ca ù ù c ca c ca ï ï nh nh đ đ ã thăm ã thăm , , backedge va backedge va ø ø ca ca ù ù c c đ đ ie ie å å m m đ đ e e ä ä qui qui sẽ kha sẽ kha ù ù c tr c tr ư ư ơ ơ ù ù c c . ( . ( Hãy t Hãy t ự ự la la ø ø m va m va ø ø kie kie å å m ch m ch ứ ứ ng ng ). ). D D ư ư ơng Anh ơng Anh Đứ Đứ c c – – Nha Nha ä ä p môn Ca p môn Ca á á u tru u tru ù ù c D c D ư ư õ lie õ lie ä ä u va u va ø ø Gia Gia û û i thua i thua ä ä t t 12 12 Thua Thua ä ä t toa t toa ù ù n n Depth Depth - - First Search First Search Bây giơ Bây giơ ø ø ta sẽ xe ta sẽ xe ù ù t t t t ừ ừ ng b ng b ư ư ơ ơ ù ù c cu c cu û û a a DFS qua DFS qua v v í í du du ï ï trên trên : :
7 D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 13 13 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 14 14 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search
8 D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 15 15 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 16 16 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search
9 D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 17 17 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 18 18 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search
10 D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 19 19 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search D D ử ử ụng Anh ụng Anh ẹửự ẹửự c c Nha Nha ọ ọ p moõn Ca p moõn Ca ỏ ỏ u tru u tru ự ự c D c D ử ử ừ lie ừ lie ọ ọ u va u va ứ ứ Gia Gia ỷ ỷ i thua i thua ọ ọ t t 20 20 Thua Thua ọ ọ t toa t toa ự ự n n Depth Depth - - First Search First Search
[...]... ““crossedge” crossedge” crossedge” Khởûi itạïo hàøng đợi iLL để chứa đỉnh ss Khơ ta oha ng đợ 0 đểchứ ỉnh Khở tạ hàng chứ đỉnh 0 i ← 0; i ← 0; while Li ≠≠ ∅ do ∅ do while Li Tạïo Li+1 = ∅ Ta o L Tạ i+1 = ∅ for mỗi iđỉnh v ∈ Li do for mỗ đỉnh v ∈ Li do đỉnh if cạïnh e kềà vớùi i v then if ca nh e ke vơ v then cạnh kề vớ Gọïi iw làø đỉnh kháùc củûa e Go wla đỉnh kha ccu a e Gọ là đỉnh khá củ if đỉnh w làø... Depth-First Search Chứng minh: ng Khẳng đònh 1 là hiển nhiên vì DSF duyệt qua ng tất cả các đỉnh kề với đỉnh hiện hành (Có thể nh chứng minh hoàn chỉnh hơn bằng phản ng ng chứng) ng Khẳng đònh 2 đúng do ta chỉ đánh dấu các ng ng nh cạnh đi đến một đỉnh mới nên không thể tạo nh ra chu trình Như vậy DFS tạo ra một cây Hơn nữa, DFS thăm tất cả các đỉnh thuộc thành phần liên thông nên cây này là cây tối... thuậät Nha Ca tru Dư lie va Gia thua 44 22 Các tính chất của BFS Với mỗi cạnh v tại mức i, đường đi trên cây nh ng BFS T giữa s và v qua i cạnh, và bất kỳ đường nh ng đi nào khác trên G giữa s và v dài tối thi u i cạnh nh Nếu (u, v) là một cạnh không nằm trên cây nh BFS, thì mức của u và v sai lệch không quá 1 ch Dương Anh Đức – Nhậäp môn Cấáu trúùc Dữ liệäu vàø Giảûi thuậät Nha Ca tru Dư lie va Gia thua... m) dựa trên nền tảng BFS để giải các bài ng toán sau: Kiểm tra tính liên thông của G Xác đònh cây tối đại G Xác đònh các thành phần liên thông của G nh Xác đònh, với mỗi cạnh v ∈ G, số cạnh tối nh nh thi u cần đi từ s đến v Dương Anh Đức – Nhậäp môn Cấáu trúùc Dữ liệäu vàø Giảûi thuậät Nha Ca tru Dư lie va Gia thua 46 23 . for for ( ( mo mo ï ï i ca i ca ï ï nh nh e e ke ke à à vơ vơ ù ù i i v) v) do do if if ca ca ï ï nh nh e e ch ch ư ư a a đư đư ơ ơ ï ï c kha c kha ù ù. ng ng ). ). Kha Kha ú ú ng ng đ đ ònh ònh 2. 2. đ đ u u ù ù ng ng do do ta ch ta ch ỉ ỉ đ đ a a ù ù nh da nh da á á u ca u ca ù ù c c ca ca ï