You are on page 1of 15

CHUYÊN ĐỀ ĐỒ THỊ

BÀI 14. CÁC KHÁI NIỆM CƠ BẢN


I. Các khái niệm cơ bản
1. Đồ thị
K/N: Đồ thị là mô hình biểu diễn một tập các đối tượng và mối quan hệ giữa
chúng: G = (V, E), V (Vertices) là tập các đỉnh biểu diễn các đối tượng, E
(edges) là tập các cạnh biểu diễn mối quan hệ giữa các đối tượng. E là tập
các cặp (u, v) biểu diễn mối quan hệ giữa u với v, với u, v là hai đỉnh của V.
VD: 1 2
- Mạng lưới giao thông đường bộ. 1 2
3
- Mạng máy tính. 4
5
- Mối quan hệ của con người. 4 5
………… 3 6
7
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
VD: Mạng lưới giao thông
TN BG

BN
HP
HD
VP HN HY
PT

H TB
Nam


HB
NB
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
I. Các khái niệm cơ bản
1. Đồ thị
- Các khái niệm đồ thị:
+ G được gọi là đơn đồ thị nếu giữa hai đỉnh u, v  V có nhiều nhất một cạnh.
+ G được gọi là đa đồ thị nếu giữa hai đỉnh u, v  V có thể có nhiều hơn một cạnh.
+ G được gọi là đồ thị vô hướng nếu các cạnh trong E là không định hướng, tức là (u, v) = (v, u).
+ G được gọi là đồ thị có hướng nếu các cạnh trong E có định hướng, tức là (u, v) ≠ (v, u).
+ G được gọi là đồ thị có trọng số nếu các cạnh trong E có gắn thêm các giá trị số nào đó.

1 2 1 2

5 5
4 4
3 3
Đồ thị vô hướng Đồ thị có hướng
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
I. Các khái niệm cơ bản
2. Các khái niệm liên quan đến đồ thị
a. Cạnh liên thuộc, đỉnh kề, bậc
Cho đồ thị G = (V, E)
- Xét một cạnh e  E, nếu e = (u, v) thì u và v là kề nhau, cạnh e là cạnh liên thuộc với đỉnh
u và đỉnh v.
- Bậc (degree) của đỉnh v trong đồ thị vô hướng, ký hiệu deg(v) là số cạnh liên thuộc với v.
- Bậc (degree) của đỉnh v trong đồ thị có hướng, ký hiệu deg+(v) là số cung đi ra từ đỉnh v
và deg-(v) là số cung đi vào đỉnh v.
1 2 1 2

5 5
4 4
3 3
Đồ thị vô hướng Đồ thị có hướng
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
I. Các khái niệm cơ bản
2. Các khái niệm liên quan đến đồ thị
b. Đường đi và chu trình
- K/N đường đi
+ Một dãy các đỉnh P = (p0, p1, …, pk), sao cho (pi-1, pi)  E, 1 ≤ i ≤ k được gọi là một đường
đi từ p0 đến pk.
+ Một đường đi đơn nếu tất cả các đỉnh trên đường đi là hoàn toàn phân biệt.
- K/N chu trình
+ Chu trình là một đường đi P = (p0, p1, …, pk), mà đỉnh đầu trùng với đỉnh cuối p0 = pk.
+ Chu trình đơn là một chu trình nếu p0, p1, …, pk-1 hoàn toàn phân biệt.
1 2 1 2

5 5
4 4
3 3
Đồ thị vô hướng Đồ thị có hướng
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
I. Các khái niệm cơ bản
2. Các khái niệm liên quan đến đồ thị
c. Một số khái niệm khác
- Tính liên thông:
+ Một đồ thị vô hướng gọi là liên thông nếu giữa hai đỉnh bất kì của đồ thị đều tồn tại
đường đi.
+ Một đồ thị có hướng được gọi là liên thông mạnh, nếu giữa hai đỉnh bất kì của đồ thị đều
tồn tại đường đi.
+ Một đồ thị có hướng được gọi là liên thông yếu, nếu phiên bản vô hướng của nó là đồ thị
liên thông.
1 2 1 2 1 2

5 5 5
4 4 4
3 3 3
Đồ thị vô hướng liên thông Đồ thị liên thông mạnh Đồ thị liên thông yếu
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
I. Các khái niệm cơ bản
2. Các khái niệm liên quan đến đồ thị
c. Một số khái niệm khác
- Đồ thị đầy đủ là đồ thị có mọi cặp đỉnh đều kề nhau.
- Đồ thị hai phía là đồ thị vô hướng có thể chia làm hai tập đỉnh khác rỗng, rời nhau X, Y
sao cho không tồn tại cạnh nối hai đỉnh thuộc X, cũng như không tồn tại cạnh nối hai đỉnh
thuộc Y.
1 a
1 2
2
b
5
4 3
3 c
4
Đồ thị đầy đủ
Đồ thị hai phía
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
I. Các khái niệm cơ bản
2. Các khái niệm liên quan đến đồ thị
c. Một số khái niệm khác
- Đồ thị phẳng: Một đồ thị gọi là đồ thị phẳng nếu chúng ta có thể vẽ đồ thị trên mặt phẳng
sao cho:
+ Mỗi đỉnh tương ứng với một điểm trên mặt phẳng, không có hai đỉnh cùng tọa độ;
+ Mỗi cạnh tương ứng với một đoạn đường liên tục nối hai đỉnh, các điểm nằm trên hai
cạnh bất kì không giao nhau ngoại trừ các điểm đầu mút.
1 2 1 2
5
5
4
3 4
3
Đồ thị phẳng

Đồ thị không phẳng


CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
1. Ma trận kề
Với G = (E, V) là một đơn đồ thị vô hướng có n đỉnh, ta có thể đánh số các đỉnh từ 1 tới n.
1, 𝑛ế𝑢 𝑖, 𝑗 ∈ 𝐸
G có thể được biểu diễn bằng ma trận vuông A = {aij}nxn. Trong đó 𝑎𝑖𝑗 = ቊ
0, 𝑛ế𝑢 𝑖, 𝑗 ∉ 𝐸
VD1: Đồ thị vô hướng
1 2 0 1 1 1 0
Ma trận kề a 1 0 1 0 1
5
1 1 0 1 1
4
3 fi>>n>>m; 1 0 1 0 0
for (i = 1; i <= m; ++i) 0 1 1 0 0
{ fi >> x >> y;
int a[101][101];
a[x][y]=1; a[y][x]=1;
}
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
1. Ma trận kề
Với G = (E, V) là một đơn đồ thị vô hướng có n đỉnh, ta có thể đánh số các đỉnh từ 1 tới n.
1, 𝑛ế𝑢 𝑖, 𝑗 ∈ 𝐸
G có thể được biểu diễn bằng ma trận vuông A = {aij}nxn. Trong đó 𝑎𝑖𝑗 = ቊ
0, 𝑛ế𝑢 𝑖, 𝑗 ∉ 𝐸
VD2: Đồ thị có hướng
1 2 0 1 0 1 0
Ma trận kề a 0 0 0 0 1
5
1 1 0 0 0
4
3 0 0 1 0 0
0 0 1 0 0
int a[101][101];
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
1. Ma trận kề
Với G = (E, V) là một đơn đồ thị vô hướng có n đỉnh, ta có thể đánh số các đỉnh từ 1 tới n.
1, 𝑛ế𝑢 𝑖, 𝑗 ∈ 𝐸
G có thể được biểu diễn bằng ma trận vuông A = {aij}nxn. Trong đó 𝑎𝑖𝑗 = ቊ
0, 𝑛ế𝑢 𝑖, 𝑗 ∉ 𝐸
VD:
- Ưu điểm:
+ Đơn giản, trực quan, dễ cài đặt trên máy tính;
+ Kiểm tra hai đỉnh (u, v) có kề nhau hay không, rất đơn giản.
- Nhược điểm:
+ Lãng phí bộ nhớ;
+ Liệt kê tất cả các đỉnh kề với đỉnh u cho trước, kiểm tra mất nhiều thời gian.
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
2. Danh sách cạnh
Với đồ thị G = (E, V) có n đỉnh, m cạnh, ta có thể liêt kê tất cả các cạnh của đồ thị trong một
danh sách, mỗi phần tử của danh sách là một cặp (x, y).
VD: Đồ thị vô hướng

1 2
Danh sách cạnh
5 (1,2) (1,3) (1,4) (2,3) (2,5) (3,4) (3,5)
4
3 fi>>n>>m;
for (i = 1; i <= m; ++i)
{ fi >> x >> y;
int a[3][101];
a[1][i]=x;
a[2][i]=y;
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
2. Danh sách cạnh
Với đồ thị G = (E, V) có n đỉnh, m cạnh, ta có thể liêt kê tất cả các cạnh của đồ thị trong một
danh sách, mỗi phần tử của danh sách là một cặp (x, y).
VD:
- Ưu điểm:
+ Tiết kiệm bộ nhớ với đồ thị thưa;
+ Trường hợp phải duyệt tất cả các cạnh thì thuận lợi.
- Nhược điểm:
+ Tìm tất cả các đỉnh kề với đỉnh u nào đó phải duyệt tất cả các cạnh;
+ Kiểm tra hai đỉnh u, v có kề nhau hay không, cũng phải duyệt danh sách cạnh tốn thời
gian.
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
3. Danh sách kề
Với đồ thị G = (E, V) có n đỉnh, với mỗi đỉnh u của đồ thị, ta cho tương ứng với nó một
danh sách các đỉnh kề với u.
VD: Đồ thị vô hướng

1 2 1 3 2 3 4
Danh sách kề 2 3 1 3 5
5
3 4 1 2 4 5
4
3 4 2 1 3
fi>>n>>m;
for (i = 1; i <= m; ++i) 5 2 2 3
{ fi >> x >> y;
vector <int> a[1001]; a[x].push_back(y);
a[y].push_back(x);
}
CHUYÊN ĐỀ ĐỒ THỊ
BÀI 14. CÁC KHÁI NIỆM CƠ BẢN
II. Biểu diễn đồ thị trên máy tính
3. Danh sách kề
Với đồ thị G = (E, V) có n đỉnh, với mỗi đỉnh u của đồ thị, ta cho tương ứng với nó một
danh sách các đỉnh kề với u.
VD:
- Ưu điểm:
+ Duyệt tất cả các đỉnh kề với một đỉnh u cho trước rất dễ dàng;
+ Duyệt tất cả các cạnh cũng đơn giản.
- Nhược điểm:
+ Kiểm tra (u, v) có phải là một cạnh hay không khó hơn khi dùng ma trận kề;
+ Khó cài đặt các thuật toán hơn khi dùng ma trận kề.

You might also like