Backtracking là một kỹ thuật giải quyết vấn đề trong lập trình, đặc biệt là trong việc giải các vấn đề tìm kiếm và xác định các giải pháp có thể.
Đặc điểm chính:
Đệ quy: Thường được triển khai thông qua đệ quy, dựa vào việc thử nghiệm từng giải pháp có thể trong một không gian giải pháp.
Backtracking: Kỹ thuật này thử từng bước một và sau mỗi bước, kiểm tra xem nó có phải là giải pháp đúng hay không. Nếu không, quay lại bước trước và thử một giải pháp khác.
Phù hợp với tìm kiếm: Thường được sử dụng trong các bài toán tìm kiếm, xếp hạng hoặc đặt ra các điều kiện ràng buộc.