Professional Documents
Culture Documents
Chương 5. Đồ thị
Chương 5. Đồ thị
CHƯƠNG 5.
ĐỒ THỊ
- Ví dụ: Với đồ thị vô hướng G = (V, E) đã định nghĩa ở trên, trong đó:
+ V = {a, b, f, h, m, n, k}
+ E = { a, b , a, f , a, h , b, f , b, h , f, m , h, m , h, k , n, k , k, m }
ta có thể biểu diễn bằng sơ đồ như sau:
a f m
h n
b k
1 1 4 1 4
+ Đồ thị vòng: 5
2 3 2 3 2 3
2 1 4 2 3
+ Đồ thị bánh xe: 4
5 1 4
1 3 2 3 6 5
- Ví dụ: Với đồ thị có hướng G = (V, E) đã định nghĩa ở trên, trong đó:
+ V = {a, b, f, h, m, n, k}
+ E = { a, b , (a, f), (a, h), (b, f), (b, h), (f, m), (h, m), (h, k), (n, k), (k, m)}
ta có thể biểu diễn bằng sơ đồ như sau:
a f m
h n
b k
a f m
h n
b k
G2 h
b k
3 8
a f m
7 10
1
h
20 n
12
b 13 k 16
4 8
a f m
5 10
1
h
2 n
1
b 3 k 20
b a f h
f a b m f
a m
h a b m k h n
b k
m f h k
n k
k h m n
n k 20
k m 2
2 3 3 4 2 3
2 2 2 3
3 3
4 5
4 5 4 5 6
a f m f f
a f m a m a m
h n n n
h n h h
b k b k b k b k
T1 T2 T3 T4
a 3 f 8 m
7 10 n
1 h 20
Một số cây khung của G: b 12
13 k 16
a 3 f 8
m 4 3 f 8
m
f a
n a m 7
n
1 h 10 n h
b 12 k 16 1 h b 12
13 b 12
13 k 16 13 k 16
T1 có c T1 = 53 T2 có c T2 = 56 T3 có c T3 = 59
{1 F = ∅; E ∗ = E;
while F < n − 1
{2 chọn m, n ∈ E∗ sao cho c m, n cực tiểu;
E∗ = E∗ \{{m, n}};
if T = V, F ∪ m, n , c không có chu trình
F = F ∪ m, n ; //bổ sung m, n vào F
2}
printf T = V, F, c , c(T) ;
1}
3 8
a f m
7 10
1
h
20 n
12
b 13 k 16
* Mô tả quá trình tìm cây khung cực tiểu T = (V1 , F, c1 ) của G1 theo thuật
toán KRUSKAL:
+ V1 = 7.
+ Xuất phát: cây khung cực tiểu T = (V1 , F, c1 ) cần tìm có F = ∅ và các
đỉnh V1 :
a f m
h n
b k
1 a, b 1, a, f 3, a, h 7, b, f 4, b, h 12, 0
f, m 8, h, m 10, h, k 13, n, k 16, k, m 20
2 a, b 1 a, f 3, a, h 7, b, f 4, b, h 12, f, m 8, a, b 1 1
h, m 10, h, k 13, n, k 16, k, m 20
3 a, f 3 a, h 7, b, f 4, b, h 12, f, m 8, h, m 10, a, b 1, a, f 3 2
h, k 13, n, k 16, k, m 20
3 8
f m
a
7
1 n
h
b 13 k 16
4 8
f m
Một số đường đi trong G2 và chi phí của đường đi: a
5 10
p1 : n → k → m có c(p1 ) = 22 1
h
2 n
1
p2 : a → f → m có c p2 = 12 b 3 k 20
p3 : a → h → m có c p3 = 15
p4 : a → h → k → m có c(p4 ) = 10
p5 : a → b → h → m có c(p5 ) = 12
p6 : a → b → h → k → m có c(p6 ) = 7
- Có một số thuật toán cho phép giải quyết bài toán này.
4 8
a f m
5 10
1
h
2 n
1
b 3 k 20
Hãy tìm đường đi ngắn nhất từ đỉnh a ∈ V đến mỗi đỉnh còn lại trong G.