Please purchase a
Please purchase a
personal license.
personal license.
C
C
Á
Á
C KH
C KH
Á
Á
I Ni
I Ni
Ệ
Ệ
M V
M V
Ề
Ề
Đ
Đ
Ồ
Ồ
TH
TH
Ị
Ị
C
C
á
á
c kh
c kh
á
á
i ni
i ni
ệ
ệ
m v
m v
ề
ề
đ
đ
ồ
ồ
th
th
ị
ị
Khái niệm:
- Đồ thị là tập các đỉnh và các cạnh. G = (V,E)
- Cạnh là đường kết nối giữa 2 đỉnh
- Có 2 loại đồ thị:
-
Đồ
th
ị vô hướ
ng (undirected graphs) –
Graph
-
Đồ
th
ị
có
hướ
ng (directed graphs) - Digraph
Ví dụ đồ thị vô hướng:
G = ({1,2,3,4,5},{{1,2},
{1,3},{2,3},{2,4},
{3,5},{4,5}})
C
C
á
á
c kh
c kh
á
á
i ni
i ni
ệ
ệ
m v
m v
ề
ề
đ
đ
ồ
ồ
th
th
ị
ị
Ví dụ đồ thị có hướng:
G = ({1,2,3,4,5},{{1,2},
{1,3},{2,1},{3,2},
{4,3},{4,5},{5,2},
{5,4}})
Bài tập:
1. Vẽ Graph: G=({1,2,3,4,5,6},{{1,2},{1,4},{2,5},
{2,6},{3,4},{3,5},{3,6},{4,5},{4,6},{5,6}})
2. Vẽ Digraph: G=({1,2,3,4,5},{{1,2},{1,4},{1,5}.
{2,3},{2,5},{3,2},{3,4},{3,5},{4,1},{4,5},{5,2}})
C
C
á
á
c kh
c kh
á
á
i ni
i ni
ệ
ệ
m v
m v
ề
ề
đ
đ
ồ
ồ
th
th
ị
ị
Thuật ngữ:
- Một đồ thị đầy đủ: (Complete Graph)Là 1 đỉnh sẽ
đi đến tất cả các đỉnh khác.
Đồ thị có N đỉnh Có (N
2
-N)/2 cạnh
- Một đồ thị có hướng đầy đủ (Complete Digraph)
với N đỉnh (N
2
-N) cạnh
- G
s
=(V
s
,E
s
) là đồ thị con (Subgraph)của G=(V,E)
nếu Vs là tập con của V và Es là tập con của E
C
C
á
á
c kh
c kh
á
á
i ni
i ni
ệ
ệ
m v
m v
ề
ề
đ
đ
ồ
ồ
th
th
ị
ị
Thuật ngữ:
- Đường đi giữa 2 đỉnh A, B (Path): bắt đầu từ đỉnh
A, qua một số đỉnh, và kết thúc là đỉnh B
- Đồ thị có trọng số (weighted graph) là mỗi cạnh
của đồ thị có giá trị
-
Đườ
ng
đ
i c
ủ
a
đồ
th
ị
có tr
ọ
ng s
ố
là t
ổ
ng giá tr
ị
c
ủ
a m
ỗ
i
c
ạ
nh
-
Đườ
ng
đ
i ng
ắ
n nh
ấ
t gi
ữ
a 2
đỉ
nh: là
đườ
ng
đ
i có tr
ọ
ng s
ố
nh
ỏ
nh
ấ
t
C
C
á
á
c kh
c kh
á
á
i ni
i ni
ệ
ệ
m v
m v
ề
ề
đ
đ
ồ
ồ
th
th
ị
ị
Thuật ngữ:
- Một đồ thị gọi là liên thông (connected) nếu như
có ít nhất 1 đường đi nối tất cả các đỉnh
- Chu trình (cycle) là đường đi bắt đầu từ 1 đỉnh và
kết thúc tại đỉnh đó.
- Một đồ thị không có chu trình được gọi là cây
(tree)
C
C
á
á
c kh
c kh
á
á
i ni
i ni
ệ
ệ
m v
m v
ề
ề
đ
đ
ồ
ồ
th
th
ị
ị
Bài tập:
1. Biểu diễn đồ thị G?
2. Liệt kê tất cả đường đi
giữa đỉnh 1 và 4
3. Liệt kê tất cả chu trình bắt
đầu tại đỉnh 7
C
C
Ấ
Ấ
U TR
U TR
Ú
Ú
C D
C D
Ữ
Ữ
Li
Li
Ệ
Ệ
U
U
CHO Đ
CHO Đ
Ồ
Ồ
TH
TH
Ị
Ị
C
C
ấ
ấ
u tr
u tr
ú
ú
c d
c d
ữ
ữ
li
li
ệ
ệ
u cho đ
u cho đ
ồ
ồ
th
th
ị
ị
Biểu diễn đồ thị: Có 2 cách
- Ma trận kế cận (adjacency matrix): có khả năng
cập nhật thông tin của cạnh nhanh chóng, tuy
nhiên không đầy đủ
- Tập danh sách kế cận (adjacency list): Biểu diễn
đầy đủ thông tin về cạnh, tuy nhiên cần nhiều thời
gian hơn để cập nhật thông tin
- Đối với đồ thị có nhiều đỉnh, nhưng số cạnh không
nhiều Tập danh sách kề là tối ưu để biểu diễn
đồ thị