Kĩ thuật chia để trị

Chia để trị hay Divide and Conquer là một kĩ thuật thiết kế thuật toán và chương trình rất
quan trọng. Ý tưởng chính của kĩ thuật này nằm ở hai thao tác "chia" và "trị".

Ý tưởng của kĩ thuật chia để trị
Từ bài toán gốc ban đầu (kí hiệu P), chúng ta chia thành các bài toán nhỏ hơn về kích thước
(nhưng vẫn giữ nguyên yêu cầu). Với mỗi bài toán nhỏ hơn, có thể gọi đệ quy hoặc giải trực
tiếp, sau đó kết hợp lại để giải bài toán gốc (P) ban đầu.