Bai Tap LTDT

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

BÀI TẬP LÝ THUYẾT ĐỒ THỊ

Chương 1
Bài 1 Tìm số đỉnh của một đồ thị vô hướng G trong các trường hợp sau.
a. Nếu biết G có 12 cạnh và mọi đỉnh đều có bậc 2.
b. Nếu biết G có 15 cạnh, 3 đỉnh bậc 4 và các đỉnh còn lại đều có bậc 3.
c. Nếu biết G có 6 cạnh và mọi đỉnh có bậc bằng nhau.
Bài 2 Tính số cạnh của các đồ thị đặc biệt Kn, Cn, Wn, Qn, Km, n.
Bài 3 Một đồ thị vô hướng có 24 cạnh, 5 đỉnh bậc 2, các đỉnh còn lại đều có bậc lớn
hơn hoặc bằng 3. Hỏi đồ thị này có tối đa bao nhiêu đỉnh.
Bài 4 Biết rằng mọi đỉnh của G đều có bậc bằng số lẻ p. Chứng minh số cạnh của G là
một bội số của p.
Bài 5 Cho một đơn đồ thị G có số đỉnh n3. Chứng minh G có chứa ít nhất 2 đỉnh
cùng bậc.
Bài 6 Cho đồ thị vô hướng có đúng 2 đỉnh bậc lẽ. Chứng minh có một đường đi giữa
2 đỉnh này.
Bài 7 Chứng minh rằng đơn đồ thị n đỉnh là liên thông nếu có nhiều hơn (n-1)(n-2)/2
cạnh.
Bài 8 Giả sử G là đơn đồ thị vô hướng có n đỉnh (n  3). Chứng minh rằng G liên
thông nếu deg(v)  n/2, với mọi v thuộc G.
Bài 9 Giả sử G là đơn đồ thị vô hướng n đỉnh, n3. Cm rằng nếu deg(x)  (n-1)/2 với
mọi đỉnh x của G thì đồ thị liên thông.
Bài 10 Đồ thị Q3 có phẳng không?. Nếu là đồ thị phẳng hãy vẽ biểu diễn phẳng của
nó.
Bài 11 Giả sử đồ thị phẳng liên thông có 6 đỉnh, mỗi đỉnh đều có bậc 4. Biểu diễn
phẳng của đồ thị này chia mặt phẳng thành bao nhiều miền?.
Bài 12 Giả sử đồ thị phẳng liên thông có 30 cạnh. Nếu biểu diễn phẳng của đồ thị này
chia mặt phẳng thành 20 miền, thì đồ thị này có bao nhiêu đỉnh?.

1
Bài 13 Giả sử một đồ thị phẳng có k thành phần liên thông, m cạnh và n đỉnh, biểu
diễn phẳng của nó chia mặt phẳng thành r miền. Hãy tìm công thức biểu diễn r qua m,
n và k.
Bài 14 Chứng minh Km, n với m, n3 không phải là đồ thị phẳng, Kn với n5 không
phải là đồ thị phẳng.

Chương 2
Bài 1 Dùng ma trận kề và danh sách kề để biểu diển các đồ thị sau (sinh viên tự đánh
số các đỉnh một cách tùy ý):

Bài 2 Hãy vẽ đồ thị được biểu diễn bởi ma trận trọng số sau.
1 2 3 
C  3 0 4 
2 4 0 

Bài 3 Tìm ma trận kề cho các đồ thị Kn, Km, n, Cn, Wn.
Bài 4 Cho đồ thị vô hướng, viết thuật toán xác định bậc của mỗi đỉnh.
Bài 5 Cho đồ thị có hướng, viết thuật toán xác định bán bậc ra (vào) của mỗi đỉnh.
Bài 6 Gọi G là đồ thị có n đỉnh và m cạnh, D, d tương ứng là bậc lớn nhất và nhỏ nhất
của các đỉnh của G. Chứng minh rằng: d  2m/n  D.
Bài 7 Chứng minh rằng nếu G là đơn đồ thị hai phía có n đỉnh và m cạnh thì m  n2/4.
Bài 8 Cho G là đồ thị vô hướng liên thông m cạnh, n đỉnh. Chứng minh m  n-1.
Bài 9 Cho G là đơn đồ thị vô hướng m cạnh, n đỉnh và có p thành phần liên thông.
Chứng minh rằng m  n-p.
Bài 11 Viết thuật toán tính bậc của đỉnh có bậc nhỏ nhất trong đồ thị vô hướng.

2
Chương 3
Bài 1 Viết thuật toán tìm kiếm theo chiều rộng BFS bắt đầu từ một đỉnh s của đồ thị
G. Biểu diễn quá trình thực hiện thuật toán BFS trên đồ thị vô hướng sau với đỉnh bắt
đầu tìm kiếm là b. Vẽ cây tìm kiếm kiếm theo chiều rộng đạt được sau khi thực hiện
thuật toán.

Bài 2 Biểu diễn quá trình thực hiện thuật toán BFS trên đồ thị có hướng sau với đỉnh
bắt đầu tìm kiếm là v2. Vẽ cây tìm kiếm kiếm theo chiều rộng đạt được sau khi thực
hiện thuật toán.

Bài 3 Biểu diễn quá trình thực hiện thuật toán DFS trên đồ thị vô hướng trong bài 1.
Vẽ cây (rừng) tìm kiếm kiếm theo chiều sâu đạt được sau khi thực hiện thuật toán.
Bài 4 Viết thuật toán tìm kiếm theo chiều rộng DFS trên đồ thị G. Biểu diễn quá trình
thực hiện thuật toán DFS trên đồ thị có hướng sau với giả sử vòng lặp for tại các dòng
lệnh 5-7 của DFS xét các đỉnh theo thứ tự alphabet và trật tự các tên đỉnh của đồ thị
trong mỗi danh sách kề cũng được sắp xếp theo alphabet. Chỉ ra thời gian phát hiện và
kết thúc tìm kiếm mỗi đỉnh của đồ thị.

Q, R, S, T, U, V, W, X, Y, Z

3
Bài 5 Viết thuật toán kiểm tra xem đồ thị vô hướng G có chu trình đi qua đỉnh s hay không.
Bài 6 Viết thuật toán kiểm tra xem đỉnh s và đỉnh t có thuộc cùng một thành phần liên thông
của đồ thị vô hướng G hay không.

Chương 4
Bài 1 Xác định xem các đồ thị đã cho dưới đây, đồ thị nào là Euler, đồ thị nào là nửa Euler.
Tìm một chu trình hoặc đường đi nếu đồ thị là Euler hoặc nửa Euler.

Bài 2 Xác định xem các đồ thị có hướng đã cho dưới đây, đồ thị nào là Euler, đồ thị nào là
nửa Euler. Tìm một chu trình hoặc đường đi nếu đồ thị là Euler hoặc nửa Euler.

Bài 3 Xác định xem các đồ thị đã cho dưới đây, đồ thị nào có chu trình Hamilton, đồ thị nào
có đường đi Hamilton. Tìm một chu trình hoặc đường đi Hamilton nếu đồ thị có chu trình
hoặc đường đi Hamilton. Ngược lại, hãy chỉ ra lý do tại sao đồ thị không có chu trình hay
đường đi Hamilton.

Bài 4 Sử dụng định lý Dirac hoặc định lý Ore xác định các đồ thị Hamilton trong các đồ thị
sau.

4
Bài 5 Chứng tỏ rằng các đồ thị sau không có chu trình Hamilton.

Bài 6 Xác định xem các đồ thị có hướng đã cho dưới đây, đồ thị nào Hamilton, đồ thị nào là
nửa Hamilton. Tìm một chu trình hoặc đường đi nếu đồ thị là Hamilton hoặc nửa Hamilton.

Bài 7 Với giá trị nào của n thì các đồ thị Kn, Cn, Wn, Qn là đồ thị Euler, nửa Euler.
Bài 8 Với giá trị nào của m và n thì đồ thị hai phía đầy đủ Km,n là đồ thị Euler, nửa Euler.
Bài 9 Với giá trị nào của n thì các đồ thị Kn, Cn, Wn, Qn là đồ thị Hamilton, nửa Hamilton.
Bài 10 Với giá trị nào của m và n thì đồ thị hai phía đầy đủ Km,n là đồ thị Hamilton, nửa
Hamilton.
Bài 11 Viết thuật toán kiểm tra một đồ thị vô hướng có là đồ thị Euler hay không.
Bài 12 Chứng minh rằng mọi đồ thị có chu trình Hamilton đều liên thông.
Bài 13 Chứng minh rằng một đồ thị vô hướng liên thông mọi đỉnh có bậc bằng 2 là đồ thị
Hamilton.
Bài 14 Giả sử G là một đơn đồ thị vô hướng n đỉnh m cạnh với m  3. Chứng minh rằng nếu
m  (n – 1)(n – 2)/2 + 2 thì G là Hamilton.
Bài 15 Chứng minh rằng nếu G là một đơn đồ thị vô hướng n đỉnh với n ≥ 3 sao cho degG(u)
+ degG(v) ≥ n-1 với mọi cặp đỉnh u và v không kề nhau trong G thì G là đồ thị nửa Hamilton.

Chương 5
Bài 1 Cho G = (V, E) là một đồ thị vô hướng có số cạnh bằng số đỉnh. Chứng minh rằng G có
ít nhất một chu trình.
Bài 2 G là một rừng gồm k cây, n đỉnh. Hãy tính số cạnh của G.
Bài 3 Chứng minh rằng nếu G là một đồ thị liên thông có n đỉnh và có chu trình thì G có ít
nhất n cạnh.

5
Bài 4 Tìm một cây bao trùm của đồ thị được cho dưới đây.

Bài 5 Tìm tất cả các cây bao trùm của đồ thị được cho như hình dưới đây.

Bài 6 Có bao nhiêu cây bao trùm khác nhau của mỗi đồ thị trong các đồ thị K3, K4, K2,2 và C5.
Bài 7 Cho G = (V, E) là một đồ thị vô hướng liên thông có trọng số. Giả sử e = (u, v)  E là
cạnh có trọng số bé nhất trong G. Chứng minh rằng có một cây bao trùm bé nhất chứa cạnh e.
Bài 8 Viết thuật toán Kruskal để tìm cây bao trùm bé nhất của đồ thị vô hướng liên thông có
trọng số. Biểu diễn các bước thực hiện thuật toán Kruskal để tìm cây bao trùm bé nhất của các
đồ thị được cho dưới đây.

Bài 9 Viết thuật toán Prim để tìm cây bao trùm bé nhất của đồ thị vô hướng liên thông có
trọng số bắt đầu từ một đỉnh s. Biểu diễn các bước thực hiện thuật toán Prim bắt đầu từ đỉnh e
để tìm cây bao trùm bé nhất của đồ thị được cho như sau.

Bài 10 Biểu diễn quá trình thực hiện thuật toán Kruskal và thuật toán Prim (bắt đầu từ đỉnh c)
để tìm cây bao trùm bé nhất của đồ thị được cho như dưới đây.

6
Chương 6
Bài 1 Chỉ ra hai cây các đường đi ngắn nhất trên đồ thị sau.

Bài 2 Viết thuật toán Dijkstra tìm đường đi ngắn nhất từ một đỉnh s đến các đỉnh còn lại của
đồ thị có trọng số. Biểu diễn quá trình thực hiện thuật toán Dijkstra tìm các đường đi ngắn nhất
từ đỉnh t đến các đỉnh còn lại trên đồ thị sau. Trong mỗi bước tính toán chỉ ra các giá trị d[v],
[v] của các đỉnh v và tập S = {v | d[v] = d(t, v)}. Cho biết đường đi và độ dài của đường đi
ngắn nhất từ t đến s.

Bài 3 Biểu diễn quá trình thực hiện thuật toán Dijkstra tìm các đường đi ngắn nhất từ đỉnh f
đến các đỉnh còn lại trên đồ thị sau. Trong mỗi bước tính toán chỉ ra các giá trị d[v], [v] của
các đỉnh v và tập S = {v | d[v] = d(f, v)}. Cho biết cây đường đi ngắn nhất. Cho biết đường đi
và độ dài của đường đi ngắn nhất từ f đến c.

7
Bài 4 Viết thuật toán Floyd-Warshall tìm đường đi ngắn nhất giữa các cặp đỉnh của đồ thị có
trọng số. Biểu diễn quá trình thực hiện thuật toán Floyd-Warshall trên đồ thị sau, chỉ ra các ma
trận D(k) và (k) sau mỗi lần lặp. Cho biết đường đi ngắn nhất từ đỉnh 6 đến đỉnh 5 và trọng số
của đường đi này.

Bài 5 Biểu diễn quá trình thực hiện thuật toán Floyd-Warshall trên đồ thị có ma trận trọng số
sau, cho biết đường đi ngắn nhất từ đỉnh 4 đến đỉnh 1 và trọng số của đường đi này.
     1
 1  2 
W  
 4   3 
 
  7  
Bài 6 Sử dụng thuật toán Floyd-Warshall, viết một thuật toán để kiểm tra một đồ thị có hướng
có trọng số có liên thông mạnh hay không.
Bài 7 Viết thuật toán cho biết có tồn tại chu trình C đi qua đỉnh v cho trước của đồ thị G hay
không.

Chương 7
Bài 1 Cho luồng mạng như hình dưới đây với lát cắt ({s, v2, v4}, {v1, v3, t}). Hãy tính giá trị
của luồng qua lát cắt và khả năng thông qua của lát cắt này.

Bài 2 Cho luồng f trong mạng G = (V, E), với mọi cặp đỉnh u và v, chứng minh rằng
cf (u, v) + cf (v, u) = c(u, v) + c(v, u).
Bài 3 Biểu diễn quá trình thực thi thuật toán Ford-Fulkerson để tìm luồng cực đại trên mạng
sau với đỉnh phát là s và đỉnh thu là t, luồng khởi tạo f = 0 trên tất cả các cạnh của mạng. Xác
định giá trị luồng cực đại và lát cắt cực tiểu ứng với luồng mạng cực đại.

8
Bài 4 Cho một mạng với đỉnh phát là s, đỉnh thu là t và một hàm f trên các cạnh như trong
hình dưới đây. Chỉ ra rằng hàm f là một luồng trên mạng này. Áp dụng thuật toán Ford-
Fulkerson để tìm luồng mạng cực đại với luồng khởi tạo có giá trị trên các cạnh như là giá trị
của f. Tính khả năng thông qua của lát cắt cực tiểu ứng với luồng cực đại tìm được.

Bài 5 Cho một mạng với đỉnh phát là a và đỉnh thu là z như trong hình dưới đây. Biểu diễn
quá trình thực thi thuật toán Ford-Fulkerson để tìm luồng cực đại trên mạng với luồng khởi
tạo f = 0 trên tất cả các cạnh của mạng. Xác định giá trị luồng cực đại và lát cắt cực tiểu ứng
với luồng mạng cực đại.

Bài 6 Cho một mạng với đỉnh phát là v và đỉnh thu là w như trong hình dưới đây.

a. Tìm một luồng f có giá trị bằng 7 trong mạng.

9
b. Biểu diễn quá trình thực thi thuật toán Ford-Fulkerson để tìm luồng cực đại trên mạng
với luồng khởi tạo có giá trị bằng 7 tìm được trong câu a. Xác định giá trị luồng cực đại
và lát cắt cực tiểu ứng với luồng mạng cực đại.

10

You might also like