You are on page 1of 4

BÀI THỰC HÀNH SỐ 4

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”.

Input: - Tên file:

“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.

Output: in kết quả ra màn hình và ra file “Euler.out”.

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.

Input: - Tên file:

“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).

Ví dụ: Ví dụ: Đồ thị có 8 đỉnh, đỉnh bắt đầu 4, đỉnh cuối là

8.

84803520000
30107000510

40100204003

60070002030
01320460006

04050000365
0

Output: in kết quả ra màn hình và ra file


“Dijkstra.out”.

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.

Input: - Tên file:

“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
:

- In kết quả ra màn hình và ra file “Kruskal.out”. - Kết quả in ra là tập


các cạnh ET của cây khung nhỏ nhất tìm được.

Ví dụ: Ví dụ: Đồ thị có 8

đỉnh

80352000030

10700051040
10020400360

07000203001
32046000604
0500003650

Output: in kết quả ra màn hình và ra file


“Kruskal.out”.

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>

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.

Input: - Tên file:

“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
:

- In kết quả ra màn hình và ra file “Prim.out”.


- Kết quả in ra là tập các cạnh ET của cây khung nhỏ nhất tìm được.

Ví dụ: Ví dụ: Đồ thị có 8

đỉnh

80352000030
10700051040
10020400360

07000203001

32046000604

0500003650

Output: in kết quả ra màn hình và ra file


“Prim.out”.


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>

------ The end


-----

You might also like