Bài giảng cung cấp cho người học các kiến thức: Phương pháp thiết kế thuật toán − chia để trị, sơ đồ cài đặt, thuật toán Quick sort, tìm kiếm nhị phân,. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. chi tiết nội dung bài giảng. | CƠ SỞ LẬP TRÌNH NÂNG CAO Biên soạn: Quang Toại TonQuangToai@ TPHCM, NĂM 2013 TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC KHOA CÔNG NGHỆ THÔNG TIN 1 45T/4 = 11 buoi PHƯƠNG PHÁP THIẾT KẾ THUẬT TOÁN − CHIA ĐỂ TRỊ − Chương 6 2 Nội dung Giới thiệu Phương pháp Sơ đồ cài đặt Các ví dụ 3 Hình ảnh 4 Giới thiệu Chia để trị là phương pháp thiết kế thuật toán từ trên xuống dưới (top – down) với ý tưởng: Chia bài toán lớn thành những bài toán nhỏ hơn có dạng giống bài toán ban đầu Các bài toán nhỏ hơn được chia thành những bài toán nhỏ hơn nữa với hy vọng rằng các bài toán nhỏ dễ giải hơn 5 Phương pháp Phương pháp Chia để trị gồm 3 bước: Bước 1 [Divide] – Chia bài toán thành các phần. Bước 2 [Solve] – Giải quyết các phần Bước 3 [Combine] – Kết hợp các lời giải của các phần thành lời giải của bài toán 6 Phương pháp Nhận xét quan trọng: Các bài toán con (các phần) nhận được trong quá trình phân chia sẽ cùng dạng với bài toán ban đầu, chỉ khác nhau về kích thước Có thể có một số bài toán con không cùng dạng với bài toán lớn Các bài toán con Không được giao nhau 7 Sơ đồ cài đặt Cài đặt bằng phương pháp Đệ qui void DivideConquer(A, x) { if (A du nho) Solve(A) else { - Phan chia A thanh A0, A1, , An-1 - for (i=0; i