Bài giảng chuyên đề Phân tích và thiết kế thuật toán - Chia để trị cung cấp cho người học các kiến thức: Ý tưởng chia để trị, lược đồ giản thuật, một số bài toán điển hình. Mời các bạn cùng tham khảo nội dung chi tiết.
Chia để trị Bài giảng chuyên đề "Phân tích thiết kế thuật toán" Ngày tháng năm 2020 Chia để trị / 20 Nôi dung Ý tưởng chia để trị Lược đồ giải thuật Một số tốn điển hình Chia để trị / 20 Ý tưởng chia để trị Nội dung Ý tưởng chia để trị Lược đồ giải thuật Một số tốn điển hình Chia để trị / 20 Ý tưởng chia để trị Ý tưởng Phương pháp thiết kế dựa hai thao tác chính: Chia (Divide): phân rã toán ban đầu thành tốn có kích thước nhỏ hơn, có cách giải Trị (Conquer ): giải toán (theo cách tương tự toán đầu - đệ qui) tổng hợp lời giải để nhận kết toán ban đầu Việc “phân rã” thực miền liệu (chia miền liệu thành miền nhỏ tương đương với toán con) Chia để trị / 20 Lược đồ giải thuật Mơ hình - Lược đồ giải thuật Mơ hình Xét toán miền liệu R D&C(R) hàm thể cách giải toán miền liệu R theo phương pháp chia để trị Nếu R phân rã thành n miền con: R = R1 ∪ R2 ∪ ∪ Rn Lược đồ giải thuật D&C(R) if (R = R0 ) Giải D&C(R0 ) else { Chia miền R thành R1 , R2 , , Rn for ( i = 1; i x Đổi chỗ aj hai phía chưa vượt qua tiếp tục trình duyệt đổi chỗ i ≤ j Chia để trị / 20 Một số tốn điển hình Bài tốn xếp mảng QuickSort(a, l, r) i = l; j = r; x = a[(l+r)/2]; while (i x) j–-; if (i