Professional Documents
Culture Documents
Đồ thị vô hướng
Đồ thị có hướng
Đồ thị có trọng số
1
1
2 3
2 3
5 4 5
4
1
0 1 0 1 0
2 3
1 0 1 1 0
G2 = 0 1 0 0 1 G2
1 1 0 0 1
4 5
2/18/2021 0 0 1 1 0 Cấu trúc dữ liệu và giải thuật 12
Cài đặt đồ thị bằng danh sách kề
• Mỗi đỉnh sẽ ứng với một danh sách móc nối
• Mỗi nút trong danh sách có quy cách
– VERTEX: chứa số j ứng với đỉnh j là lân cận của đỉnh i (1<=
i< = n) VERTEX NEXT
– NEXT: chứa con trỏ, trỏ tới nút tiếp theo trong danh sách
• Danh sách có m nút (nút danh sách), nếu đỉnh i có m
đỉnh kề.
• Nút đầu danh sách: là các phần tử của một vector V
có kích thước bằng n, phần tử V[i] chứa địa chỉ nút
đầu tiên
V[3] 1 4
3 4
V[4] 2
V[2] 1 3 4 1
V[3] 2 5 2 3
V[4] 1 2 5
4 5
V[5] 3 4
2/18/2021 Cấu trúc dữ liệu và giải thuật 14
Duyệt đồ thị
Cho trước đồ thị G(V , E) và nút xuất phát v ∈ V . Tìm cách duyệt tất cả các đỉnh của
G, mỗi đỉnh đúng một lần, bắt đầu từ nút v.
Có hai phương pháp duyệt cơ bản:
Đồ thị G1 V4 V5 V6 V7
DFS(G1,a) a, b, d, e, g, f, c
V9
V8
Đồ thị G2
DFS(G2,V1)
DFS(G2,V2)
DFS(G2,V4)
V4 V5 V6 V7
d f
Đồ thị G1
V9
BFS(G1,a) a, b, c, d, e, f, g V8
Đồ thị G2
BFS(G2,V1)
BFS(G2,V2)
BFS(G2,V4)
V1 V2 V1 V2 V1 V2 V1 V2
V3 V4 V3 V4 V3 V4 V3 V4
c)
a) b)
5 6 5 6 5 6
16
Dãy các cung được xét đưa vào cây khung b)
a)
với giá cực tiểu theo thứ tự không giảm
về giá? 1
1
1 3
2 12 4
3
2 4 3
3 7 10 5
2 4 3
7 10 5
3 5 6
7 5
5 6
5 6 e)
d)
c)
2/18/2021 Cấu trúc dữ liệu và giải thuật 27
Bài toán tìm đường đi
• Xét một đồ thị G(V,E) với n đỉnh được đánh số từ 1 đến n
• Đồ thị G(V,E) được biểu diễn máy bởi ma trận lân cận A.
– Nếu Aij = 1 -> có 1 cung đi từ i tới j bằng 1.
– Nếu Aij = 0 -> vẫn có thể tồn tại đường từ i tới j qua một số đỉnh khác
• Có hay không đường đi từ đỉnh i đến j ?
– Không
– Có ít nhất một đường
A= 1 0 0 0 0
0 0 0 0 1
5 4
0 1 0 0 0
1 2 3 4
6 7 8
5
6 8
5
1 2 3 4
8
6
5
6
5
1 3
6
5
1 8
3
6 2
5
5 1
4
6
6 1 3
1 5
1 6
2/18/2021 Cấu trúc dữ liệu và giải thuật 39
Bài tập
• Một tập S gồm 7 công việc được đánh số từ 1-7 với quan hệ
thực hiện trước, thoả mãn : 7<5, 5<3,3<6,5<6,2<1,2<6, 4<2
– Hãy vẽ đồ thị biểu diễn S
– Minh hoạ giải thuật sắp xếp topo bằng hình vẽ
– Nêu kết quả thực hiện giải thuật Topo – order
B
3
5
1 4
A C E
2 1
6
D F
5
5
1 4
A C E
6 2 1
D F
5
Bước A B C D E F
lặp d p k d p k d p k d p k d p k d p k
Khởi
∞ - F 0 - F ∞ - F ∞ - F ∞ - F ∞ - F
tạo
1 3 B F 0 - T 5 B F ∞ - F ∞ - F ∞ - F
2 3 B T 4 A F ∞ - F ∞ - F ∞ - F
3 4 A T 6 C F 8 C F ∞ - F
4 6 C T 8 C F 11 D F
5 8 C T 9 E F
8 12
3
4 15
2
10 5
3
10
1 2,5
14 6
17
9
8 7
10
1 ∞ - F ∞ - F ∞ - F 15 5 F 0 - T 2,5 5 F ∞ - F ∞ - F