Bài giảng cấu trúc dữ liệu và giải thuật chương 5 ths nguyễn thị khiêm hòa

53 226 1
Bài giảng cấu trúc dữ liệu và giải thuật  chương 5   ths  nguyễn thị khiêm hòa

Đ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

Chương 5: Đồ thị Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM Mục tiêu  Trình bày kiến thức lý thuyết đồ thị, cách biểu diễn, số thuật toán đồ thị  Đánh giá thuật toán  Một số ứng dụng đồ thị Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM Định nghĩa Anchorage Boston Minneapolis Seattle Hartford SF Austin Atlanta Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM Định nghĩa  Đồ thị G = (V,E) V= E tập hợp hữu hạn phần tử (đỉnh hay nút)  V × V, tập hữu hạn cạnh (cung) a b c d Đỉnh Cung e Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM Các khái niệm   Nếu (x,y)  E  x gọi đỉnh gốc, y  Nếu x ≡ y, (x,y) gọi khuyên Một dãy u1, u2, …, un, ui  V (i=1,n) gọi đường, (ui-1,ui)  E  Độ dài đường: length(u1,u2,…,un)=n  (u1,u2,…,un) đường đơn, ui≠uj, 1[...]... diễn đồ thị bằng danh sách kề 0 10 20 1 2 5 1 4 3 0 1 10 2 20 1 0 10 3 4 2 0 20 3 5 3 0 1 1 4 3 1 2 5 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 23 Biểu diễn đồ thị bằng danh sách kề  Chú ý  Các nút đầu danh sách được lưu vào một mảng (truy cập nhanh)  Với đồ thị không định hướng có n đỉnh và e cạnh, thì cần n nút đầu và 2e nút ‘trong’ danh sách  Với đồ thị định hướng có n đỉnh và e... Phép tìm kiếm theo chiều sâu x2 x1 x3 x34 x5 x4 x 152 3 x21 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 27 Phép tìm kiếm theo chiều sâu  Nhận xét  Thời gian thực hiện giải thuật ~ (n+e), nếu G được biểu diễn bằng danh sách kề  Thời gian thực hiện giải thuật ~ n2, nếu G được biểu diễn bằng ma trận kề  Giải thuật này sử dụng để chứng minh một đồ thị có liên thông hay không Khoa Công Nghệ... đỉnh lân cận của nút này  Cấu trúc mỗi nút  id: tên đỉnh (chỉ số, danh hiệu)  next: con trỏ đến nút kế tiếp Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 20 Biểu diễn đồ thị bằng danh sách kề 0 1 2 0 1 1 3 2 3 2 3 3 3 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 21 Biểu diễn đồ thị bằng danh sách kề x2 x1 x3 x5 x4 x[1] 2 x[2] 5 x[3] 2 x[4] 3 x [5] 1 3 4 Khoa Công Nghệ Thông... x1 x3 x5 x4 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 16 Biểu diễn đồ thị bằng ma trận kề x2 x1 x3 x5 x4 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 1 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 17 Biểu diễn đồ thị bằng ma trận kề 0 20 10 1 2 4 A[i][j] 0 1 2 3 0 0 20 10 1 1 20 0 0 5 2 10 0 0 4 3 1 5 4 0 1 5 3 A= 0... 20 0 0 5 10 0 0 4 1 5 4 0 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 18 Biểu diễn đồ thị bằng ma trận kề  Chú ý  Đối với đồ thị không định hướng, ma trận kề là ma trận đối xứng  Đối với đồ thị định hướng, số lượng phần tử 0 khá lớn  Đối với đồ thị có trọng số, thay thế giá trị 1 bằng giá trị trọng số Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 19 Biểu diễn đồ thị bằng... Thông Tin - Trường Đại học Ngân hàng TP.HCM 29 Phép tìm kiếm theo chiều rộng x1 x2 x3 x5 x2 x1 x4 x2 x1 x3 x5 x4 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 30 Phép tìm kiếm theo chiều rộng  Nhận xét  Thời gian thực hiện giải thuật ~ (n+e), nếu G được biểu diễn bằng danh sách kề  Thời gian thực hiện giải thuật ~ n2, nếu G được biểu diễn bằng ma trận kề Khoa Công Nghệ Thông Tin - Trường... 6 10 10 1 1 7 20 5 5 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 34 Thuật toán Kruskal  Sắp xếp các cung theo thứ tự không giảm đối với trọng số  Bắt đầu từ T=Ø  Lặp cho đến khi ko còn đỉnh nào ( |E’| = n-1)  Lấy ra cung w có trọng số nhỏ nhất  Thêm cung w vào T với điều kiện không tạo chu trình trong T Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 35 Cây khung (Spanning...Các khái niệm  Đồ thị có trọng số 0 10 20 1 1 2 5 4 3 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 11 Biểu diễn đồ thị  Biểu diễn bằng ma trận kề  Adjacency  matrice Biểu diễn bằng danh sách kề  Adjacency list Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 12 Biểu diễn đồ thị bằng ma trận kề  Xét G=(V,E) với V={x1,…,xn}  Biểu diễn... diễn đồ thị bằng ma trận kề 0 1 2 A[i][j] 0 1 2 3 0 0 1 1 0 1 1 0 1 1 2 1 1 0 1 3 0 1 1 0 3 A= 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 14 Biểu diễn đồ thị bằng ma trận kề 0 1 2 A[i][j] 0 1 2 3 0 0 1 1 1 1 0 0 0 1 2 0 0 0 1 3 0 0 0 0 3 A= 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 15 Biểu diễn đồ thị bằng... cung thuộc E’ Đồ thị G Cây khung T của đồ thị G Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 32 Cây khung (Spanning Tree)  Chú ý  Một đồ thị G có thể có nhiều cây khung  Cây khung theo chiều rộng, theo chiều sâu  Các cung trong cây khung không tạo nên chu trình   Giữa hai đỉnh trong một cây khung chỉ tồn tại duy nhất một đường đi từ đỉnh này đến đỉnh kia Nếu đồ thị có n đỉnh, thì ... Ngân hàng TP.HCM 37 Bài toán bao đóng truyền ứng  Cho đồ thị G = (V,E)  Có tồn đường hai nút x y đồ thị G hay không?  Bài toán giải dễ dàng cách sử dụng ma trận kề đồ thị Khoa Công Nghệ Thông... học Ngân hàng TP.HCM 45 Thuật toán Dijkstra  Hoạt động tốt đồ thị trọng số dương  Độ phức tạp giải thuật O(n2) Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 46 Thuật toán Dijkstra... thuật ~ (n+e), G biểu diễn danh sách kề  Thời gian thực giải thuật ~ n2, G biểu diễn ma trận kề  Giải thuật sử dụng để chứng minh đồ thị có liên thông hay không Khoa Công Nghệ Thông Tin - Trường

Ngày đăng: 03/12/2015, 06:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan