Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
CHƯƠNG IX: ĐỒ THỊ
1. Định nghĩa
1. Định nghĩa
Slide 4
Slide 5
2. Các khái niệm
2. Các khái niệm
Slide 8
Slide 9
3. Biểu diễn đồ thị trong máy tính
Slide 11
Ví dụ
Slide 13
Slide 14
3. Biểu diễn đồ thị trong máy tính
Slide 16
Slide 17
Slide 18
Slide 19
Slide 20
Slide 21
CHƯƠNG IX: ĐỒ THỊ 3. Biểu diễn đồ thị trong máy tính
Slide 23
4. Các thuật toán tìm kiếm trên đồ thị
Slide 25
Slide 26
4. Các thuật toán tìm kiếm trên đồ thị
Slide 28
Slide 29
Slide 30
Slide 31
Slide 32
Slide 33
Slide 34
Slide 35
Slide 36
Slide 37
CHƯƠNG IX: ĐỒ THỊ 4. Các thuật toán tìm kiếm trên đồ thị
Slide 39
Slide 40
Slide 41
Slide 42
5. Bài toán tìm đường đi ngắn nhất
5. Bài toán tìm đường đi ngắn nhất
Slide 45
CHƯƠNG IX: ĐỒ THỊ 5. Bài toán tìm đường đi ngắn nhất
Slide 47
Slide 48
Slide 49
Slide 50
Slide 51
Slide 52
Slide 53
Slide 54
Slide 55
Slide 56
Slide 57
Slide 58
Slide 59
Slide 60
Slide 61
Slide 62
Slide 63
6. Bài toán cây khung
Slide 65
CHƯƠNG IX: ĐỒ THỊ 6. Bài toán cây khung
Slide 67
Slide 68
Slide 69
Slide 70
Slide 71
Slide 72
Slide 73
7. Tính liên thông của đồ thị
Slide 75
Slide 76
Slide 77
Slide 78
CHƯƠNG X: CÁC KỸ THUẬT THIẾT KẾ THUẬT TOÁN
CHƯƠNG X: CÁC KỸ THUẬT THIẾT KẾ THUẬT TOÁN 1. Phương pháp duyệt
Duyệt toàn bộ
Slide 82
Slide 83
Tám con hậu
Slide 85
Slide 86
Tám con Hậu
Slide 88
Slide 89
Slide 90
Nhận xét
Slide 92
CHƯƠNG X: CÁC KỸ THUẬT THIẾT KẾ THUẬT TOÁN 2. Phương pháp tham ăn
Ăn tham
Slide 95
Slide 96
Slide 97
Slide 98
2. Phương pháp tham ăn
Slide 100
Slide 101
Slide 102
3. Chia để trị và đệ quy
Chia-Để- Trị
Slide 105
Slide 106
CHƯƠNG X: CÁC KỸ THUẬT THIẾT KẾ THUẬT TOÁN 4. Quy hoạch động
Quy hoạch động
4. Quy hoạch động
Slide 110
Slide 111
Slide 112
Slide 113
Slide 114
Slide 115
Slide 116
QHĐ
Slide 118
Nội dung
CHƯƠNG IX: ĐỒ THỊ Định nghĩa Các khái niệm Biểu diễn đồ thị máy tính Các thuật toán tìm kiếm đồ thị Bài toán tìm đường ngắn Bài toán khung Tính liên thông đồ thị Định nghĩa Là một cấu trúc rời rạc G=< V, E> V là tập các đỉnh ( vertices) E là tập các cạnh ( Edges) - tập các cặp (u,v) mà u,v là hai đỉnh thuộc V Định nghĩa Dựa vào đặc tính của tập E: G là đơn đồ thị nếu giữ hai đỉnh u và v bất kì có nhiều nhất một cạnh G là đa đồ thị nếu giữ hai đỉnh u và v bất kì có thể có nhiều một cạnh Định nghĩa G-undirected graph nếu (u,v)=(v,u) G-directed graph nếu (u,v)(v,u), gọi là các cung Định nghĩa Hình A Hình B Hình C Hình A: Đơn đồ thị, vô hướng Hình B: Đơn đồ thị, có hướng Hình C: Đa đồ thị, vô hướng Hình D: Đa đồ thị, có hướng Hình D Các khái niệm a) Cạnh liên thuộc, đỉnh kề, bậc Nếu e=(u,v) thì u,v kề (adjacent) và e là liên thuộc với u và v Nếu e là một cung thì ta nói u nối tới v và v nối từ u Cung e khỏi đỉnh u ( đỉnh đầu) và vào đỉnh v ( đỉnh cuối) Bậc (degree) của v ( deg(v)) là số cạnh liên thuộc với v Các khái niệm Ví dụ 4 Các khái niệm b) Đường và chu trình Một đường P=( v …v ) mà cạnh v v p i-1 i thuộc E với mọi i 1[...]... 3 2 7 1 8 2 9 4 3 10 3 11 5 4 12 1 4 5 CHƯƠNG IX: ĐỒ THỊ 3 Biểu diễn đồ thị trong máy tính c) Danh sách kề (adjacency list) List 1: 2 3 List 2: 1 3 List 3: 1 2 List 4: 3 5 List 5: 1 4 5 4 Nhận xét Duyệt tất cả các đỉnh kề của một đỉnh là hết sức dễ dàng Khó kiểm tra (u,v) có phải là cạnh hay không 4 Các thuật toán tìm kiếm trên đồ thị Bài toán Cho đồ thị G =,... (4, 5) (4, 5) 3 Biểu diễn đồ thị trong máy tính Nhận xét Trong trường hợp đồ thị thưa, tiết kiệm Việc duyệt các cạnh dễ dàng hơn Nhược điểm: khi duyệt với tất cả các đỉnh kề với v thì phải duyệt tất cả các cạnh và chọn tất cả các cạnh có chứa v rất tốn thời gian, nhất là trong trường hợp ma trận dày 3 Biểu diễn đồ thị trong máy tính c) Danh... cô lập hoặc đỉnh treo ( chỉ kề với 1 đỉnh) 3 Biểu diễn đồ thị trong máy tính b) Danh sách cạnh (edge list) Liệt kê tất cả các cạnh của đồ thị trong một danh sách, mỗi phần tử của danh sách là một cặp (u,v) Danh sách được lưu trong bộ nhớ bằng mảng hoặc danh sách móc nối 1 2 4 3 5 3 Biểu diễn đồ thị trong máy tính b) Danh sách cạnh (edge list) 1 (1, 2) (1,... tìm kiếm trên đồ thị ) Tìm kiếm theo chiều sâu (Depth first search) Mọi đỉnh x kề với S sẽ đến được từ S Với mỗi đỉnh x kề với S những đỉnh y kề với x cũng đến được từ S Xét thủ tục đệ quy DFS(u): duyệt từ đỉnh u bằng cách thăm đỉnh u và tiếp tục quá trình duyệt DFS(v) trong đó v là đỉnh chưa thăm kề với u… 4 Các thuật toán tìm kiếm trên đồ thị Ví dụ... Trace(f)- p[2]= Trace[p[1]] -s 4 Các thuật toán tìm kiếm trên đồ thị a) Tìm kiếm theo chiều sâu (Depth first search) Nhận xét: Thủ tục DFS sẽ được gọi ... Biểu diễn đồ thị máy tính c) Danh sách kề (adjacency list) Với mỗi đỉnh ta cho tương ứng một danh sách các đỉnh kề với v 1 2 3 5 10 11 12 CHƯƠNG IX: ĐỒ THỊ Biểu diễn đồ thị máy tính... và lặp lại quá trình cho đến tất cả các đỉnh đều đã được thăm CHƯƠNG IX: ĐỒ THỊ Các thuật toán tìm kiếm đồ thị b) Tìm kiếm theo chiều rộng ( Breadth First) S x1 u1 u2 x2 … … uq... O(n+m)=O(max(n,m)) ( n, m tương ứng là số đỉnh và số cạnh của đồ thị) CHƯƠNG IX: ĐỒ THỊ Các thuật toán tìm kiếm đồ thị Nếu biểu diễn bằng ma trận kề thì độ phức tạp sẽ là O(n+n2)=O(n2)