Bài tập lý thuyết đồ thị
Trang 1B1 Cho các đồ thị sau, hãy lập ma trận kề của chúng(ma trận zêrô-một).
1
2
3
4
5
3 4
3 1
1
5
2 1
2
4
Trang 22 2
Trang 3B2 Các đồ thị sau, đồ thị nào là đồ thị Euler, nửa Euler, Hamilton, nửa Hamilton?Vì sao?
A
B
C
F
D
E
G
H
I
2 3 4 5 1 6 1 2 3 4
Trang 46 7 8 9 J
K
Đồ thị A,J có đường đi euler và có 2 đỉnh bậc lẻ -> là đồ thị nửa euler
Đồ thị B,K có đường đi euler và có 1 đỉnh bậc lẻ -> là đồ thị nửa euler
Đồ thị F có tất cả các đỉnh bậc chẵn nên nó là dồ thị euler
Đồ thị I tất cả các đỉnh có bậc vào bằng bậc ra nên nó là đồ thị euler
Trang 5Đồ thị I có tất cả các đỉnh có bậc lớn hơn n/2 ( n là số đỉnh) nên nó là đồ thị Hamilton
A B
E
21
F G C D 11 3 8 9 7 14 8 21 16 4 10 5
14 4 B3 Tìm đường đi ngắn nhất từ đỉnh A đến các đỉnh khác.Độ dài là bao nhiêu ?
Trang 6a) Thuật toán:
Nếu L(v) > L(u) + w(u,v) → L(v) := L(u) + w(u,v)
Giải thích ký hiệu:
14,a: 14: độ dài từ đỉnh xuất phát đến đỉnh v
a: Tên đỉnh trước đỉnh v để có độ dài bằng d(v)
∞: ko có cạnh nối
* : Cố định nhãn và dừng với đỉnh đó
- : Ko xét đỉnh đó nữa
Vòng lặp Đỉnh A Đỉnh B Đỉnh C Đỉnh D Đỉnh E Đỉnh F Đỉnh G
-Độ ngắn nhất từ A đến B là 14, đường đi a,b
A đến C là 16, đường đi : a,e,g,c
A đến D là 14, đường đi : a,e,d
A đến E là 4, đường đi : a,e,
A đến F là 8, đường đi a,f
A dến G là 13, đường đi a,e,g b) Với đồ thị đã cho như hình bài 4 tìm đường đi ngắn nhất từ đỉnh A đến đỉnh D trong
đồ thị tương ứng không có trọng số ( coi trọng số của các cạnh bằng nhau và bằng 1 đơn vị dài)
Trang 7Thuật toán:
Xuất phát gán nhãn (0)
Kề nhãn (0) gán nhãn (1)
Dừng khi đích có nhãn
Nhãn đỉnh đích là đường đi ngắn nhất
Bài toán:
Xuất phát gắn nhãn (0) cho đỉnh A
Kề với nhãn (0) gán nhãn (1) cho đỉnh B, đỉnh E, đỉnh F
Kề với nhãn (1) gán nhãn (2) cho đỉnh C, đỉnh C, đỉnh D
KL: Đường đi ngắn nhất A→D có 2 cạnh
Liệt kê đường đi: AE, ED
G
D
21
Trang 8B4 Tìm cây khung nhỏ nhất theo thuật toán Kruskal và Prim cho bởi đồ thị sau:
1 2 7 3 4 5 6 11 13 16 9 12 18 7 20 10 11
Thuật toán Kruskal :
Chọn cạnh Min cho đồ thị có n đỉnh
Chọn cạnh Min trong các cạnh còn lại bổ sung vào cây sao cho ko tạo thành chu trình
Dừng lại khi số cạnh = (n-1)
Trang 9Số đỉnh của cây là n=7 => số cạnh của cây khung nhỏ nhất là 7-1 = 6 cạnh
12 (2,4) Không chọn vì tạo thành chu trình 2,4,7,2 5
Độ dài của cây khung nhỏ nhất là 7+9+10+11+11+13 = 61
11 13 9 7 10 11
5 2
1
6 4
Trang 10Thuật toán prim
Số đỉnh của cây là n=7 => số cạnh của cây khung nhỏ nhất là 7-1 = 6 cạnh
Vòng
lặp
K.tạo - 18,1 7,1
*
*
- - 13,4 16,4 - 1,3,7,4 (1,3),(1,7),(7,4)
*
16,4 - 1,3,7,4,2 (1,3),(1,7,),(7,4),
(7,2)
(7,2),(4,5)
(7,2),(4,5),(5,6)
B5 Thuật toán tô màu đồ thị:
Mỗi môn thi tương ứng 1 đỉnh
Cặp môn thi có chung sinh viên tương ứng với 1 cạnh nối với 2 đỉnh biểu diễn cho 2 môn thi đó
Để ko có sv nào phải thi lại 2 môn cùng 1 đợt thi thì 2 đỉnh biểu diễn 2 môn thi
đó là 2 đỉnh kề nhau phải có màu khác nhau → Bài toán tô màu đỉnh của đồ thị sao cho
số màu cần tô là ít nhất
Số màu là số đợt thi
Thuật toán:
Sắp xếp số bậc của đỉnh theo thứ tự giảm dần:
Deg (4) = deg (7) = 4
10
5 2
1
7
6
4
10
Trang 11Deg(1) = deg(2) = 3 Deg (3) = deg (5) = deg (6) = 2
- Tô màu (1) cho đỉnh 4
+ đỉnh 1 không kề với đỉnh 4: tô màu (1)
+ các đỉnh còn lại đều kề với màu 1 nên không được tô màu 1 nữa
- Tô màu (2) cho đỉnh 7
+ Đỉnh 5 không kề với đỉnh 7: Tô màu (2)
+
- Tô màu (3) cho đỉnh 2
+ Đỉnh 3 không kề với đỉnh 2: Tô màu (3)
+ Đỉnh 6 không kề với đỉnh 2 và đỉnh 3: Tô màu 3
Màu 1: đỉnh 4, đỉnh 1
Màu 2: đỉnh 7, đỉnh 5
Màu 3: đỉnh 2, đỉnh 3, đỉnh 6
KL: có 3 đợt thi:
Đợt 1: các môn 1, 4
Đợt 2: các môn 5, 7
Đợt 3: các môn 2, 3, 6
Trang 1212 12
Trang 1414 14
Trang 1616 16