Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
217,68 KB
Nội dung
Cây khung ngắn Đường ngắn Cây khung tối tiểu Đ : Cho G đồ thị có trọng lượng, cạnh e có trọng lượng w(e) dương Tồn khung có tổng trọng lượng cạnh nhỏ khung tối tiểu (minimum spanning tree) Cây khung tối tiểu T = {AE, AB, BD, BC} w(T) = + + + = 15 Thuật tốn Kruskal tìm khung tối tiểu Đặt T = ∅ Đưa vào T cạnh có w(e) nhỏ số cạnh chưa chọn cho T khơng tạo thành chu trình Nếu T có đủ n – cạnh dừng Còn khơng tiếp tục bước T = ∅ T = {AE} T = {AE, BD} T = {AE, BD, AB} T = {AE, BD, AB, BC} Thuật tốn Prim tìm khung tối tiểu X = {x0} T = ∅ ∅ Thêm vào T cạnh có w(e) nhỏ nối đỉnh x X đỉnh y X cho T khơng thành chu trình X = X + {y}; T = T + {xy} Nếu X đủ n đỉnh dừng Còn khơng tiếp tục bước 2 X = {A}; T = ∅ X = {A, E}; T = {AE} X = {A, E, B}; T = {AE, AB} X = {A, E, B, D}; T = {AE, AB, BD} X = {A, E, B, D, C}; T = {AE, AB, BD, BC} Bài tập • Tìm khung tối tiểu đồ thị sau hai cách: – Prim – Kruskal Đường ngắn • Trong đồ thị có trọng lượng, có nhiều đường hai đỉnh a, b • Trong thực tế ta thường muốn tìm phương án tối ưu đường ngắn hà chàng hà nàng Thuật tốn Dijsktra tìm đường ngắn • Input: đồ thị G khơng có trọng lượng âm, đỉnh xuất phát x0 • Output: đường ngắn từ x0 đến đỉnh lại Nguồn: ThS Trịnh Thanh Đèo Thuật toán Dijkstra Khởi tạo: T = V; p(x0) = Với đỉnh i ≠ x0, đặt p(i) = ∞, đánh dấu đỉnh i (∞, -) Tìm i ∈ T cho p(i) = min{p(j), j ∈ T} Cập nhật T := T – {i} Nếu T = ∅ dừng Ngược lại đến bước 3 Nếu Kề(i) ∩ T ≠ ∅ đỉnh j ∈ Kề(i) ∩ T, chọn p(j) = min{p(j), p(i) + Dij} Nếu p(j) chọn p(i) + Dij đánh dấu j (p(j),i) Quay lại bước Đỉnh i có nhãn (x,y) nghĩa đường ngắn từ x0 đến i , trước đến i qua y, tổng độ dài x Ví dụ đồ thị vơ hướng Nguồn: ThS Trịnh Thanh Đèo Ví dụ đồ thị có hướng Nguồn: ThS Trịnh Thanh Đèo 10 Bài tập Cho ví dụ đồ thị Euler khơng Hamilton Cho ví dụ đồ thị Hamilton khơng Euler Cho ví dụ đồ thị vừa Euler vừa Hamilton Tìm đường ngắn đồ thị sau, xuất phát từ đỉnh 11 Cho đồ thị G sau Tìm đường ngắn từ đỉnh đến đỉnh lại 12 ... đường ngắn đồ thị sau, xuất phát từ đỉnh 11 Cho đồ thị G sau Tìm đường ngắn từ đỉnh đến đỉnh lại 12