1. Trang chủ
  2. » Công Nghệ Thông Tin

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

Đ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

Định dạng
Số trang 53
Dung lượng 577,46 KB

Nội dung

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