Mô tả về các thuật toán tìm kiếm DFS, BFS, UCS
DFS (Depth-First Search - Tìm kiếm theo chiều sâu): DFS là một thuật toán tìm kiếm đồ thị dựa trên việc duyệt theo chiều sâu của đồ thị. Thuật toán này sử dụng cấu trúc dữ liệu ngăn xếp (stack) để theo dõi các điểm dừng của cây tìm kiếm. DFS bắt đầu từ nút nguồn và đi sâu vào cây theo nhánh cho đến khi gặp bước ngăn không thể đi tiếp hơn hoặc tìm ra nút đích. Khi đó, thuật toán quay lui và tiếp tục tìm kiếm ở nhánh khác cho đến khi tìm được đường đi từ nút nguồn đến nút đích.
BFS (Breadth-First Search - Tìm kiếm theo chiều rộng): BFS là một thuật toán tìm kiếm đồ thị dựa trên việc duyệt theo chiều rộng của đồ thị. Thuật toán sử dụng cấu trúc dữ liệu hàng đợi (queue) để theo dõi các điểm dừng của cây tìm kiếm. BFS bắt đầu từ nút nguồn và kiểm tra các nút kề của nó trước khi chuyển sang kiểm tra những nút kề với nút kề đó. BFS tiếp tục mở rộng tìm kiếm theo chiều rộng của đồ thị cho đến khi tìm thấy nút đích.
UCS (Uniform-Cost Search - Tìm kiếm đồng giá): UCS là thuật toán tìm kiếm đồ thị dựa trên việc tính đến chi phí (cost) từ nút nguồn đến các nút khác. Thuật toán sử dụng cấu trúc dữ liệu hàng đợi ưu tiên để lựa chọn nút kế tiếp dựa trên chi phí từ nút nguồn đến nút hiện tại. UCS mở rộng tìm kiếm trên đồ thị dựa trên chi phí nhỏ nhất hiện tại cho đến khi tìm thấy nút đích. Thuật toán này đảm bảo tìm được đường đi tối ưu (chi phí nhỏ nhất) từ nút nguồn đến nút đích.