Академический Документы
Профессиональный Документы
Культура Документы
802
4
17
337
1233
LAX
DFW
Chương V: Cấu trúc Đồ thị
Chương V: Đồ thị
z Nội dung
– Các khái niệm cơ bản
– Biểu diễn đồ thị
z Ma trận lân cận
z Danh sách lân cận
– Duyệt đồ thị
– Bài toán áp dụng
z Bài toán bao đóng truyền ứng
z Bài toán sắp xếp tô pô
Đồ thị
a b V= {a,b,c,d,e}
E=
c
{(a,b),(a,c),(a,d),
(b,e),(c,d),(c,e),
d e (d,e)}
z Mạch điện
CS16
JFK
LAX
LAX STL
HNL
DFW
FTL
1 2 1 2
3 4 3 4
Trong một cung, thứ tự của Trong một cung, thứ tự của
các đỉnh là quan trọng các đỉnh là không quan trọng
Cung (u,v) khác với cung (v,u) Cung (u,v) cũng giống như cung (v,u)
– Ví dụ:
z Đỉnh 1 có bậc 3
1 2
3 4
z Đường đi đơn
– Đường đi với các đỉnh không lặp lại 3 4
z Chu trình
– Đường đi đơn với đỉnh đầu và cuối
trùng nhau Path : 1, 2, 4, 3, 1, 4
z Độ dài đường đi
– Số cung trên đường đi
3 4 3 4
5
Đồ thị liên thông 1 2
1 2
3 3 4
5 60
1 2
140
100 100
3 4
110
z Ví dụ
1 2 ⎡0 1 0 1⎤
⎢0 0 0 1⎥⎥
⎢
⎢1 1 0 0⎥
3 4 ⎢ ⎥
⎣0 1 1 0⎦
⎡0 1 1 0 1⎤
⎢1 0 1 0 0⎥⎥
1 2 ⎢
5
⎢1 1 0 1 0⎥
⎢ ⎥
3 4
⎢0 0 1 0 1⎥
⎢⎣1 0 0 1 0⎥⎦
– VERTEX chứa giá trị tương ứng với số thứ tự của đỉnh lân cận
– LINK chứa con trỏ trỏ tới nút tiếp theo trong danh sách
z Mỗi danh sách như vậy có một nút đầu danh sách
z Các nút đầu này là các phần tử của một vector V có kích
thước n. Phần tử V[i] ứng với danh sách lân cận của nút thứ i
z Ví dụ
1 2 V[1] 2 4
V[2] 4
V[3] 1 2
3 4
V[4] 2 3
z 1: (2,4)
2: (4)
3: (1, 2)
4: (2, 3)
V[1] 2 3 5
1 2 1
V[2] 3
5 V[3] 1 2 4
3 4 V[4] 3 5
V[5] 1 4
z 1: (2,3,5)
2: (1,3)
3: (1,2,4)
4: (3,5)
5: (1,4)
edges O(m)
Algorithm DFS(G, v)
Input đồ thị G và đỉnh bắt đầu duyệt v trong G
Output đánh dấu các cung trong G trong phần đồ thị liên thông với đỉnh v
thành hai loại cung khám phá (discovery edges) và cung quay lui (back
edges)
A A
B D E B D E
C C
Bắt đầu xuất phát từ A
B D E B D E
B D E B D E
C C
L0 L0
A A
L1 L1
B C D B C D
E F E F
L1 L1
B C D B C D
L2
E F E F
L0 L0
A A
L1 L1
B C D B C D
L2 L2
E F E F
L1 L1
B C D B C D
L2 L2
E F E F
L0
A
L1
B C D
L2
E F