• Đồ thị và biểu diễn đồ thị • Duyệt đồ thị. • Sắp xếp topo[r]
(1)Đồ thị
(Graphs)
Nguyễn Mạnh Hiển
(2)Nội dung
• Đồ thị biểu diễn đồ thị • Duyệt đồ thị
• Sắp xếp topo
(3)(4)Đồ thị
• Đồ thị G = (V, E) bao gồm tập đỉnh V tập cạnh E • Mỗi cạnh cặp (v, w)
trong v, w V
• Đồ thị khơng có hướng:
− Các cạnh khơng có thứ tự
− Cạnh (v, w) giống cạnh (w, v) • Đồ thị khơng có hướng vẽ
các nút cho đỉnh đoạn thẳng cho cạnh
v1 v2
v5 v7
v8
v3
(5)Đồ thị có hướng
• Trong đồ thị có hướng, E tập cặp có thứ tự, không thiết tập đối xứng, tức cạnh (v, w) có mặt cạnh (w, v) vắng mặt
• Đồ thị có hướng vẽ nút cho đỉnh mũi tên cho cạnh
v1 v2
v5 v7
v8
v3
(6)Đường trọng số • Đường dãy đỉnh w1, w2, …,
wn, có cạnh hai đỉnh liên tiếp wi wi+1
• Chiều dài đường có n đỉnh n – (số cạnh)
• Đường đơn giản tất đỉnh đường khác (ngoại trừ đỉnh đầu đỉnh cuối trùng nhau)
• Các cạnh có trọng số (hay chi phí) kèm theo
• Chi phí đường tổng trọng số cạnh đường
v1 v2
v5 v7 v8 v3 v6 v4 -1
5 2 -2
(7)Chu trình
• Chu trình đường w1, w2, …, wn = w1, đỉnh đầu đỉnh cuối trùng
− Chu trình đơn giản đường đơn giản
• Trong hình vẽ bên trên: v2, v8, v6, v3, v5, v2 chu trình (đơn
giản) đồ thị khơng có hướng, khơng phải đồ thị có hướng
v1 v2
v5 v7
v8
v3
v6 v4
v1 v2
v5 v7
v8
v3
(8)Đồ thị liên thông
• Đồ thị khơng có hướng liên thơng tồn đường cặp đỉnh đồ thị
• Đồ thị có hướng thỏa mãn điều kiện gọi liên thông mạnh
• Nếu đồ thị có hướng khơng liên thơng mạnh, đồ thị khơng có hướng tương ứng liên thơng, gọi liên thơng yếu
v1 v2
v5 v7 v8 v3 v6 v4 liên thông yếu
v1 v2
(9)Biểu diễn đồ thị
• Đánh số đỉnh đồ thị từ đến n-1
• Có thể dùng mảng hai chiều A có kích thước n x n (ma trận vuông cỡ n) để lưu trữ đồ thị có hướng
− Với đồ thị khơng có trọng số, A[v][w] true false tùy theo cạnh (v, w) có mặt đồ thị hay khơng
− Với đồ thị có trọng số, A[v][w] trọng số cạnh (v, w) cạnh có mặt, giá trị đặc biệt (như ) cạnh vắng mặt
• Với đồ thị khơng có hướng, cách biểu diễn (được gọi
biểu diễn ma trận kề) lưu trữ cạnh hai lần
(10)Ví dụ biểu diễn ma trận kề
v1 v2
v5 v7
v0
v3
v6 v4
0
0 F F F F F F T F
1 F F F F T F F F
2 T F F F F F F F
3 F F F F F T T F
4 F F F F F F F F
5 F F T F F F F F
6 F F F F F F F F