Skip to content

Backtracking Algorithm

Published: at 06:42 PMSuggest Changes

Table of contents

Open Table of contents

1. Ý tưởng

Backtracking là chiến lược giải bài toán bằng cách xây dựng lời giải dần dần, và loại bỏ sớm những con đường không dẫn tới kết quả.

2. Thành phần

Ta thường có hai loại ràng buộc:

  1. Ràng buộc cục bộ — kiểm tra tại từng bước, xem lựa chọn hiện tại có hợp lệ không.
  2. Ràng buộc toàn cục — kiểm tra khi lời giải đã đầy đủ, xem nó có là một lời giải hoàn chỉnh không.

Mã giả: image

3. Các bài toán kinh điển

2.1. N-queens

Đầu tiên chúng ta phải xác định được ràng buộc cục bộ và ràng buộc toàn cục.

Khi đó, thuật toán sẽ chạy như sau:

∞. Câu hỏi


Previous Post
The Inner Game of Tennis Reflection
Next Post
Greedy Algorithm