Professional Documents
Culture Documents
Chuong 07
Chuong 07
MÔN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP. HỒ CHÍ MINH
1
[T] 08 3725 2002 101 | [F] 08 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
4
ĐỊNH NGHĨA – ĐỒ THỊ CÓ HƯỚNG
5
ĐỊNH NGHĨA – ĐỒ THỊ CÓ HƯỚNG
6
ĐỈNH KỀ
7
ĐỈNH KỀ
8
KHUYÊN, ĐỈNH TREO, ĐỈNH CÔ LẬP
9
CÁC DẠNG ĐỒ THỊ
A B
10
CÁC DẠNG ĐỒ THỊ
11
VÍ DỤ ĐỒ THỊ ĐẦY ĐỦ
K4
K3 K4
K3, 3
K2, 3
12
BẬC CỦA ĐỈNH
13
BẬC CỦA ĐỒ THỊ
14
BẬC CỦA ĐỈNH
• Đỉnh TREO là đỉnh có bậc bằng 1.
• Đỉnh CÔ LẬP là đỉnh có bậc bằng 0.
A B
15
MỐI LIÊN HỆ BẬC – SỐ CẠNH
16
ĐẲNG CẤU ĐỒ THỊ
17
ĐỒ THỊ CON
1 u1 2 1 u1 2
u5
u2 u4 u2 u3
G G1
u3
4 4
3
u6 18
ĐỒ THỊ BỘ PHẬN
1 u1 2 1 u1 2
u5
u2 u4 u2 u4
G G1
u3 u3
4 4
3 3
u6
19
DÂY CHUYỀN, CHU TRÌNH
• Một dây chuyền trong 𝐺 = (𝑋, 𝑈) là một đồ thị con
𝐶 = (𝑉, 𝐸) của 𝐺 với:
– 𝑉 = 𝑥1 , 𝑥2 , … , 𝑥𝑀
– 𝐸 = 𝑢1 , 𝑢2 , … , 𝑢𝑀−1 với 𝑢1 = 𝑥1 𝑥2 , 𝑢2 =
𝑥2 𝑥3 ,…, 𝑢M−1 = 𝑥M−1 𝑥𝑀 ; liên kết 𝑥𝑖 𝑥𝑖+1 không
phân biệt thứ tự
• Khi đó, 𝑥1 và 𝑥𝑀 được nối với nhau bằng dây
chuyền 𝐶. 𝑥1 là đỉnh đầu và 𝑥𝑀 là đỉnh cuối của 𝐶.
• Số cạnh của 𝐶 được gọi là độ dài của 𝐶.
• Khi các cạnh hoàn toàn xác định bởi cặp đỉnh kề,
dây chuyền có thể viết gọn (𝑥1 , 𝑥2 , … , 𝑥𝑀 )
20
DÂY CHUYỀN, CHU TRÌNH
• Dây chuyền SƠ CẤP: dây chuyền không có đỉnh
lặp lại.
21
THÀNH PHẦN LIÊN THÔNG
• Một thành phần liên thông của một đồ thị vô
hướng là một đồ thị con trong đó:
– Giữa bất kì hai đỉnh nào đều có đường đi đến
nhau, và
– Không thể nhận thêm bất kì một đỉnh nào mà vẫn
duy trì tính chất trên.
22
THÀNH PHẦN LIÊN THÔNG
H
G
23
THÀNH PHẦN LIÊN THÔNG
24
THÀNH PHẦN LIÊN THÔNG
25
BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN
26
BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN KỀ
4
2
27
BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN
28
THÀNH PHẦN LIÊN THÔNG
• Ma trận của đồ thị vô hướng:
– Xét đồ thị 𝐺 = (𝑋, 𝑈) vô hướng, giả sử tập 𝑋 gồm 𝑁
đỉnh và được sắp thứ tự 𝑋 = 𝑥1 , 𝑥2 , … , 𝑥𝑁 , tập 𝑈
gồm 𝑀 cạnh và được sắp thứ tự 𝑈 =
𝑢1 , 𝑢2 , … , 𝑢𝑀 .
– Ma trận của 𝐺, ký hiệu 𝐴(𝐺), là ma trận nhị phân
𝑁x𝑀: 𝐴 = (𝐴𝑖𝑗 ) với 𝐴𝑖𝑗 được định nghĩa:
• 𝐴𝑖𝑗 = 𝐴𝑗𝑖 = 1 nếu đỉnh 𝑥𝑖 kề với đỉnh 𝑥𝑗 ,
• 𝐴𝑖𝑗 = 𝐴𝑗𝑖 = 0 nếu ngược lại.
29
BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN KỀ
4
2
30
BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN
TRỌNG SỐ
1
e1 e4
e2
e3 4
2
e6
e5
3
31
CÀI ĐẶT BẰNG NGÔN NGỮ C++
32
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
33
DUYỆT ĐỒ THỊ
{
Gắn nhãn v đã duyệt;
for (u = 1; u <= n; u++)
if (u tồn tại trong danh sách kề V)
if(u có nhãn là 0)
{
Xử lý đỉnh u; //Gắn nhãn 1
DFS (u);
}
}
34
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
35
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
36
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
37
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
38
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
39
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
40
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
41
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
42
DUYỆT THEO CHIỀU CHIỀU SÂU - DFS
43
DUYỆT THEO CHIỀU RỘNG - BFS
Thuật toán duyệt theo chiều rộng (BFS)
• Sử dụng một cấu trúc dữ liệu hàng đợi để lưu trữ thông
tin trung gian thu được trong quá trình tìm kiếm:
• Chèn đỉnh gốc vào hàng đợi (đang hướng tới)
• Lấy ra đỉnh đầu tiên trong hàng đợi và quan sát nó
– Nếu đỉnh này chính là đỉnh đích, dừng quá trình tìm kiếm và
trả về kết quả.
– Nếu không phải thì chèn tất cả các đỉnh kề với đỉnh vừa thăm
nhưng chưa được quan sát trước đó vào hàng đợi.
• Nếu hàng đợi là rỗng, thì tất cả các đỉnh có thể đến được
đều đã được quan sát – dừng việc tìm kiếm và trả về
"không thấy".
• Nếu hàng đợi không rỗng thì quay về bước 2.
44
DUYỆT THEO CHIỀU RỘNG - BFS
45
DUYỆT THEO CHIỀU RỘNG - BFS
46
DUYỆT THEO CHIỀU RỘNG - BFS
47
DUYỆT THEO CHIỀU RỘNG - BFS
48
DUYỆT THEO CHIỀU RỘNG - BFS
49
DUYỆT THEO CHIỀU RỘNG - BFS
50
DUYỆT THEO CHIỀU RỘNG - BFS
51
DUYỆT THEO CHIỀU RỘNG - BFS
52
DUYỆT THEO CHIỀU RỘNG - BFS
53
DUYỆT THEO CHIỀU RỘNG - BFS
54
BÀI TẬP
1. Tìm hiểu và cài đặt hàm biểu diễn đồ thị bằng danh
sách liên kết.
2. Viết hàm xác định số thành phần liên thông của đồ thị
và cho biết đồ thị có liên thông
55