Hôm nay mình sẽ tìm hiểu về một thuật toán được áp dụng rất nhiều trong thực tế, đó là thuật toán chia để trị và một số ví dụ áp dụng trong thực tế để giúp hiểu sâu hơn về nó.
Có thể bạn quan tâm:
10 thuật toán machine learning mà lập trình viên cần biết
Thuật toán sắp xếp nào là nhanh nhất?
1. Khái niệm
Chia để trị là 1 phương pháp áp dụng cho các bài toán có thể giải quyết bằng cách chia nhỏ ra thành các bài toán con từ việc giải quyết các bài toán con này. Sau đó lời giải của các bài toán nhỏ được tổng hợp lại thành lời giải cho bài toán ban đầu.
Các bài toán có thể giải quyết bằng phương pháp chia để trị thông qua 3 bước:
Bước 1: Chia/Tách nhỏ
Tại bước này thì bài toán ban đầu sẽ được chia thành các bài toán con cho đến khi không thể chia nhỏ được nữa. Các bài toán con kiểu sẽ trở thành 1 bước nhỏ trong việc giải quyết bài toán lớn.
Bước 2: Trị/Giải quyết bài toán con
Tại bước này ta sẽ phải tìm phương án để giải quyết cho bài toán con một cách cụ thể.
Bước 3: Kết hợp lời giải lại để suy ra lời giải
Khi đã giải quyết xong bài toán nhỏ, lặp lại các bước giải quyết đó và kết hợp lại những lời giải đó để suy ra kết quả cần tìm (có thể ở dạng đệ quy).
Nói lý thuyết không có vẻ sẽ không “thấm” hãy cùng đến với các ví dụ để hiểu rõ hơn về nó xem