Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
1,25 MB
Nội dung
BÀI TẬP VÀ THỰC HÀNH MÔN HỌC Lý thuyết đồ thị 2009 MỤC LỤC CHƯƠNG 1: ĐẠI CƯƠNG VỀ ĐỒ THỊ .3 1Xét ví dụ thực tế .3 2Các thuật ngữ đồ thị 3Biểu diễn đồ thị đẳng cấu đồ thị 4Tính liên thông .6 CHƯƠNG 2: ĐỒ THỊ EULER VÀ ĐỒ THỊ HAMILTON CHƯƠNG ĐỒ THỊ CÓ TRỌNG SỐ VÀ ĐƯỜNG ĐI NGẮN NHẤT 13 14 CHƯƠNG 4: CÂY 17 Viết tiểu luận 26 ĐỀ TÀI 1: 26 SỬ DỤNG PHƯƠNG PHÁP ĐỒ THỊ ĐỂ THỂ HIỆN VIỆC BỐ TRÍ LỊCH THI CHO SINH VIÊN KHOA TOÁN – TIN HỌC .26 ĐỀ TÀI 2: 26 SỬ DỤNG PHƯƠNG PHÁP ĐỒ THỊ ĐỂ GIẢI BÀI TOÁN DÂN GIAN (BÀI TOÁN 1) 26 ĐỀ TÀI 3: .27 SỬ DỤNG PHƯƠNG PHÁP ĐỒ THỊ ĐỂ GIẢI BÀI TOÁN DÂN GIAN (BÀI TOÁN 2) 27 ĐỀ TÀI 4: .28 CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN ĐỒ THỊ 28 ĐỀ TÀI 5: CÁC GIẢI THUẬT TÌM CÂY PHỦ TỐI TIỂU 28 ĐỀ TÀI 6: BÀI TOÁN TỔ CHỨC THI CÔNG 29 ĐỀ TÀI 7: BÀI TOÁN QUẢN LÝ DỰ ÁN 29 ĐỀ TÀI 8: BÀI TOÁN “8 QUÂN HẬU” .30 ĐỀ TÀI 9: BÀI TOÁN “QUÂN MÃ ĐI TUẦN” 31 ĐỀ TÀI 10: 31 BÀI TOÁN PHÂN BỐ KÊNH TRUYỀN HÌNH TẠI ĐBSCL .31 DÙNG THUẬT TOÁN TÔ MÀU ĐỒ THỊ 31 ĐỀ TÀI 11: 32 BÀI TOÁN PHÂN BỐ KÊNH TRUYỀN HÌNH TẠI MIỀN ĐÔNG NAM BỘ .32 DÙNG THUẬT TOÁN TÔ MÀU ĐỒ THỊ 32 ĐỀ TÀI 12: 33 XÂY DỰNG BẢN ĐỒ TRỰC TUYẾN NHỮNG CON ĐƯỜNG LỚN TRONG NỘI THÀNH TP.HỒ CHÍ MINH VỚI VIỆC TÍNH CHI PHÍ THẤP NHẤT ĐỂ DI CHUYỂN GIỮA TRUNG TÂM CÁC QUẬN 33 ĐỀ TÀI 13: 33 XÂY DỰNG HỆ THỐNG KẾT NỐI MẠNG CỦA CÁC TRƯỜNG ĐẠI HỌC TRONG THÀNH PHỐ VỚI CHI PHÍ THẤP NHẤT 33 ĐỀ TÀI 14: BÀI TOÁN ĐƯỜNG ĐI NGƯỜI GIAO HÀNG 34 ĐỀ TÀI 15: BÀI TOÁN ĐƯỜNG ĐI NGƯỜI ĐƯA THƯ 34 Bài tập thực hành môn lý thuyết đồ thị CHƯƠNG 1: ĐẠI CƯƠNG VỀ ĐỒ THỊ Xét ví dụ thực tế Bài 1.1 Với trường hợp sau, vẽ mô hình đồ thị biểu diễn đường bay nói rõ loại đồ thị dùng Trong lịch bay ngày sau: - Từ TP.HCM: có chuyến đến Hà Nội, chuyến đến Đà Nẵng, chuyến đến Phú Quốc, chuyến đến Nghệ An, chuyến đến Hải Phòng; - Từ Hà Nội: có hai chuyến đến TP.HCM, chuyến đến Đà Nẵng, chuyến đến Nghệ An, chuyến đến Hải Phòng; - Từ Đà Nẵng: có chuyến đến Hải Phòng, hai chuyến bay đến TP.HCM; chuyến đến Hà Nội; - Từ Nghệ An: có chuyến đến Hà Nội, chuyến đến TP.HCM; - Từ Hải Phòng: có chuyến đến Hà Nội, chuyến đến TP.HCM, chuyến đến Đà Nẵng; - Từ Phú Quốc: có chuyến đến TP.HCM a) Đồ thị biểu diễn thành phố có chuyến bay chúng b) Đồ thị biểu diễn số chuyến bay hoạt động thành phố, cộng với khuyên biểu thị chuyến du lịch đặc biệt ngắm cảnh thành phố, cất hạ cánh Phú Quốc c) Đồ thị biểu diễn đầy đủ thông tin hướng bay số chuyến bay thành phố Phần hướng dẫn a) Đồ thị vô hướng Đà Nẵng Hải Phòng TP HCM Hà Nội Phú Quốc Nghệ An b) Đa đồ thị vô hướng Đà Nẵng Hải Phòng TP HCM Hà Nội Phú Quốc Nghệ An c) Đa đồ thị có hướng Bài tập thực hành môn lý thuyết đồ thị Đà Nẵng Hải Phòng TP HCM Hà Nội Phú Quốc Nghệ An Bài 1.2 Xác định xem đồ thị sau đồ thị đơn, đa đồ thị, đồ thị có hướng a) b) c) d) Bài 1.3 Trong trận đấu vòng tròn, đội H thắng đội G, đội C, đội A; đội G thắng đội A đội C; đội C thắng đội A Hãy mô hình hóa kết đồ thị có hướng… Các thuật ngữ đồ thị Bài 2.1 Xác định số lượng đỉnh, số lượng cạnh, bậc đỉnh đồ thị sau Cho biết đỉnh đỉnh cô lập, đỉnh đỉnh treo a b f e c a d e a) f b d c b) a b c d i h g e c) Bài tập thực hành môn lý thuyết đồ thị Bài 2.2 Tìm tổng bậc đỉnh đồ thị Bài 2.1, kiểm chứng hai lần số cạnh đồ thị Bài 2.3 Có thể tồn đồ thị đơn có 15 đỉnh, đỉnh có bậc không? Tại sao? Bài 2.4 Trong buổi chiêu đãi, người bắt tay Chứng tỏ tổng số người bắt tay số chẵn Giả sử không tự bắt tay Bài 2.5 Xác định số đỉnh a d đỉnh, số cạnh, số bậc vào số bậc đồ thị có hướng sau b c Bài 2.6 Hãy xác định tổng bậc vào tổng bậc đỉnh đồ thị 2.5 cách trực tiếp Chứng tỏ chúng tổng cạnh đồ thị Bài 2.7 Đồ thị có cạnh có đỉnh bậc 4, 3, 3, 2, Vẽ đồ thị Bài 2.8 Có tồn đồ thị đơn chứa năm đỉnh với bậc sau đây? Nếu có vẽ đồ thị a) 3, 3, 3, 3, b) 1, 2, 3, 4, a b c d c) 1, 2, 3, 4, Bài 2.9 Vẽ tất đồ thị đồ thị sau a a f b e c d f a) b d a b f e c b Bài e d c g d b) 2.10 Tìm hợp cặp đồ thị đơn sau Biểu diễn đồ thị đẳng cấu đồ thị Bài 3.1 Dùng danh sách kề biểu diễn đồ thị sau Bài tập thực hành môn lý thuyết đồ thị a c a) b a b d d b) c Bài 3.2 Biểu diễn đồ thị 3.1 ma trận kề Bài 3.3 Vẽ đồ thị ứng với ma trận kề cho sau 0 0 b) 1 1 0 0 a) 1 0 0 0 1 1 1 0 1 0 1 0 c) 1 1 0 1 1 0 0 0 0 Bài 3.4 Dùng ma trận liên kết để biểu diễn đồ thị Bài 3.1 Bài 3.5 Xác định xem cặp đồ thị cho có đẳng cấu không v1 u1 u2 u3 u4 a) u5 v2 v3 v4 v5 Tính liên thông Bài 4.1 Các danh sách đỉnh sau có tạo nên đường đồ thị bên hay không? Đường đơn? Đường chu trình? Độ dài đường bao nhiêu? a) (a, e, b, c, b) b) (a, e, a, d, b, c, a) c) (e, b, a, d, b, e) d) (c, b, d, a, e, c) Bài tập thực hành môn lý thuyết đồ thị Bài 4.2 Các danh sách đỉnh sau có tạo nên đường đồ thị bên hay không? Đường đơn? Đường chu trình? Độ dài đường bao nhiêu? a) (a, b, e, c, b) b) (a, d, a, d, a) c) (a, d, b, e, a) d) (a, b, e, c, b, d, a) Bài 4.3 Xác định xem đồ thị cho có liên thông không Bài 4.4 Có thành phần liên thông đồ thị Bài tập 4.3? Tìm thành phần liên thông Bài 4.5 Tìm tất đỉnh cắt cạnh cắt đồ thị Bài thực hành số 1: Biểu diễn đồ thị Bài tập 1: Nhập vào ma trận kề đơn đồ thị (từ bàn phím đọc từ tập tin) a b c d e f Kiểm tra tính hợp lệ đồ thị (giá trị đường chéo 0) Kiểm tra xem đồ thị vô hướng hay hữu hướng? Nếu ma trận kề nhập từ bàn phím xuất thành tập tin matranke.txt Nếu ma trận đọc từ tập tin xuất kết ma trận hình hiển thị Xuất bậc tất đỉnh đồ thị (số cạnh nối tới đỉnh) Kiểm tra tính liên thông đồ thị? Xuất tất thành phần liên thông có Bài tập 2: Nhập vào ma trận trọng số đơn đồ thị (từ bàn phím đọc từ tập tin) a b c d e Kiểm tra tính hợp lệ đồ thị (giá trị đường chéo 0) Kiểm tra xem đồ thị vô hướng hay hữu hướng? Nếu ma trận kề nhập từ bàn phím xuất thành tập tin trongso.txt Nếu ma trận đọc từ tập tin xuất kết ma trận hình hiển thị Xuất cạnh có trọng số nhỏ lớn Hướng dẫn: Chương trình nhập vào ma trận kề đồ thị từ bàn phím #include #include Bài tập thực hành môn lý thuyết đồ thị main() { int n,m,i,j; int a[100][100]; // Doc n, m tu ban phim printf(" Nhap n, m "); scanf("%d %d",&n,&m); // Doc mang a kich thuoc n*m for (i=0;i[...]... các đồ thị có trọng số ở Bài 6.1 a) a và d b) a và f f d) b và z c) c và Bài 3 Tìm độ dài đường đi ngắn nhất từ đỉnh A đến tất các đỉnh còn lại trong các đồ thị sau: 13 Bài tập và thực hành môn lý thuyết đồ thị Bài 4 Tìm độ dài đường đi ngắn nhất từ đỉnh A đến tất các đỉnh còn lại trong các đồ thị sau: Bài 5 Cho đồ thị có trọng số như hình dưới đây Hãy tìm đường đi ngắn nhất từ đỉnh A đến đỉnh N Bài thực. .. if (|T| < n-1) then Đồ thị không liên thông; 19 Bài tập và thực hành môn lý thuyết đồ thị End; Độ phức tạp của thuật toán là O(m*log2m) với |E| = m Bài tập tổng hợp: 1 Cho ma trận kề (trọng số) của một đồ thị như sau a Vẽ đồ thị tương ứng b Đồ thị có phải là đồ thị Euler (nửa Euler) hay không? Giải thích Nếu có,tìm chu trình (đường đi) Euler trong đồ thị c Đồ thị có phải là đồ thị Hamilton hay không?... tồn tại 10 Bài tập và thực hành môn lý thuyết đồ thị Bài 7 Đồ thị trong Bài 5.6 có đường đi Hamilton không? Nếu có, hãy tìm đường đó Nếu không có, cho biết lý do tại sao không tồn tại một đường đi như vậy Bài thực hành số 2: Duyệt đồ thị Bài tập 1: Cài đặt thuật toán duyệt theo chiều sâu và chiều rộng với đồ thị được cho bởi ma trận kề đọc từ tập tin matranke.txt, chương trình cho phép nhập vào đỉnh... YÊU CẦU CỦA ĐỀ TÀI : • Lý thuyết: Các thao tác cơ bản về đồ họa 28 Bài tập và thực hành môn lý thuyết đồ thị Các khái niệm về đồ thị có hướng và đồ thị vô hướng Các cách biểu diễn đồ thị, các phương pháp tìm kiếm trên đồ thị (tìm theo chiều rộng và chiều sâu) và tính liên thông Các giải thuật có liên quan như: kiểm tra tính liên thông, giải thuật kiểm tra tính liên thông và giải thuật Kruscal... vẽ: a Xác định bán bậc ra và bán bậc vào của các đỉnh của đồ thị b Đây có phải là đồ thị liên thông mạnh không? Tại sao? c Xây dựng ma trận kề, trọng số của đồ thị d Dùng thuật toán Dijkstra tìm đường đi ngắn nhất từ đỉnh 1 đến đỉnh 3 18 Cho đồ thị như hình vẽ: 20 Bài tập và thực hành môn lý thuyết đồ thị a Xác định bậc của các đỉnh của đồ thị, từ đó cho biết đây có là đồ thị Euler hay nửa Euler hay... liệu về bài toán tổ chức thi công Biểu diễn đồ thị trước và sau khi xếp hạng lên màn hình Xác định các thời điểm sớm nhất, trễ nhất của từng công việc, thời gian hoàn thành công trình Vẽ sơ đồ GANT MÔI TRƯỜNG CÀI ĐẶT : Ngôn ngữ lập trình sử dụng: C hay C ++ ĐỀ TÀI 7: BÀI TOÁN QUẢN LÝ DỰ ÁN ĐẶC TẢ ĐỀ TÀI : 29 Bài tập và thực hành môn lý thuyết đồ thị Vận dụng các lý thuyết cơ bản về đồ thị để cài... diễn đồ thị, biểu diễn đồ thị sau khi xếp hạng, xác định các thời điểm sớm nhất, trễ nhất của từng công việc, thời gian hoàn thành công trình và vẽ sơ đồ GANT thể hiện kế hoạch hoàn thành công trình YÊU CẦU CỦA ĐỀ TÀI : • Lý thuyết: Các thao tác cơ bản về đồ họa Các khái niệm về đồ thị có hướng và đồ thị vô hướng Các cách biểu diễn đồ thị, Các phép biểu diễn đồ thị Giải thuật xếp hạng trên đồ thị, .. .Bài tập và thực hành môn lý thuyết đồ thị Bài 4 Xác định sự tồn tại chu trình Euler trong các đồ thị có hướng sau Vẽ các chu trình này nếu chúng tồn tại Bài 5.Xác định xem đồ thị có hướng trong Bài 5.4 có đường đi Euler hay không Vẽ các đường đi Euler này nếu có Bài 6 Xác định đồ thị đã cho có chứa chu trình Hamilton hay không Nếu có hãy tìm một chu trình như thế Nếu không có hãy giải thích lý do... họa Các khái niệm về đồ thị có hướng và đồ thị vô hướng Các cách biểu diễn đồ thị, các phương pháp tìm kiếm trên đồ thị (tìm theo chiều rộng và chiều sâu) và tính liên thông Các giải thuật có liên quan như: kiểm tra tính liên thông, giải thuật kiểm tra tính liên thông và giải thuật Kruscal tìm cây có trọng lượng nhỏ nhất 33 Bài tập và thực hành môn lý thuyết đồ thị Những cấu trúc dữ liệu cần thiết... cho phép biểu diễn đồ thị, kiểm tra tính liên thông và tìm đường đi ngắn nhất giữa 2 đỉnh cho trước bằng giải thuật Dijkstra, Ford-Bellman trên đồ thị vô hướng YÊU CẦU CỦA ĐỀ TÀI : • Lý thuyết: Các thao tác cơ bản về đồ họa Các khái niệm về đồ thị có hướng và đồ thị vô hướng Các cách biểu diễn đồ thị, các phương pháp tìm kiếm trên đồ thị (tìm theo chiều rộng và chiều sâu) và tính liên thông ... Đa đồ thị có hướng Bài tập thực hành môn lý thuyết đồ thị Đà Nẵng Hải Phòng TP HCM Hà Nội Phú Quốc Nghệ An Bài 1.2 Xác định xem đồ thị sau đồ thị đơn, đa đồ thị, đồ thị có hướng a) b) c) d) Bài. .. c) Bài tập thực hành môn lý thuyết đồ thị Bài 2.2 Tìm tổng bậc đỉnh đồ thị Bài 2.1, kiểm chứng hai lần số cạnh đồ thị Bài 2.3 Có thể tồn đồ thị đơn có 15 đỉnh, đỉnh có bậc không? Tại sao? Bài. .. hình đồ họa - Đồ thị khái niệm đồ thị có hướng, đồ thị vô hướng - Minh họa toán đồ thị - Thiết lập thuật toán Về lập trình: 27 Bài tập thực hành môn lý thuyết đồ thị - Viết chương trình dựa vào