- Đồ thị là một cấu trúc rời rạc gồm các đỉnh và cạnh
- Đỉnh (Vertex/Node): Các điểm trong đồ thị
- Cạnh (Edge): Các đường nối giữa các đỉnh
- Biểu diễn toán học: G = (V, E)
- V: tập hợp các đỉnh
- E: tập hợp các cạnh
-
Đồ thị vô hướng (Undirected Graph)
- Các cạnh không có hướng
- (u,v) = (v,u)
- Ví dụ: Mạng xã hội bạn bè
-
Đồ thị có hướng (Directed Graph)
- Các cạnh có hướng
- (u,v) ≠ (v,u)
- Ví dụ: Mạng lưới giao thông một chiều
-
Đồ thị không trọng số
- Các cạnh không có giá trị
- Chỉ quan tâm đến sự tồn tại của cạnh
-
Đồ thị có trọng số
- Các cạnh có giá trị
- Ví dụ: Khoảng cách, chi phí, thời gian
-
Đỉnh kề (Adjacent Vertex)
- Hai đỉnh được nối bởi một cạnh
- Trong đồ thị có hướng: phân biệt đỉnh kề vào và ra
-
Đường đi (Path)
- Dãy các đỉnh nối tiếp nhau bởi các cạnh
- Độ dài đường đi: số cạnh trên đường đi
-
Chu trình (Cycle)
- Đường đi đóng: đỉnh đầu trùng đỉnh cuối
- Chu trình đơn: không đỉnh nào lặp lại (trừ đỉnh đầu/cuối)
-
Đồ thị liên thông (Connected Graph)
- Tồn tại đường đi giữa mọi cặp đỉnh
- Thành phần liên thông: tập con lớn nhất các đỉnh liên thông
- Bậc của đỉnh: số cạnh nối với đỉnh đó
- Định lý bắt tay: tổng bậc các đỉnh = 2 × số cạnh
- Đỉnh cô lập: bậc = 0
- Đỉnh treo: bậc = 1
- Bậc vào (Indegree): số cạnh đi vào đỉnh
- Bậc ra (Outdegree): số cạnh đi ra từ đỉnh
- Bậc của đỉnh = bậc vào + bậc ra
- Tổng bậc vào = Tổng bậc ra = số cạnh
- Mọi cặp đỉnh đều có cạnh nối
- Số cạnh tối đa: n(n-1)/2 với n đỉnh
- Mọi đỉnh có bậc n-1
- Có thể vẽ trên mặt phẳng
- Không có cạnh nào cắt nhau
- Công thức Euler: V - E + F = 2
- V: số đỉnh
- E: số cạnh
- F: số mặt
- Tập đỉnh chia làm 2 phần
- Các cạnh chỉ nối giữa 2 phần
- Ứng dụng: Bài toán ghép cặp
- Đồ thị liên thông không có chu trình
- Số cạnh = số đỉnh - 1
- Tồn tại đường đi duy nhất giữa 2 đỉnh bất kỳ
- Cài đặt cấu trúc đồ thị cơ bản
- Kiểm tra tính liên thông của đồ thị
- Đếm số thành phần liên thông
- Kiểm tra đồ thị hai phía
- Kiểm tra đồ thị cây
- Tìm chu trình trong đồ thị
- Tính bậc của các đỉnh
- Kiểm tra đồ thị phẳng
- Tìm cầu và khớp của đồ thị
- Kiểm tra đồ thị Euler
- Kiểm tra đồ thị Hamilton
- Tìm đường đi ngắn nhất
- Tìm cây khung nhỏ nhất
- Tô màu đồ thị