Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Bài tập chương 10 Cây 1 Dẫn nhập Trong bài tập dưới đây, chúng ta sẽ làm quen với các khái niệm và định nghĩa về cây Các kiến[.]
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Bài tập chương 10 Cây Dẫn nhập Trong tập đây, làm quen với khái niệm định nghĩa Các kiến thức cần thiết cho bao gồm phương pháp duyệt giải thuật tìm khung có nhỏ Sinh viên cần ôn lại lý thuyết giải thuật liên quan trình bày chương 10 trước làm tập bên Bài tập mẫu Câu Những đồ thị bên có gọi cây? a) A B C D E F A B C D E F b) c) Giáo trình Tốn Rời Rạc A B C D E F G Trang 1/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Lời giải Đồ thị trường hợp (a) gọi trường hợp (b) (c) khơng phải Câu Có đỉnh tứ phân đầy đủ với 100 đỉnh lá? Lời giải Theo tính chất trình bày phần lý thuyết chương 6, biết số đỉnh n m phân đầy đủ n = (m` − 1)/(m − 1) với ` số đỉnh Trong trường hợp tứ phân với 33 đỉnh lá, n = (4.100 − 1)/(4 − 1) = 133 Câu a) Hãy dùng giải thuật Prim để tìm khung nhỏ đồ thị G1 b) Hãy dùng giải thuật Kruskal để tìm khung nhỏ đồ thị G1 (G1 ) 11 A C E 10 S 10 B D F H 14 G Lời giải a) Theo giải thuật Prim, cạnh (E, F ) Cây khung có nhỏ hình thành sau: {E, F } ∪{C} ∪{H} ∪{G} ∪{D} ∪{B} ∪{S} ∪{A} Đồ thị G1a biểu diễn kết thu với tổng trọng số 41 b) Theo giải thuật Kruskal, ta xếp cạnh theo trọng số không giảm, nghĩa theo thứ tự sau: (C, F ), (E, F ), (D, G), (E, H), (F, G), (C, E), (C, B), (G, H), (D, F ), (D, B), (S, A), (S, B), (A, C), (S, G) Sau ta thêm cạnh theo thứ tự vào khung cạnh khơng tạo chu trình dừng khung chứa đủ tất đỉnh Do vậy, ta thu được: (C, F ), (E, F ), (D, G), (E, H), (F, G), (C, B), (S, A), (S, B) Giáo trình Tốn Rời Rạc Trang 2/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính (G1a ) A C E 10 S 2 10 B D F H G Trong trường hợp này, thu kết khung giống với kết giải thuật Prim (được biểu diễn đồ thị G1a với tổng trọng số 41) c) Bài tập cần giải Câu Những đồ thị bên có gọi cây? a) A B C D E F b) Giáo trình Tốn Rời Rạc A B C D E F G Trang 3/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính c) A B C D E F G F G H H d) D A E B C Lời giải Đồ thị (a) cây, đồ thị cịn lại khơng phải (đồ thị (b),(d) có chu trình; đồ thị (c) rừng) Câu Có đỉnh ngũ phân đầy đủ với 100 đỉnh trung gian? Lời giải Ta biết m−phân có u đỉnh trung gian có n = u × m + đỉnh tất Áp dụng công thức ta có n = 100 × + = 501 đỉnh tất Câu Có cạnh nhị phân đầy đủ với 1000 đỉnh trung gian? Lời giải Tương tự câu (5), số đỉnh n = 1000 ∗ + = 2001 Từ suy số cạnh đồ thị n − = 2000 Câu Có tam phân đầy đủ với 100 đỉnh? Lời giải n = 100, m = số l = [(m − 1)n + 1]/m = (2 × 100 + 1)/3 = 67 Câu Một m phân đầy đủ T có 81 có chiều cao Hãy cho biết giá trị cận cận m (nghĩa xác định giá trị lớn nhỏ có thể) Nếu T cân m phải bao nhiêu? Hãy giải thích rõ Giáo trình Tốn Rời Rạc Trang 4/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Lời giải Cây m-phân chiều cao h có số tối đa mh √ Nói cách khác l = 81 ≤ m4 , hay m ≥ 81 = Cây m-phân đầy đủ có chiều cao số đỉnh trung gian tối thiểu i = Từ có số nút tối thiểu (m − 1)i + = × m − Ta có 81 ≥ × m − hay m ≤ (81 + 3)/4 = 21 Kết luận ≤ m ≤ 21 Nếu cân h = dlogm le, suy m = m = Tuy nhiên, nghiệm m = bị loại khơng thể tính số đỉnh trung gian i Câu Hãy cho biết tiền thứ tự, trung thứ tự hậu thứ tự sau a) Cau - a A B C E D F b) A Cau - b B D E F Giáo trình Tốn Rời Rạc C G H Trang 5/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính c) Cau - c A B E C F J N D O G K L P Q H I M Lời giải a) Tiền thứ tự A, B, E, F, C, D Trung thứ tự E, B, F, A, C, D Hậu thứ tự E, F, B, C, D, A b) Tiền thứ tự A, B, D, E, F, G, H, C Trung thứ tự D, B, F, E, G, H, A, C Hậu thứ tự D, F, G, H, E, B, C, A c) Tiền thứ tự A, B, E, J, N, O, K, P, Q, F, C, D, G, L, M, H, I Trung thứ tự N, J, O, E, P, K, Q, B, F, A, C, L, G, M, D, H, I Hậu thứ tự N, O, J, P, Q, K, E, F, B, C, L, M, G, H, I, D, A Câu 10 Xây dựng nhị phân tìm kiếm cho từ banana, peach, apple, pear, coconut, mango papaya theo thứ tự ABC Lời giải.Lần lượt thêm vào nodes ta tìm kiếm nhị phân Giáo trình Tốn Rời Rạc Trang 6/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính banana apple peach pear coconut mango papaya Câu 11 Cần lần so sánh để tìm thấy thêm từ sau vào tìm kiếm Câu a) pear b) banana c) kumquat d) orange Lời giải a) lần b) lần c) lần d) lần Câu 12 a) Hãy dùng giải thuật tìm kiếm ưu tiên chiều sâu để tìm khung đồ thị G12a , G12b G12c Chọn đỉnh a gốc khung b) Hãy dùng giải thuật tìm kiếm ưu tiên chiều rộng để tìm khung đồ thị G12a , G12b G12c Chọn đỉnh a gốc khung Giáo trình Tốn Rời Rạc Trang 7/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính a c e h i f g j d (G12a ) b b c d f e a h j i g k (G12b ) m l g a n h q i j e p r b c f o l k (G12c ) d s n t m Lời giải a c e h i f g j d (G12a ) a) b Trình tự duyệt qua đỉnh (kể backtrack) abcdehgf gjghi b c d f e a h j i g k l m (G12b ) n Trình tự duyệt qua đỉnh (kể backtrack) abchglghidef kjnjkf eim Giáo trình Tốn Rời Rạc Trang 8/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính g h a j e q i p r b c f o k l (G12c ) d n s t m Trình tự duyệt qua đỉnh (kể backtrack) abcdf ejghihgjklmnonmlkjpqrst vertex a c e h i f g j d (G12a ) b) b a b c d e f h g i g vertex b c d f e a h j i g k l m (G12b ) Giáo trình Tốn Rời Rạc n a b g c h l i m d e j n f k L ∅ b, c c d e, f f, h h, g g, i i, j j ∅ L ∅ b, g g, c c, h, l h, l l, i, m i, m m, d, e, j, n d, e, j, n e, j, n j, n, f n, f, k f, k k ∅ Trang 9/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính vertex g h a j e p r b c f o k n s l t (G12c ) d a b e c f j d g h i k p l m n o q r t s q i m L ∅ b, e e, c, f c, f, j f, j, d j, d d, g, h, i, k, p g, h, i, k, p h, i, k, p i, k, p k, p p, l, m, n, o l, m, n, o, q, r, t m, n, o, q, r, t n, o, q, r, t o, q, r, t q, r, t r, t, s t, s s ∅ Câu 13 a) Hãy dùng giải thuật Prim để tìm khung nhỏ đồ thị G2 b) Hãy dùng giải thuật Kruskal để tìm khung nhỏ đồ thị G2 (G2 ) B E A C D G H F Lời giải Giáo trình Tốn Rời Rạc Trang 10/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính a) Bắt đầu từ đỉnh bất kì, giả sử đỉnh A Ta thêm đỉnh theo thứ tự sau: {A} ∪ {D} ∪ {G} ∪ {F } ∪ {E} ∪ {C} ∪ {B} ∪ {H} Tổng trọng số: 19 (G2 ) B E A C G D H F b) Sắp xếp cạnh theo thứ tự không giảm trọng số ta thứ tự sau: (F, G)(B, C)(C, E)(D, G)(E, G)(F, Lần lượt thêm cạnh theo tứ tự cho khơng tạo thành chu trình (nếu tạo thành chu trình ta xét cạnh tiếp theo) Ta thêm cạnh (F, G)(B, C)(C, E)(D, G)(E, G)(F, H)(A, D) Tổng trọng số 19 (G2 ) B E A C G D H F Câu 14 a) Hãy dùng giải thuật Prim để tìm khung nhỏ đồ thị G3 b) Hãy dùng giải thuật Kruskal để tìm khung nhỏ đồ thị G3 Lời giải a) Bắt đầu, chọn đỉnh bất kì, chẳng hạn C, ta thêm vào đỉnh có đường nối tới đỉnh chọn ngắn nhất: Giáo trình Tốn Rời Rạc Trang 11/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính (G3 ) A B 11 10 12 C 13 F D E G H Ta thêm vào E E có khoảng cách tới {C} ngắn (1), ta tập {C, E} Ta thêm vào D D có khoảng cách tới {C, E} ngắn (3), ta tập {C, E, D} Ta thêm vào G G có khoảng cách tới {C, E, D} ngắn (4), ta tập {C, E, D, G} Lặp lại trình ta thứ tự thêm đỉnh sau {C} ∪ {E} ∪ {D} ∪ {G} ∪ {H} ∪ {F } ∪ {B} ∪ {A} (G3 ) A B C E F D G H b) Thực tương tự câu (13b) Thứ tự thêm cạnh vào (C, E)(G, H)(B, F )(D, E)(D, G)(A, B)(F, H) Câu 15 a) Hãy dùng giải thuật Prim để tìm khung nhỏ đồ thị G4 b) Hãy dùng giải thuật Kruskal để tìm khung nhỏ đồ thị G4 Giáo trình Tốn Rời Rạc Trang 12/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính (G3 ) A B C E F D (G4 ) 11 A G C H E 10 S 10 B D F H 14 G Giáo trình Toán Rời Rạc Trang 13/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Lời giải.Thực tương tự câu 14, ta tổng trọng số khung nhỏ a) Chọn đỉnh bất kỳ, D chẳng hạn thêm đỉnh theo thứ tự sau: {D} ∪ {G} ∪ {F } ∪ {C} ∪ {E} ∪ {H} ∪ {B} ∪ {S} ∪ {A} (G4 ) A C E 10 S 2 10 B D F H G b) Lần lượt thêm vào cạnh sau: (C, F )(E, F )(D, G)(E, H)(F, G)(C, B)(A, S)(S, B) (G4 ) A C E 10 S 2 10 B D F H G Bài tập làm thêm Câu 16 a) Hãy dùng giải thuật Prim để tìm khung nhỏ đồ thị G5 Giáo trình Tốn Rời Rạc Trang 14/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính b) Hãy dùng giải thuật Kruskal để tìm khung nhỏ đồ thị G5 (G5 ) B E G 15 A C 10 J 12 D H F I Câu 17 Một nguồn nước s cung cấp cho thành phố A, B, C, D, E, E, G H Sự liên thông thành phố nguồn nước thể qua đồ thị G9 bên trọng số cạnh (u, v) thể khả truyền tải nước nguồn (m3 /h) từ thành phố u đến thành phố v Hãy cho biết khả tiêu thụ nước tối đa (trong giờ) thành phố H (G9 ) A 10 s 11 C E 10 B D F H G Câu 18 Hãy tìm khung nhỏ đồ thị có trọng số biểu diễn chi phí di chuyển thành phố Câu 19 Đồ thị phân đôi đầy đủ Km,n xem với m n số ngun dương? Giáo trình Tốn Rời Rạc Trang 15/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính 1900 Hải Phịng Cà Mau 1200 400 200 Hồ Chí Minh 1000 Hà Nội 600 500 800 100 Nha Trang Đà Nẵng 200 500 Vũng Tàu Giáo trình Tốn Rời Rạc Trang 16/16 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Câu 20 Cho G đơn đồ thị với n đỉnh Chứng minh G G liên thơng có n − cạnh Câu 21 Chứng minh đồ thị liên thơng G, cạnh có trọng số hồn tồn khác đơi một, tồn khung có trọng số nhỏ Câu 22 Làm để đếm số khung có đồ thị G cho trước Hãy viếi giải thuật đếm Câu 23 Làm để đếm số khung khác có trọng số nhỏ có đồ thị G cho trước Hãy viết giải thuật đếm Câu 24 Làm để đếm số khung khác có trọng số nhỏ có đồ thị G cho trước Hãy viết giải thuật đếm Câu 25 Hãy viết giải thuật để xác định khung có trọng số nhỏ mà có chứa đường ngắn từ đỉnh u đến đỉnh v cho trước Câu 26 Cho đồ thị G, khung có trọng số nhỏ T G Hãy viết giải thuật nhanh để xác định (hoặc cập nhật) khung có trọng số nhỏ ta thêm cạnh vào G Câu 27 Hãy thiết kế giải thuật tìm khung có trọng số nhỏ có chứa tập cạnh cho trước Tổng kết Thông qua tập phần này, làm quen với định nghĩa tính chất cây, bao gồm phương pháp duyệt giải thuật tìm khung có trọng số nhỏ (tham khảo chi tiết lý thuyết chương 10) Giáo trình Tốn Rời Rạc Trang 17/16 ... Tương tự câu (5), số đỉnh n = 100 0 ∗ + = 2001 Từ suy số cạnh đồ thị n − = 2000 Câu Có tam phân đầy đủ với 100 đỉnh? Lời giải n = 100 , m = số l = [(m − 1)n + 1]/m = (2 × 100 + 1)/3 = 67 Câu Một m... ∪ {H} ∪ {B} ∪ {S} ∪ {A} (G4 ) A C E 10 S 2 10 B D F H G b) Lần lượt thêm vào cạnh sau: (C, F )(E, F )(D, G)(E, H)(F, G)(C, B)(A, S)(S, B) (G4 ) A C E 10 S 2 10 B D F H G Bài tập làm thêm Câu 16... đầy đủ với 100 đỉnh trung gian? Lời giải Ta biết m−phân có u đỉnh trung gian có n = u × m + đỉnh tất Áp dụng cơng thức ta có n = 100 × + = 501 đỉnh tất Câu Có cạnh nhị phân đầy đủ với 100 0 đỉnh