Bellman-Ford & Floyd-Warshall
Bellman-Ford xử lý cạnh âm và phát hiện chu trình âm O(VE); Floyd-Warshall tìm đường ngắn nhất mọi cặp O(V^3) bằng quy hoạch động.
Bellman-Ford xử lý cạnh âm và phát hiện chu trình âm O(VE); Floyd-Warshall tìm đường ngắn nhất mọi cặp O(V^3) bằng quy hoạch động.
Hai cách lưu đồ thị trong code — ma trận kề và danh sách kề — cùng đánh đổi bộ nhớ và tốc độ.
Cây khung nhỏ nhất (MST) bằng Prim (heap mở rộng dần) và Kruskal (sắp cạnh + Union-Find).
Dijkstra tìm đường đi ngắn nhất từ một nguồn trên đồ thị trọng số không âm, dùng heap, đạt O(E log V).
BFS duyệt đồ thị theo từng lớp bằng queue, tìm đường ngắn nhất theo số cạnh trên đồ thị không trọng số.
DFS lao sâu theo một nhánh rồi quay lui, dùng đệ quy hoặc stack; ứng dụng thành phần liên thông và phát hiện chu trình.
Đồ thị là đỉnh nối bằng cạnh; phân loại có hướng/vô hướng, có trọng số, có chu trình, và ví dụ thực tế.
Sắp xếp tô-pô trên DAG bằng thuật toán Kahn (in-degree + queue) và bằng DFS; ứng dụng lịch học và biên dịch.
Union-Find quản lý các nhóm rời nhau với find và union; nén đường và hợp theo hạng cho gần O(1) khấu hao.