Tải bản đầy đủ (.ppt) (12 trang)

bài tập đồ thị môn kỹ thuật lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (237.44 KB, 12 trang )

1
1


BÀI I. ĐỒ THỊ VÔ HƯỚNG: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
BÀI I. ĐỒ THỊ VÔ HƯỚNG: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
a.
a.
Tìm DFS(1)/ BFS(1) chỉ rõ kết quả các bước thực hiện của thuật toán
Tìm DFS(1)/ BFS(1) chỉ rõ kết quả các bước thực hiện của thuật toán
b.
b.
Tìm các thành phần liên thông của G.
Tìm các thành phần liên thông của G.
c.
c.
Tìm đường đi từ đỉnh 1 đến đỉnh 14 của G.
Tìm đường đi từ đỉnh 1 đến đỉnh 14 của G.
d.
d.
Tìm cây khung của G.
Tìm cây khung của G.
e.
e.
Tìm các cạnh cầu của G.
Tìm các cạnh cầu của G.
f.
f.
Tìm các đỉnh cầu của G.


Tìm các đỉnh cầu của G.
G=<V,E>
G=<V,E>
2
2
7
7
8
8
13
13
4
4
5
5
10
10
11
11
6
6
9
9
12
12
14
14
1
1
3

3
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
Ma trận kề
Ma trận kề
Dầu
Dầu
Cuối
Cuối
Đầu
Đầu
Cuối
Cuối
1
1
2
2
7
7
8
8
1
1
4
4
8
8
9
9
2

2
3
3
8
8
13
13
2
2
7
7
9
9
10
10
3
3
4
4
9
9
12
12
3
3
6
6
10
10
11

11
4
4
5
5
11
11
12
12
5
5
6
6
11
11
14
14
5
5
10
10
12
12
13
13
6
6
7
7
13

13
14
14
6
6
9
9
Danh sách cạnh
Danh sách cạnh
List (1) = 2
List (1) = 2
4
4
List(2) = 1
List(2) = 1
3 7
3 7
List(3) = 2
List(3) = 2
4 6
4 6
List(4) = 1
List(4) = 1
3 5
3 5
List(5) = 4
List(5) = 4
6 10
6 10
List(6) = 3

List(6) = 3
5 7 9
5 7 9
List(7) = 2
List(7) = 2
6 8
6 8
List(8) = 7
List(8) = 7
9 13
9 13
List(9) = 6
List(9) = 6
8 10 12
8 10 12
List(10) = 5
List(10) = 5
9 11
9 11
List(11) = 10
List(11) = 10
12 14
12 14
List(12) = 9
List(12) = 9
11 13
11 13
List(13) = 8
List(13) = 8
12 14

12 14
List(14) = 11
List(14) = 11
13
13
2
BÀI 2. ĐỒ THỊ CÓ HƯỚNG: Cho đồ thị có huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
BÀI 2. ĐỒ THỊ CÓ HƯỚNG: Cho đồ thị có huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
a.
a.
Tìm DFS(1)/ BFS(1) chỉ rõ kết quả các bước thực hiện của thuật toán
Tìm DFS(1)/ BFS(1) chỉ rõ kết quả các bước thực hiện của thuật toán
b.
b.
Tìm các thành phần liên thông của G.
Tìm các thành phần liên thông của G.
c.
c.
Tìm đường đi từ đỉnh 1 đến đỉnh 14 của G.
Tìm đường đi từ đỉnh 1 đến đỉnh 14 của G.
d.
d.
Kiểm tra tính liên thông mạnh của G.
Kiểm tra tính liên thông mạnh của G.
e.
e.
Kiểm tra tính liên thông yếu của G.
Kiểm tra tính liên thông yếu của G.

G=<V,E>
G=<V,E>
2
2
7
7
8
8
13
13
4
4
5
5
10
10
11
11
6
6
9
9
12
12
14
14
1
1
3
3

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0

0
0
Ma trận kề
Ma trận kề
Dầu
Dầu
Cuối
Cuối
Đầu
Đầu
Cuối
Cuối
1
1
2
2
8
8
13
13
2
2
3
3
9
9
6
6
2
2

7
7
10
10
5
5
3
3
4
4
10
10
9
9
4
4
1
1
11
11
10
10
5
5
4
4
11
11
12
12

5
5
6
6
12
12
9
9
6
6
3
3
13
13
12
12
7
7
6
6
13
13
14
14
7
7
8
8
14
14

11
11
8
8
9
9
Danh sách cạnh
Danh sách cạnh
List (1) = 2
List (1) = 2
List(2) = 3 7
List(2) = 3 7
List(3) = 4
List(3) = 4
List(4) = 1
List(4) = 1
List(5) = 4
List(5) = 4
6
6
List(6) = 3
List(6) = 3
List(7) = 6 8
List(7) = 6 8
List(8) = 9 13
List(8) = 9 13
List(9) = 6
List(9) = 6
List(10) = 5
List(10) = 5

9
9
List(11) = 10
List(11) = 10
12
12
List(12) = 9
List(12) = 9
List(13) = 12 14
List(13) = 12 14
List(14) = 11
List(14) = 11
3
BÀI 3. CHU TRÌNH Euler: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
BÀI 3. CHU TRÌNH Euler: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
a.
a.
Chứng mình rằng G là đồ thị Euler.
Chứng mình rằng G là đồ thị Euler.
b.
b.
Tìm một chu trình Euler của G, chỉ rõ
Tìm một chu trình Euler của G, chỉ rõ


các kết quả trung gian trong quá trình thực hiện thuật toán
các kết quả trung gian trong quá trình thực hiện thuật toán
G=<V,E>

G=<V,E>
2
2
7
7
8
8
12
12
4
4
5
5
10
10
11
11
6
6
9
9
13
13
1
1
3
3
0
0
3

3
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
1
1
1

1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0

0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
1
1
1
0
0
1
1
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0

0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1

1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
1
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1

1
0
0
1
1
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3

3
3
3
0
0
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
SC
SC
Đầu
Đầu
Cuối
Cuối
SC
SC
1
1
2
2
3
3
6
6
8

8
1
1
1
1
4
4
3
3
6
6
10
10
1
1
2
2
3
3
1
1
7
7
8
8
1
1
2
2
4

4
1
1
8
8
9
9
1
1
2
2
7
7
1
1
8
8
12
12
1
1
3
3
4
4
1
1
9
9
10

10
1
1
3
3
5
5
1
1
9
9
11
11
1
1
3
3
7
7
1
1
9
9
12
12
1
1
4
4
5

5
1
1
10
10
11
11
1
1
5
5
6
6
1
1
11
11
12
12
1
1
5
5
10
10
1
1
11
11
13

13
3
3
6
6
7
7
1
1
12
12
13
13
3
3
4
BÀI 4. ĐỒ THỊ NỬA EULER: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
BÀI 4. ĐỒ THỊ NỬA EULER: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
a.
a.
Chứng mình rằng G là đồ thị nửa Euler.
Chứng mình rằng G là đồ thị nửa Euler.
b.
b.
Tìm một đường đi Euler của G, chỉ rõ
Tìm một đường đi Euler của G, chỉ rõ



các kết quả trung gian trong quá trình thực hiện thuật toán
các kết quả trung gian trong quá trình thực hiện thuật toán
G=<V,E>
G=<V,E>
2
2
7
7
8
8
12
12
4
4
5
5
10
10
11
11
6
6
9
9
13
13
1
1
3
3

0
0
3
3
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0

1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1

1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
1
1
1
0
0
1
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1

0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0

0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
1
1
1
1
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
3
3
3
3
0
0
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
SC
SC
Đầu
Đầu
Cuối
Cuối
SC
SC
1
1
2
2
3
3

6
6
8
8
1
1
1
1
4
4
3
3
6
6
10
10
1
1
2
2
3
3
1
1
7
7
8
8
1
1

2
2
4
4
1
1
8
8
9
9
1
1
2
2
7
7
1
1
8
8
12
12
1
1
3
3
4
4
1
1

9
9
10
10
1
1
3
3
5
5
1
1
9
9
11
11
1
1
3
3
7
7
1
1
9
9
12
12
1
1

4
4
5
5
1
1
10
10
11
11
1
1
5
5
6
6
1
1
11
11
13
13
3
3
5
5
10
10
1
1

12
12
13
13
3
3
6
6
7
7
1
1
11->9 ->8 ->6->5->3 ->2 ->1->2 ->1->4->1->4->2->7
11->9 ->8 ->6->5->3 ->2 ->1->2 ->1->4->1->4->2->7
->3->4->5->10->6->7->8
->3->4->5->10->6->7->8




12-> 9 -> 10 ->11 ->13->11->13->12->13->12
12-> 9 -> 10 ->11 ->13->11->13->12->13->12
5
BÀI 5.CHU TRÌNH EULER: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
BÀI 5.CHU TRÌNH EULER: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
a.
a.
Chứng mình rằng G là đồ thị Euler.

Chứng mình rằng G là đồ thị Euler.
b.
b.
Tìm một chu trình Euler của G, chỉ rõ
Tìm một chu trình Euler của G, chỉ rõ


các kết quả trung gian trong quá trình thực hiện thuật toán
các kết quả trung gian trong quá trình thực hiện thuật toán
2
2
7
7
8
8
12
12
4
4
5
5
10
10
11
11
6
6
9
9
13

13
1
1
3
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0

0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
1
1
0
0
0
0
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
SC
SC
Đầu
Đầu
Cuối
Cuối
SC
SC
1

1
2
2
1
1
7
7
8
8
1
1
2
2
3
3
1
1
8
8
9
9
1
1
2
2
7
7
1
1
8

8
12
12
1
1
3
3
4
4
1
1
9
9
10
10
1
1
3
3
7
7
1
1
9
9
12
12
1
1
4

4
1
1
1
1
10
10
5
5
1
1
4
4
2
2
1
1
10
10
6
6
1
1
5
5
3
3
1
1
11

11
9
9
1
1
5
5
4
4
1
1
11
11
10
10
1
1
6
6
5
5
1
1
12
12
11
11
1
1
6

6
8
8
1
1
12
12
13
13
1
1
7
7
6
6
1
1
13
13
11
11
1
1
1 ->2 -> 3 -> 4 -> 2 -> 7 ->6 ->5 ->3 ->7 ->8 ->9
1 ->2 -> 3 -> 4 -> 2 -> 7 ->6 ->5 ->3 ->7 ->8 ->9
->10 ->6 ->8 ->12 ->13 ->11 ->9 ->12 ->11 ->10 ->5
->10 ->6 ->8 ->12 ->13 ->11 ->9 ->12 ->11 ->10 ->5
->4 ->1
->4 ->1
6

BÀI 6. ĐỒ THỊ NỬA EULER: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
BÀI 6. ĐỒ THỊ NỬA EULER: Cho đồ thị vô huớng G=<V,E>, trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới các dạng: hình vẽ, ma
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
trận kề, danh sách cạnh, danh sách kề. Hãy thực hiện:
a.
a.
Chứng mình rằng G là đồ thị nửa Euler.
Chứng mình rằng G là đồ thị nửa Euler.
b.
b.
Tìm một đường đi Euler của G, chỉ rõ
Tìm một đường đi Euler của G, chỉ rõ


các kết quả trung gian trong quá trình thực hiện thuật toán
các kết quả trung gian trong quá trình thực hiện thuật toán
2
2
7
7
8
8
12
12
4
4
5
5
10
10

11
11
6
6
9
9
13
13
1
1
3
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
SC
SC

Đầu
Đầu
Cuối
Cuối
SC
SC
1
1
2
2
1
1
7
7
8
8
1
1
2
2
3
3
1
1
8
8
9
9
1
1

2
2
7
7
1
1
8
8
12
12
1
1
3
3
4
4
1
1
9
9
10
10
1
1
3
3
7
7
1
1

9
9
12
12
1
1
4
4
1
1
1
1
10
10
5
5
1
1
4
4
2
2
1
1
10
10
6
6
1
1

5
5
3
3
1
1
11
11
9
9
1
1
5
5
4
4
1
1
11
11
10
10
1
1
6
6
5
5
1
1

12
12
13
13
1
1
6
6
8
8
1
1
13
13
11
11
1
1
7
7
6
6
1
1
7
9
9
6
6
7

7
BÀI 7. ĐỒ THỊ VÔ HƯỚNG CÓ TRỌNG SỐ:
BÀI 7. ĐỒ THỊ VÔ HƯỚNG CÓ TRỌNG SỐ:
a.
a.
Phát biểu bài toán tìm cây khung nhỏ nhất của đồ thị.
Phát biểu bài toán tìm cây khung nhỏ nhất của đồ thị.
b.
b.
Trình bày thuật toán Kruskal/Prim tìm cây khung nhỏ
Trình bày thuật toán Kruskal/Prim tìm cây khung nhỏ
nhất của đồ thị vô hướng liên thông có trọng số.
nhất của đồ thị vô hướng liên thông có trọng số.
c.
c.
Áp dụng thuật toán cho đồ thị dưới đây, chỉ rõ kết quả
Áp dụng thuật toán cho đồ thị dưới đây, chỉ rõ kết quả
theo mỗi bước thực hiện của thuật toán.
theo mỗi bước thực hiện của thuật toán.
G=<V,E>
G=<V,E>
2
2
7
7
8
8
13
13
4

4
5
5
10
10
11
11
6
6
9
9
14
14
1
1
3
3
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
TRS
TRS
Đầu
Đầu
Cuối

Cuối
TRS
TRS
1
1
2
2
6
6
7
7
8
8
3
3
1
1
3
3
9
9
8
8
9
9
5
5
1
1
4

4
7
7
8
8
13
13
8
8
2
2
3
3
2
2
9
9
10
10
4
4
2
2
7
7
5
5
9
9
12

12
3
3
3
3
4
4
4
4
10
10
11
11
8
8
3
3
6
6
5
5
11
11
12
12
4
4
4
4
5

5
5
5
11
11
14
14
3
3
5
5
6
6
1
1
12
12
13
13
1
1
5
5
10
10
1
1
12
12
14

14
2
2
6
6
7
7
1
1
13
13
14
14
1
1
6
6
9
9
2
2
12
12
2
2
5
5
4
4
5

5
1
1
5
5
3
3
1
1
1
1
8
8
8
8
5
5
2
2
4
4
1
1
2
2
3
3
3
3
4

4
1
1
0
0
6
6
9
9
7
7





















6
6
0
0
2
2






5
5














9

9
2
2
0
0
4
4


5
5
















7
7



4
4
0
0
5
5

























5
5
0
0
1
1






1
1












5
5



1
1
0
0
1
1


2
2












5
5







1
1
0
0
3
3

























3
3
0
0
5
5






8
8












2
2



5
5
0
0
4
4


3
3












1
1







4
4
0
0
8
8

























8
8
0
0
4
4


3
3
















3
3



4
4
0
0
1
1
2
2














8
8







1
1
0
0
1
1




















3
3
2

2
1
1
0
0
8
9
9
6
6
7
7
BÀI 8. ĐƯỜNG ĐI NGẮN NHẤT:
BÀI 8. ĐƯỜNG ĐI NGẮN NHẤT:
a.
a.
Phát biểu bài toán tìm đường đi ngắn nhất từ đỉnh s đến
Phát biểu bài toán tìm đường đi ngắn nhất từ đỉnh s đến
đỉnh t trên đồ thị trọng số.
đỉnh t trên đồ thị trọng số.
b.
b.
Trình bày thuật toán Dijkstra tìm đường đi ngắn nhất
Trình bày thuật toán Dijkstra tìm đường đi ngắn nhất
trên đồ thị có trọng số không âm.
trên đồ thị có trọng số không âm.
c.
c.
Áp dụng thuật toán tìm đường đi ngắn nhất từ đỉnh 1 đến
Áp dụng thuật toán tìm đường đi ngắn nhất từ đỉnh 1 đến

tất cả các đỉnh còn lại của đồ thị dưới đây , chỉ rõ kết quả
tất cả các đỉnh còn lại của đồ thị dưới đây , chỉ rõ kết quả
theo mỗi bước thực hiện của thuật toán.
theo mỗi bước thực hiện của thuật toán.
d.
d.
Chỉ rõ từng đường đi ngắn nhất từ đỉnh 1 đến các đỉnh
Chỉ rõ từng đường đi ngắn nhất từ đỉnh 1 đến các đỉnh
còn lại và độ dài của các đường đi này.
còn lại và độ dài của các đường đi này.
G=<V,E>
G=<V,E>
2
2
7
7
8
8
13
13
4
4
5
5
10
10
11
11
6
6

9
9
14
14
1
1
3
3
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
TRS
TRS
Đầu
Đầu
Cuối
Cuối
TRS
TRS
1
1
2
2
6
6

7
7
8
8
3
3
1
1
3
3
9
9
8
8
9
9
5
5
1
1
4
4
7
7
8
8
13
13
8
8

2
2
3
3
2
2
9
9
10
10
4
4
2
2
7
7
5
5
9
9
12
12
3
3
3
3
4
4
4
4

10
10
11
11
8
8
3
3
6
6
5
5
11
11
12
12
4
4
4
4
5
5
5
5
11
11
14
14
3
3

5
5
6
6
1
1
12
12
13
13
1
1
5
5
10
10
1
1
12
12
14
14
2
2
6
6
7
7
1
1

13
13
14
14
1
1
6
6
9
9
2
2
12
12
2
2
5
5
4
4
5
5
1
1
5
5
3
3
1
1

1
1
8
8
8
8
5
5
2
2
4
4
1
1
2
2
3
3
3
3
4
4
1
1
0
0
6
6
9
9

7
7




















6
6
0
0
2
2







5
5














9
9
2
2
0
0
4
4



5
5
















7
7


4
4
0
0
5
5

























5
5
0
0
1
1







1
1












5
5


1
1
0
0
1
1



2
2












5
5






1
1
0
0
3
3

























3
3
0
0
5
5







8
8












2
2


5
5
0
0
4
4



3
3












1
1






4
4
0
0
8
8

























8
8
0
0
4
4



3
3
















3
3


4
4
0
0
1
1
2
2















8
8






1
1
0
0
1
1





















3
3
2
2
1
1
0
0
9
4
4
5

5
1
1
2
2
5
5
9
9
1
1
2
2
3
3
2
2
4
4
1
1
4
4
5
5
1
1
8
8
3

3
1
1
8
8
3
3
5
5
6
6
7
7
BÀI 9. ĐƯỜNG ĐI NGẮN NHẤT:
BÀI 9. ĐƯỜNG ĐI NGẮN NHẤT:
a.
a.
Phát biểu bài toán tìm đường đi ngắn nhất từ đỉnh s đến
Phát biểu bài toán tìm đường đi ngắn nhất từ đỉnh s đến
đỉnh t trên đồ thị trọng số.
đỉnh t trên đồ thị trọng số.
b.
b.
Trình bày thuật toán Dijkstra tìm đường đi ngắn nhất
Trình bày thuật toán Dijkstra tìm đường đi ngắn nhất
trên đồ thị có trọng số không âm.
trên đồ thị có trọng số không âm.
c.
c.
Áp dụng thuật toán tìm đường đi ngắn nhất từ đỉnh 1 đến tất cả các

Áp dụng thuật toán tìm đường đi ngắn nhất từ đỉnh 1 đến tất cả các
đỉnh còn lại của đồ thị dưới đây , chỉ rõ kết quả theo mỗi bước thực
đỉnh còn lại của đồ thị dưới đây , chỉ rõ kết quả theo mỗi bước thực
hiện của thuật toán.
hiện của thuật toán.
d.
d.
Chỉ rõ từng đường đi ngắn nhất từ đỉnh 1 đến các đỉnh còn lại và độ
Chỉ rõ từng đường đi ngắn nhất từ đỉnh 1 đến các đỉnh còn lại và độ
dài của các đường đi này.
dài của các đường đi này.
G=<V,E>
G=<V,E>
2
2
7
7
8
8
13
13
4
4
5
5
10
10
11
11
6

6
9
9
14
14
1
1
3
3
Ma trận kề
Ma trận kề
Danh sách cạnh
Danh sách cạnh
Đầu
Đầu
Cuối
Cuối
TRS
TRS
Đầu
Đầu
Cuối
Cuối
TRS
TRS
1
1
2
2
6

6
7
7
8
8
3
3
1
1
3
3
9
9
8
8
9
9
5
5
1
1
4
4
7
7
8
8
13
13
8

8
2
2
3
3
2
2
9
9
12
12
3
3
2
2
7
7
5
5
10
10
9
9
4
4
3
3
6
6
5

5
10
10
11
11
8
8
4
4
3
3
4
4
11
11
12
12
4
4
4
4
5
5
5
5
11
11
14
14
3

3
5
5
6
6
1
1
12
12
14
14
2
2
5
5
10
10
1
1
13
13
12
12
1
1
6
6
9
9
2

2
13
13
14
14
1
1
7
7
6
6
1
1
12
12
0
0
6
6
9
9
7
7























0
0
2
2






5
5



















0
0




5
5





















4
4
0
0
5
5



























0
0
1
1






1
1



















0
0




2
2





















1
1
0
0
3
3



























0
0
5
5






8
8



















0
0




3
3





















4
4
0
0
8
8

























8
8
0
0
4
4


3
3























0
0


2
2























1
1
0
0
1
1



























0
0
10
10


BÀI 10. ĐỊNH CHIỀU ĐỒ THỊ: Cho đồ thị vô huớng G=<V,E>,
BÀI 10. ĐỊNH CHIỀU ĐỒ THỊ: Cho đồ thị vô huớng G=<V,E>,
trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới
trong đó V là tập đỉnh, E là tập cạnh được biểu diễn dưới
các dạng: hình vẽ, ma trận kề, danh sách cạnh, danh sách
các dạng: hình vẽ, ma trận kề, danh sách cạnh, danh sách
kề. Hãy định chiều lại đồ thị G sao cho ta nhận được một
kề. Hãy định chiều lại đồ thị G sao cho ta nhận được một
đồ thị có hướng liên thông mạnh.

đồ thị có hướng liên thông mạnh.
G=<V,E>
G=<V,E>
2
2
7
7
8
8
13
13
4
4
5
5
10
10
11
11
6
6
9
9
12
12
14
14
1
1
3

3
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
0
Ma trận kề
Ma trận kề
Dầu
Dầu
Cuối
Cuối
Đầu
Đầu
Cuối
Cuối
1
1
2
2
7
7
8
8
1
1
4
4
8
8
9
9
2

2
3
3
8
8
13
13
2
2
7
7
9
9
10
10
3
3
4
4
9
9
12
12
3
3
6
6
10
10
11

11
4
4
5
5
11
11
12
12
5
5
6
6
11
11
14
14
5
5
10
10
12
12
13
13
6
6
7
7
13

13
14
14
6
6
9
9
Danh sách cạnh
Danh sách cạnh
List (1) = 2
List (1) = 2
4
4
List(2) = 1
List(2) = 1
3 7
3 7
List(3) = 2
List(3) = 2
4 6
4 6
List(4) = 1
List(4) = 1
3 5
3 5
List(5) = 4
List(5) = 4
6 10
6 10
List(6) = 3

List(6) = 3
5 7 9
5 7 9
List(7) = 2
List(7) = 2
6 8
6 8
List(8) = 7
List(8) = 7
9 13
9 13
List(9) = 6
List(9) = 6
8 10 12
8 10 12
List(10) = 5
List(10) = 5
9 11
9 11
List(11) = 10
List(11) = 10
12 14
12 14
List(12) = 9
List(12) = 9
11 13
11 13
List(13) = 8
List(13) = 8
12 14

12 14
List(14) = 11
List(14) = 11
13
13
11
3
3
1
1
5
5
9
9
2
2
8
8
6
6
4
4
7
7
11
11
12
12
10
10

13
13
Sơ đồ thành ROMA
Sơ đồ thành ROMA
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1

0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0

0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1

0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0

1
1
1
1
0
0
0
0
0
0
0
0
Hãy định hướng sơ đồ thành Roma thỏa mãn những điều kiện sau:
Hãy định hướng sơ đồ thành Roma thỏa mãn những điều kiện sau:
a.
a.
Các đường đi nối giữa hai điểm bất kỳ trong thành phố được bảo toàn;
Các đường đi nối giữa hai điểm bất kỳ trong thành phố được bảo toàn;
b.
b.
Hai thành phố có đường đi trực tiếp chỉ đi bằng một chiều;
Hai thành phố có đường đi trực tiếp chỉ đi bằng một chiều;
c.
c.
Giữa hai điểm bất kỳ khác nhau của thành phố đều có đường đi một chiều.
Giữa hai điểm bất kỳ khác nhau của thành phố đều có đường đi một chiều.
12
2
2
1

1
4
4
8
8
5
5
7
7
9
9
3
3
6
6
13
13
14
14
11
11
15
15
10
10
17
17
16
16
12

12
Sơ đồ thành ROMA
Sơ đồ thành ROMA
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0

0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0

0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0

0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0

0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0

0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
1
1
0
0
0
0
0
0
0
0
Hãy định hướng sơ đồ thành Roma thỏa mãn những điều kiện sau:
Hãy định hướng sơ đồ thành Roma thỏa mãn những điều kiện sau:
a.
a.
Các đường đi nối giữa hai điểm bất kỳ trong thành phố được bảo toàn;
Các đường đi nối giữa hai điểm bất kỳ trong thành phố được bảo toàn;
b.
b.
Hai thành phố có đường đi trực tiếp chỉ đi bằng một chiều;
Hai thành phố có đường đi trực tiếp chỉ đi bằng một chiều;
c.
c.
Giữa hai điểm bất kỳ khác nhau của thành phố đều có đường đi một chiều.
Giữa hai điểm bất kỳ khác nhau của thành phố đều có đường đi một chiều.

×