BÀI TẬP LÝ THUYẾT ĐỒ THỊ
Giảng viên: Nguyễn Ngọc Trung
Chương 1. ĐẠI CƯƠNG VỀ ĐỒ THỊ
1. Loại đồ thị nào được dùng để mô hình hệ thống các đường cao tốc giữa các thành phố lớn
trong các trường hợp sau:
a. Nếu giữa hai thành phố có đường cao tốc thì giữa chúng sẽ được nối bởi một cạnh.
b. Mỗi cạnh biểu thị cho mỗi đường cao tốc giữa các thành phố.
c. Mỗi cạnh biểu thị cho mỗi đường cao tốc giữa các thành phố và ngoài ra có thêm khuyên
để biểu diễn cho đường cao tốc bao quanh một thành phố nào đó.
2. Hãy xây dựng đồ thị lấn tổ cho cả 6 loài chim trong đó chim hét cạnh tranh với chim cổ đỏ và
chim giẻ cùi xanh, chim cổ đỏ cũng cạnh tranh với chim nhại, chim nhại cạnh tranh với chim
giẻ cùi và chim bổ hạt cạnh tranh với chim gõ kiến.
3. Nếu cần phải dùng đồ biểu diễn cho kết quả thắng – thua của các trận đấu bóng chuyền giữa
các đội theo thể thức vòng tròn hai lượt (mỗi đội gặp nhau 2 lần) thì cần phải dùng đồ thị gì?
Đồ thị này sẽ có bao nhiêu cạnh nếu số đội là n đội?
4. Hãy xây dựng đồ thị ưu tiên trước sau cho chương trình sau:
a.
x := 0;
b.
x := x+1;
c.
y := 2;
d.
z := y;
e.
x := x + 2;
f.
y := y + z;
g.
z := 4;
5. Có thể tồn tại đơn đồ thị có 15 đỉnh, mỗi đỉnh đều có bậc là 5 không?
6. Cho các đồ thị hãy xác định bậc của các đỉnh của các đồ thị đó.
a.
b.
7. Hãy vẽ một đơn đồ thị vô hướng có 5 đỉnh. Trong đó có 3 đỉnh rẽ nhánh, một đỉnh cô lập. Hỏi
đồ thị này phải có bao nhiêu cạnh? Đỉnh còn lại phải có bậc mấy?
(Chú ý: có thể có nhiều đáp án cho câu hỏi này)
8. Cho một đồ thị vô hướng có n đỉnh. Hỏi đồ thị này có thể có tối đa bao nhiêu cạnh. Trong
trường hợp số cạnh là tối đa thì mỗi đỉnh sẽ có bậc là bao nhiêu?
9. Xét một đồ thị vô hướng có n đỉnh và m cạnh. Gọi k là bậc nhỏ nhất, K là bậc lớn nhất trong
đồ thị. Chứng minh rằng:
2m
k
K
n
10. Cho một đồ thị vô hướng có n đỉnh và 2n cạnh. Chứng minh rằng trong đồ thị này luôn tồn
tại một đỉnh có bậc không nhỏ hơn 4.
11. Chứng minh rằng trong một đơn đồ thị vô hướng nếu không chứa chu trình thì sẽ luôn tồn
tại ít nhất hai đỉnh treo.
12. Cho một đồ thị có hướng có n đỉnh. Hỏi đồ thị này có thể có tối đa bao nhiêu cạnh. Trong
trường hợp số cạnh là tối đa thì mỗi đỉnh sẽ có bán bậc ra và bán bậc vào là bao nhiêu?
13. Có tồn tại đơn đồ thị vô hướng có 5 đỉnh với các số bậc sau đây không? Nếu có, hãy vẽ đồ thị đó.
a. 3, 3, 3, 3, 2
b. 1, 2, 3, 4, 5
c. 0, 1, 2, 2, 3
d. 1, 1, 1, 1, 1
e. 3, 4, 3, 4, 4
f. 0, 1, 0, 1, 0
1
2
3
4
5
6
1
2
3
4
5
6
14. Hãy vẽ các đồ thị sau đây:
a. K
4x4
b. C
7
c. W
7
d. K
5
15. Cho đồ thị sau. Hãy cho biết đồ thị này có tất cả bao nhiêu đồ thị con.
16. Đồ thị K
3
có bao nhiêu đồ thị con có ít nhất một đỉnh?
Một đồ thị được gọi là chính quy nếu mọi đỉnh của nó đều có bậc như nhau. Một đồ thị được
gọi là n-chính quy nếu mọi đỉnh của nó đều có bậc n.
17. Với các giá trị nào của n thì đồ thị sau đây là chính quy?
a. K
n
b. C
n
c. W
n
18. Với các giá trị nào của m, n thì đồ thị K
mxn
là đồ thị chính quy?
19. Đồ thị bù
G
của đồ thị G là đồ thị có cùng số đỉnh với G. Hai đỉnh u và v được gọi là kề
nhau (được nối bằng một cạnh) trong
G
nếu và chỉ nếu nó không kề nhau trong G ( (u,v)
không phải là cạnh trong G). Hãy xác định đồ thị bù của các đồ thị dưới đây:
a.
n
K
b.
n
C
c.
mxn
K
d.
W
n
20. Nếu đồ thị G có n đỉnh và m cạnh thì đồ thị
G
có bao nhiêu đỉnh, bao nhiêu cạnh?
21. Chứng minh rằng nếu G là đồ thị phân đôi có n đỉnh và m cạnh thì ta có:
2
4
n
m
22. Cho các đồ thị sau, hãy xác định đồ thị nào là đồ thị phân đôi:
23. Xét đồ thị sau:
a. Hãy tìm 3 đường đi đơn khác nhau từ đỉnh 1 đến đỉnh 6
b. Hãy tìm 3 chu trình sơ cấp chứa đỉnh 1
c. Cho biết đồ thị này có liên thông mạnh hay liên thông yếu hay không?
24. Cho đồ thị sau. Hãy cho biết có tất cả bao nhiêu đường đi đơn từ đỉnh 1 đến đỉnh 16.
1
2
3
4
5
6
7
1
2
3
4
5
6
25. Hãy tìm số đường đi đơn độ dài n giữa hai đỉnh kề nhau bất kỳ trong đồ thị K
3x3
với:
a. n = 2
b. n = 3
c. n = 4
26. Từ kết quả của bài 25, hãy rút ra công thức tổng quát về số đường đi đơn độ dài n giữa hai
đỉnh kề nhau bất kỳ trong đồ thị K
mxm
27. Chứng minh rằng đồ thị vô hướng liên thông G có n đỉnh thì sẽ có ít nhất n – 1 cạnh.
28. Giả sử v là đỉnh đầu của một cạnh cắt. Chứng minh rằng v là đỉnh cắt nếu và chỉ nếu nó
không là đỉnh treo.
29. Chứng minh rằng trong một đơn đồ thị sẽ luôn tồn tại ít nhất 2 đỉnh không là đỉnh cắt.
(Gợi ý: sử dụng kết quả của bài tập 11).
30. Chứng minh rằng một cạnh trong đơn đồ thị là cạnh cắt nếu và chỉ nếu nó không nằm trong
bất kỳ chu trình nào của đồ thị.
31. Xét một đồ thị vô hướng có k thành phần liên thông. Chứng minh rằng số cạnh của đồ thị
này không thể vượt quá
(
)(
1)
2
n k n k
?
1
2
3
4
5
6
7
Chương 2. BIỂU DIỄN ĐỒ THỊ
32. Xác định ma trận kề của các đồ thị sau đây:
33. Hãy xác định ma trận liên thuộc của các đồ thị trên
34. Hãy xác định danh sách cạnh của các đồ thị trên
35. Hãy xác định danh sách kề của các đồ thị trên
36. Gọi A là ma trận kề của đồ thị bên.
a. Hãy xác định A
2
b. Hãy cho biết giá trị của A
2
ij
biểu diễn cho cái gì?
c. Từ đó, nếu ta tính An thì A
n
ij
sẽ biểu diễn cho cái gì?
37. Nếu hai đồ thị đẳng cấu với nhau thì ma trận kề của chúng có giống
nhau hay không? Tại sao?
38. Cho hai đồ thị có cùng 5 đỉnh. Cơ cấu bậc của chúng cũng giống nhau: đều có 1 đỉnh bậc 3,
3 đỉnh bậc 2 và 1 đỉnh bậc 1. Vậy hai đồ thị có chắc chắn đẳng cấu với nhau hay không. Nếu
có thì chứng minh, nếu không thì cho một ví dụ minh họa.
39. Có tất cả bao nhiêu đồ thị có 5 đỉnh và 2 cạnh. Trong số đó có bao nhiêu đồ thị đẳng cấu với
nhau.
40. Nêu đặc điểm của ma trận kề của các đồ thị sau:
a. Đồ thị đầy đủ
b. Đồ thị phân đôi đầy đủ K
1xn
41. Hãy vẽ các đồ thị được biểu diễn bởi các ma trận kề dưới đây. Hãy cho biết chúng là đồ thị
có hướng hay vô hướng:
a.
0 0 1
1 0 1
1 1 0
b.
0 1 1 0
1 0 1 1
1 1 0 0
0 1 0 0
Một đơn đồ thị được gọi là tự bù nếu và chỉ nếu G và
G
là đẳng cấu.
42. Hãy tìm một đồ thị tự bù có 5 đỉnh
43. Với số nguyên nào của n thi C
n
là đồ thị tự bù.
44. Chứng minh rằng nếu G là đồ thị tự bù với n đỉnh thì hoặc n chia hết cho 4, hoặc n chia 4 dư
1.
45. Hãy xác định các đồ thị sau có đẳng cấu hay không
46. Chứng minh răng một đồ thị vô hướng, liên thông có n đỉnh và n-1 cạnh thì sẽ không thể
chứa chu trình nào.
Chương 3. ĐỒ
47. Chứng minh rằng trong một đ
này đến một đỉnh bậc lẻ khác.
48. Các đồ thị sau đây có phải là đ
hay nửa Euler thì phải chỉ ra chu trình (
49. Các đồ thị trên đây có phải là đ
là Hamilton hay nửa Hamilton thì ph
50. Cho đồ thị vô hướng liên thông
này không có cạnh cắt (cầu) nào.
(HD: Chứng minh rằng nếu b
51. Với giá trị nào của m và n thì
a. Đồ thị Euler
b. Đồ thị nửa Euler
52. Tính số lần nâng bút nhỏ nhấ
53. Các đồ thị sau đây có phải là đ
54. Chứng minh rằng trong một đ
55. Chứng minh rằng nếu G là đ
56. Chứng minh rằng nếu G là đ
57. Hãy vẽ tất cả các đồ thị vô hư
Ồ THỊ EULER – ĐỒ THỊ HAMILTON
t đồ thị vô hướng, luôn tồn tại đường đi đơn từ
khác.
i là đồ thị Euler hay nửa Euler hay không? Giải thích. N
ra chu trình (đường đi) Euler tương ứng.
i là đồ thị Hamilton hay nửa Hamilton hay không? Gi
a Hamilton thì phải chỉ ra chu trình (đường đi) Hamilton tương
ng liên thông G mà mỗi đỉnh đều có bậc là 20. Chứng minh r
u) nào.
u bỏ đi bất kỳ 1 cạnh nào thì đồ thị vẫn còn liên thông)
a m và n thì đồ thị phân đôi đầy đủ K
mxn
là:
ất để có thể vẽ được các hình ở bài 48. Giải thích.
i là đồ thị Hamilton hay không? Chứng minh.
t đồ thị vô hướng n đỉnh, luôn tồn tại hai đỉnh có b
u G là đồ thị Hamilton thì G sẽ không chứa đỉnh cắt nào.
u G là đồ thị Euler thì G sẽ không chứa cạnh cắt (cầu) nào.
vô hướng có 6 đỉnh và bậc của các đỉnh lần lượt là: 2, 2, 3, 3, 3, 3
HAMILTON
ừ một đỉnh bậc lẻ
i thích. Nếu là Euler
a Hamilton hay không? Giải thích. Nếu
ng đi) Hamilton tương ứng.
ng minh rằng đồ thị
n còn liên thông)
i thích.
nh có bậc bằng nhau.
t nào.
u) nào.
t là: 2, 2, 3, 3, 3, 3
Chương 4. ĐỒ THỊ PHẲNG – BÀI TOÁN TÔ MÀU ĐỒ THỊ
58. Có năm ngôi nhà nối với hai thiết bị sinh hoạt: Gas và Điện. Hỏi có cách nối để các dây nối
không cắt nhau hay không? Tại sao?
59. Xét một đồ thị liên thông có 8 đỉnh bậc 3. Hỏi biểu diễn phẳng của đồ thị này sẽ chia mặt
phẳng thành mấy miền.
60. Các đồ thị sau đây có là đồ thị phẳng không? Nếu có hãy vẽ biểu diễn phẳng của nó
61. Các đồ thị sau đây có là đồ thị phẳng không? Nếu có hãy vẽ biểu diễn phẳng của nó
62. Chứng minh rằng nếu một đơn đồ thị phẳng, liên thông có e cạnh và v đỉnh, trong đó có
(v
3), và không có chu trình với độ dài 3, thì e 2v – 4.
63. Xét một đơn đồ thị phân đôi, phẳng, liên thông có e cạnh và v đỉnh (v
3). Chứng minh rằng
e
2v – 4.
64. Một đồ thị vô hướng, phẳng có e cạnh, v đỉnh và k thành phần liên thông. Hãy tìm biểu thức
quan hệ giữa r – số miền trong biểu diễn phẳng của đồ thị – với e, v và k.
65. Hãy xây dựng đồ thị đối ngẫu với các bản đồ dưới đây. Từ đó cho biết các bản đồ trên có thể
được tô bằng tổi thiều bao nhiêu màu sao cho hai vùng giáp nhau phải có màu khác nhau.
66. Hãy tìm số màu của các đồ thị dưới đây:
67. Chứng minh rằng nếu đồ thị G có chứa một chu trình có độ dài lẻ thì số màu của G ít nhất
phải là 3.
68. Tính số màu của các đồ thị sau:
a. K
n
b. W
n
c. C
n
69. Một khoa có 6 hội đồng họp mỗi tháng một lần. Cần có bao nhiêu thời điểm họp khác nhau
(tối thiểu) để đảm bảo rằng không ai bị xếp lịch họp hai hội đồng cùng một lúc. Các hội
đồng là:
HĐ1 = {An, Bình, Bảo}
HĐ2 = {Bình, Nam, Hoa}
HĐ3 = {An, Bảo, Hoa}
HĐ4 = {Nam, Bảo, Hoa}
HĐ5 = {An, Bình}
HĐ6 = {Bình, Bảo, Hoa}
70. Sáu đài truyền hình ở cách nhau như đã cho trong bảng dưới đây. Mỗi đài sẽ được cấp 1
kênh để phát sóng. Hãy tìm số kênh ít nhất cần phát, biết rằng hai đài phát cách nhau không
quá 150 dặm sẽ không được cấp phát chung một kênh.
1
2
3
4
5
6
1
85
175 200
20
100
2
85
125 175 100 160
3
175 125
100 200 250
4
200 175 100
210 220
5
10
100 200 210
100
6
100 160 250 220 100
71. Chứng minh rằng một đơn đồ thị vô hướng là phân đôi nếu và chỉ nếu số màu của nó là 2.
Tô màu cạnh của đồ thị là gán mỗi cạnh của đồ thị bằng một màu sao cho hai cạnh có cùng
chung đỉnh đầu sẽ không được gán cùng màu. Số màu cạnh của một đồ thị là số màu ít nhất
dùng để tô màu các cạnh của đồ thị.
72. Hãy xác định số màu cạnh của các đồ thị trong bài 66.
73. Hãy đưa bài toán tô màu cạnh về bài toán tô màu đồ thị (tô màu đỉnh)
Chương 5. CÂY
74. Có bao nhiêu cây không đẳng cấu với n đỉnh nếu
a. n = 3
b. n = 4
75. Cho G là một cây 5-phân đầy đủ có 100 đỉnh trong. Hỏi G có tất cả bao nhiêu đỉnh
76. Cây 3-phân (tam phân) đầy đủ có 100 đỉnh thì có bao nhiêu lá?
77. Chứng minh rằng mọi cây đều có thể được tô bằng hai màu.
78. Cho G là đồ thị vô hướng liên thông có n đỉnh và m cạnh. Cần phải xóa đi bao nhiêu cạnh
trong G để G trở thành một cây?
79. Hãy vẽ tất cả các cây khung của các đồ thị sau:
80. Các đồ thị sau có tất cả bao nhiêu cây khung?
a. K
3
b. K
2,2
c. C
n
d. W
n
81. Khi nào thì một cạnh của G luôn luôn nằm trong tất cả các cây khung của nó.
82. Hãy tìm cây khung nhỏ nhất của các đồ thị sau bẳng thuật toán Prim:
83. Hãy áp dụng thuật toán Kruskal để tìm cây khung nhỏ nhất của các đồ thị trong bài 82
Cây khung cực đại của một đồ thị có trọng số là cây khung có tổng trọng số lớn nhất
84. Hãy đề xuất hai thuật toán để tìm cây khung cực đại của một đồ thị.
(HD: nên tận dụng hai thuật toán đã học Prim/Kruskal)
85. Áp dụng các thuật toán trên để tìm cây khung cực đại của hai đồ thị trong bài 82.
86. Hãy tìm cây khung nhỏ nhất của các đồ thị sau bẳng thuật toán Prim:\
87. Hãy áp dụng thuật toán Kruskal để tìm cây khung nhỏ nhất của các đồ thị trong bài 86.
Chương 6. BÀI TOÁN ĐƯỜNG ĐI NGẮN NHẤT
88. Hãy áp dụng thuật toán Ford-Bellman để tìm đường đi ngắn nhất từ đỉnh a đến các đỉnh
khác trong các đồ thị dưới đây. Hãy vẽ cây đường đi thể hiện cho các đường đi ngắn nhất
đó.
89. Tương tự như bài 88, nhưng sử dụng thuật toán Dijsktra.
90. Hãy áp dụng thuật toán Dijsktra để tìm đường đi ngắn nhất từ a tới z trong đồ thị ở bài 88,
câu b, biết rằng đường đi này phải đi qua đỉnh f.
91. Cho G là một đồ thị có trọng số và u* là một đỉnh của G. Hãy cải tiến thuật toán Dijsktra sao
cho có thể tìm được đường đi ngắn nhất từ đỉnh s đến đỉnh t mà phải đi qua đỉnh u*.
(Chú ý: Không cần viết chi tiết, chỉ cần mô tả ý tưởng)
92. Hãy áp dụng thuật toán Dijsktra để tìm đường đi ngắn nhất từ a tới z trong đồ thị ở bài 88,
câu b, biết rằng đường đi này phải đi qua cạnh (d, f).
(HD: Chọn đường đi ngắn hơn giữa hai đường đi ngắn nhất: a - … - d – f - … z, và
a - … - f – d - … z.)
93. Cho G là một đồ thị có trọng số và (u*, v*) là một cạnh của G. Hãy cải tiến thuật toán
Dijsktra sao cho có thể tìm được đường đi ngắn nhất từ đỉnh s đến đỉnh t mà phải đi qua
cạnh (u*, v*).
(Chú ý: Không cần viết chi tiết, chỉ cần mô tả ý tưởng)
94. Cho sơ đồ các thành phố và chi phí để di chuyển (bằng máy bay) giữa các thành phố như
sau:
Giả sử một công ty du lịch đặt tại NewYork muốn tổ chức các tour du lịch từ NewYork tới
các thành phố khác. Hãy chỉ đường cho công ty này sao cho các tour là ít tốn kém về tiền vé
nhất.
95. Xét đồ thị sau, hãy cho biết ma trận d và p cuối cùng sau khi thực hiện thuật toán Floyd trên
đồ thị này.
3
1
2
3
4
4
2
1
6
8
5
3
11
7