Giải bài tập ma trận kề Giải bài tập danh sách kề Giải bài tập duyệt theo chiều rộng GIải bài tập duyện theo chiều sâu GIải bài tập DFS Giải bài tập BFS Đồ thị liên thông mạnh Đồ thị liên thông yếu Bài tập biểu diễn ma trận kề, bài tập biểu diễn danh sách kề
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN – HỆ VB2 ĐÀO TẠO TỪ XA BÁO CÁO BÀI TẬP TUẦN GVHD Lý Thuyết: Đặng Trần Minh Hậu GDHD Thực hành: Nguyễn Ngọc Thảo LỚP: Lý Thuyết Đồ Thị - CSC00008 NHÓM 32 MỤC LỤC A Bài tập lý thuyết Câu Câu Câu B Bài tập cài đặt Nội dung tập lý thuyết Câu 1: Biểu diễn ma trận kề danh sách kề Đồ thị Đồ thị Ma trận kề Thực tế ma trận kề 0-1 khơng thể thể cạnh song song Nên quy ước không giới hạn 0-1 mà mở rộng cạnh song song biểu diễn số 2 10 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 Danh sách kề Thực tế danh sách kề 0-1 khơng thể thể cạnh song song Nên quy ước mở rộng cạnh song song biểu diễn số (2) kế đỉnh kề Đỉnh 10 Các đỉnh kề 1,3 0,2,4(2) 0,4,6 1(2),3,5 4,7 3,7(2),8,9 5,6(2) 6 Đồ thị Thực tế ma trận kề 0-1 thể cạnh song song Nên quy ước không giới hạn 0-1 mà mở rộng cạnh song song biểu diễn số Thực tế danh sách kề khơng thể thể cạnh song song Nên quy ước mở rộng cạnh song song biểu diễn số (2) kế đỉnh kề Đỉnh đầu 0 1 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Path A B C D G F H 0,3,4 1(2) 4,5 3,7,9 5,6 Stack B,D,E C,D,E D,E G,E F,H,E H,I,E Danh sách đỉnh viếng thăm theo thứ tự thực giải thuật A,B,C,D,G,F,H Đường từ đỉnh nguồn đến đỉnh đích A D G F H Path A B C D 0,2 Câu 2: Tìm đường giải thuật duyệt đồ thị theo chiều sâu chiều rộng cho đồ thị a Duyệt đồ thị theo chiều sâu Đồ thị (1) Đỉnh cuối Stack B,D,E C,D,E D,E G,E G F H F,H,E E(F),I,H,E(A) Đồ thị (2) Danh sách đỉnh viếng thăm theo thứ tự thực giải thuật A,B,C,D,G,F,H Đường từ đỉnh nguồn đến đỉnh đích A B C D G F H b Duyệt đồ thị theo chiều rộng Đồ thị (2) Path A B D E C G F I H Queue B,D,E D,E,C E,C,G C,G,F,I G,F,I F,I,H I,H H Danh sách đỉnh viếng thăm theo thứ tự thực giải thuật A,B,D,E,C,G,F,I,H Đường từ đỉnh nguồn đến đỉnh đích A D G F I H Câu 3: Xác định liên thông (liên thông mạnh, liên thông phần, liên thông yếu hay không liên thông) Đồ thị Đồ thị (1) Biện luận Đồ thị (1) liên thơng mạnh có đường từ ab ngược lại ba với tất cặp đỉnh a,b đồ thị Chứng minh: Đỉnh a,b 1,2 1,3 1,4 1,5 2,3 2,4 2,5 3,4 3,5 4,5 Đồ thị (2) Đường a b 12 1 14 135 23 234 235 34 35 45 Đường ba 231 1 451 1 312 452 52 4523 523 54 Đồ thị (2) đồ thị liên thơng mạnh đỉnh số khơng có đường đến đỉnh số Đồ thị (2) liên thơng phần có đỉnh đến với đỉnh lại cho cặp đỉnh a,b Câu 4: Xét đồ thị Biện luận để xác định cặp đồ thị G1 G2 có đẳng cấu; G3 G4 có đẳng cấu Đồ thị Biện luận Hai đồ thị G1 G2 đẳng cấu với Ta có hàm song ánh f f(1) = c, f(2) = a, f(3) = e, f(4) = g, f(5) = d, f(6) = b , f(7) = f, f(8) = h e1={1,2}, E1={c,a} e1 = E1 e2={2,3}, E2={a,e} e2 = E2 e3={3,4}, E3={e,g} e3 = E3 e4={4,1}, E4={g,c} e4 = E4 e5={1,5}, E5={c,d} e5 = E5 e6={2,6}, E6={a,b} e6 = E6 e7={3,7}, E7={e,f} e7 = E1 e8={4,8}, E8={g,h} e8 = E8 e9={5,6}, E9={d,b} e9 = E9 e10={6,7}, E10={b,f} e10 = E10 e11={7,8}, E11={f,h} e11 = E11 e12={8,5}, E12={h,d} e12 = E12 Hai đồ thị G3 G4 không đẳng cấu với Lý do: G3 Các đỉnh bậc không kề Nội dung tập cài đặt G4 Các đỉnh bậc có kề I Kết làm Hình 2.1.1 Hình 2.1.2 II Những ghi quan trọng tập cài đặt Gồm hàm main (MainProgram.cs) nơi gọi file input txt xuất kết Lưu ý nhớ copy đường dẫn vào hàm main để chương trình truy xuất vào file (bơi màu vàng) (Hình 2.1.3) Hình 2.1.3 Tổ chức hàm tập cài đặt sau: a Class GraphHandler hình 2.1.4 đó: + Struct tự định nghĩa kiểu liệu AdjacencyMatrix gồm số đỉnh , ma trận kề đồ thị, đỉnh đầu, đỉnh cuối + hàm InputAndStore để input lưu lại liệu từ file txt; + hàm để kiểm tra đồ thị có hướng hay vơ hướng (isUndirectedGraph), hàm in ma trận ( cần thiết dùng) Hình 2.1.4 b Class DFS_BFS chứa hàm tự tạo tính tốn u cầu tập cài đặt (Hình 2.1.5) + Các hàm hỗ trợ Hàm hỗ trợ in điểm qua (PrintPassedPointArray) câu a câu b ; Hàm hỗ trợ in đường (PrintPath) câu a câu b; Hàm hỗ trợ in thành phần liên thơng (PrintComponents) câu c; + Các hàm tính kết quả: Hàm tìm đường theo chiều sâu DFS (DFSMainFindPath) hàm duyệt tìm đường theo chiều sâu (DFSFindPath) để trả lời cho câu a Hàm tìm đường theo chiều rộng (BFSMainFindPath) hàm duyệt tìm đường theo chiều rộng (BFSFindPath) để trả lời cho câu b Hàm để xác định thành phần liên thông theo DFS (DFSMainFindComponents) hàm bổ trợ để xác định thành phần liên thông theo DFS (DFSFindComponents) để trả lời cho câu c c Class MainProgram gồm hàm Main nằm MainProgram.cs để chạy chương trình tham chiếu xuất kết Hình 2.1.5 ... b Duyệt đồ thị theo chiều rộng Đồ thị (2) Path A B D E C G F I H Queue B,D,E D,E,C E,C,G C,G,F,I G,F,I F,I,H I,H H Danh sách đỉnh viếng thăm theo thứ tự thực giải thuật A,B,D,E,C,G,F,I,H Đường... đồ thị theo chiều sâu Đồ thị (1) Đỉnh cuối Stack B,D,E C,D,E D,E G,E G F H F,H,E E(F),I,H,E(A) Đồ thị (2) Danh sách đỉnh viếng thăm theo thứ tự thực giải thuật A,B,C,D,G,F,H Đường từ đỉnh nguồn... định liên thông (liên thông mạnh, liên thông phần, liên thông yếu hay không liên thông) Đồ thị Đồ thị (1) Biện luận Đồ thị (1) liên thơng mạnh có đường từ ab ngược lại ba với tất cặp đỉnh a,b đồ