Professional Documents
Culture Documents
Bai Thuc Hanh So 4 - LTDT
Bai Thuc Hanh So 4 - LTDT
Bài 1. Cho một đồ thị liên thông G = (V, E) có N đỉnh. Hãy viết chương trình kiểm tra
xem G có chu trình Euler hay không. Nếu có thì hãy in ra một chu trình, nếu không
thì thông báo “No Euler”.
“Euler.inp”
- Trong file này, dòng đầu tiên là số N, N dòng tiếp theo là ma trận kề cấp N.
Bài 2. Cho một đồ thị liên thông G = (V, E) có N đỉnh, có trọng số (không âm). Hãy viết
chương trình tìm một đường đi từ đỉnh bắt đầu s đến đỉnh g của đồ thị bằng thuật toán
Dijkstra.
“Dijkstra.inp”
- Trong file này, dòng đầu tiên chứa ba số nguyên dương, lần lượt là: N, s, g -
N dòng tiếp theo là ma trận kề cấp N.
Output
:
- In kết quả ra màn hình và ra file “Dijkstra.out”. - In kết quả ra màn hình có định
dạng sau: đỉnh đầu – đỉnh cuối: chi phí (đường
đi).
8.
84803520000
30107000510
40100204003
60070002030
01320460006
04050000365
0
Ví dụ: 4 – 8: 8 (4 → 6 → 5 → 8)
Bài 3. Cho một đồ thị liên thông G = (V, E) có N đỉnh, có trọng số (không âm). Hãy viết
chương trình tìm cây khung nhỏ nhất của đồ thị này bằng thuật toán Kruskal.
“Kruskal.inp”
- Trong file này, dòng đầu tiên chứa một số nguyên dương là N. -
N dòng tiếp theo là ma trận kề cấp N.
Output
:
đỉnh
80352000030
10700051040
10020400360
07000203001
32046000604
0500003650
Bài 4. Cho một đồ thị liên thông G = (V, E) có N đỉnh, có trọng số (không âm). Hãy viết
chương trình tìm cây khung nhỏ nhất của đồ thị này bằng thuật toán Prim.
“Prim.inp”
- Trong file này, dòng đầu tiên chứa một số nguyên dương là N. -
N dòng tiếp theo là ma trận kề cấp N.
Output
:
đỉnh
80352000030
10700051040
10020400360
07000203001
32046000604
0500003650
Ví
dụ:
- ET = {v1v2, v2v4, v4v6, ....}
Tổng trọng số của cây T = <tổng trọng số của cây tìm được>