http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat /index.jsp Copyright © vietjack.com Thuật toán quay lui (Backtracking algorithm) Thuật tốn quay lui (Back-tracking algorithm) ? Thuật tốn quay lui dùng để giải toán liệt kê cấu hình Mỗi cấu hình xây dựng cách xây dựng phần tử, phần tử chon cách thử tất khả Bài toán minh hoạ Ví dụ điển hình thuật tốn xếp hậu: đặt quân hậu lên bàn cờ cho quân hậu đặt sau không ăn quan đặt trước Dead end: trạng thái chưa kết thúc, ta đặt thêm quân hậu Khi rơi vào trạng thái dead end ta phải tiến hành quay lui (backtrack) lại lựa chọn gần để thử khả khác Thuật tốn Thử tìm kiếm lời giải đày đủ cho toán từ việc xây dựng lời giải phận, lời giải phận phải ln phù hợp với u cầu tốn Trong q trình thực hiện, thuật toán mở rộng dần lời giải phận Nếu việc mở rộng khiến lời giải phận vi phạm u cầu tốn tiến hành quay lui, loại bỏ sửa đổi gần thử khả xây dựng lời giải phận khác Giải thuật toán hậu Thử vị trí hàng Nếu vị trí thử khơng bị hậu cơng hậu thứ an tồn Đệ quy với hậu Xố để tiếp tục thử vị trí [row+1,column] Kiểm tra an toàn http://vietjack.com/ Trang chia sẻ các bài học online miễn phí