1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lý thuyết đồ thị giải bài tập danh sách kề ma trận kề BFS DFS đồ thị liên thông mạnh , đồ thị liên thông yếu

13 20 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lý thuyết đồ thị giải bài tập danh sách kề ma trận kề BFS DFS đồ thị liên thông mạnh , đồ thị liên thông yếu
Tác giả Nhóm 32
Người hướng dẫn Đặng Trần Minh Hậu, Nguyễn Ngọc Thảo
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Khoa Công Nghệ Thông Tin
Thể loại Báo cáo bài tập
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 1,86 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ề

Trang 1

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



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

BÁO CÁO BÀI TẬP TUẦN 2

Trang 2



Trang 3

MỤC LỤC

A Bài tập lý thuyết 3

Câu 1 3

Câu 2 4

Câu 3 6

B Bài tập cài đặt 7

Trang 4

1 Nội dung bài tập lý thuyết

Câu 1: Biểu diễn ma trận kề và danh sách kề

Đồ thị 1

Thực tế thì ma trận kề cơ bản 0-1 không thể nào thể hiện được cạnh song song Nên ở đây có thể quy ước không giới hạn ở 0-1 mà mở rộng ra cạnh song song có thể biểu diễn bằng số 2

Thực tế thì danh sách kề cơ bản 0-1 không thể nào thể hiện được cạnh song song Nên ở đây có thể quy ước mở rộng ra cạnh song song có thể biểu diễn bằng số (2)

kế đỉnh kề

10

Trang 5

Đồ thị 2 Thực tế thì ma trận kề cơ bản 0-1 không thể

nào thể hiện được cạnh song song Nên ở đây có thể quy ước không giới hạn ở 0-1 mà mở rộng ra cạnh song song có thể biểu diễn bằng số 2

Thực tế thì danh sách kề cơ bản không thể nào thể hiện được cạnh song song Nên ở đây có thể quy ước mở rộng ra cạnh song song

có thể biểu diễn bằng số (2) kế đỉnh kề

0

2

7

Câu 2: Tìm đường đi bằng giải thuật duyệt đồ thị theo chiều sâu và chiều rộng cho đồ thị 1 và 2

a Duyệt đồ thị theo chiều sâu

H Danh sách các đỉnh đã viếng thăm theo thứ tự thực hiện của giải thuật A,B,C,D,G,F,H

Trang 6

Đồ thị (2)

H

Danh sách các đỉnh đã viếng thăm theo thứ tự thực hiện của giải thuật A,B,C,D,G,F,H

H

b Duyệt đồ thị theo chiều rộng

H Danh sách các đỉnh đã viếng thăm theo thứ tự thực hiện của giải thuật A,B,D,E,C,G,F,I,H

Đồ thị (2)

H

Trang 7

Danh sách các đỉnh đã viếng thăm theo thứ tự thực hiện của giải thuật A,B,D,E,C,G,F,I,H

Câu 3: Xác định liên thông (liên thông mạnh, liên thông một phần, liên thông yếu hay không liên

thông)

ba với tất cả các cặp đỉnh a,b của đồ thị Chứng minh:

đường đi đến đỉnh số 5

Đồ thị (2) là liên thông 1 phần vì có ít nhất 1 đỉnh đến với đỉnh còn lại cho mọi cặp đỉnh a,b

Câu 4: Xét các đồ thị Biện luận để xác định các cặp đồ thị G1 và G2 có đẳng cấu; G3 và G4 có đẳng

cấu

e2 e1

e3

e4

e5 e6

e7 e8

e9 e10 e11 e12

Hai đồ thị G1 và G2 đẳng cấu với nhau

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 và

Trang 8

E1

E2

E3 E4

E5

E6

E7

E8

E9 E10 E11 E12

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 và G4 không đẳng cấu với nhau

Lý do:

Các đỉnh bậc 2 không

kề nhau

Các đỉnh bậc 2 có

kề nhau

2 Nội dung bài tập cài đặt

Trang 9

I Kết quả bài làm

Trang 10

Hình 2.1.1

Hình 2.1.2

II Những ghi chú quan trọng bài tập cài đặt

Trang 11

Gồm 1 hàm main chính (MainProgram.cs) nơi gọi file input txt và xuất kết quả

Lưu ý nhớ copy đường dẫn vào hàm main để chương trình truy xuất vào đúng file (bôi màu vàng) (Hình 2.1.3)

Hình 2.1.3

Tổ chức hàm trong bài tập cài đặt như sau:

a Class GraphHandler hình 2.1.4 trong đó:

+ 1 Struct tự định nghĩa kiểu dữ liệu AdjacencyMatrix trong đó gồm số đỉnh , ma trận kề của đồ thị, đỉnh đầu, đỉnh cuối

+ 1 hàm InputAndStore để input và lưu lại dữ liệu từ file txt;

+ 1 hàm để kiểm tra đồ thị đó có hướng hay vô hướng (isUndirectedGraph), hàm in ra ma trận ( nếu cần thiết dùng)

Trang 12

Hình 2.1.4

b Class DFS_BFS chứa 9 hàm tự tạo tính toán các yêu cầu của bài tập cài đặt (Hình 2.1.5)

+ Các hàm hỗ trợ

 Hàm hỗ trợ in ra điểm đã đi qua (PrintPassedPointArray) ở câu a và câu b ;

 Hàm hỗ trợ in ra đường đi (PrintPath) ở câu a và câu b;

 Hàm hỗ trợ in ra thành phần liên thông (PrintComponents) ở câu c;

+ Các hàm tính các kết quả:

 Hàm chính tìm đường đi theo chiều sâu DFS (DFSMainFindPath) và hàm duyệt tìm đường

đi theo chiều sâu (DFSFindPath) để trả lời cho câu a

Trang 13

 Hàm chính tìm đường đi theo chiều rộng (BFSMainFindPath) và hàm duyệt tìm đường đi 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) và 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 trong MainProgram.cs để chạy chương trình và tham chiếu xuất kết quả

Hình 2.1.5

Ngày đăng: 01/09/2022, 00:36

🧩 Sản phẩm bạn có thể quan tâm

w