Professional Documents
Culture Documents
Bài Tập Chương 2-TT Chia Để Tr
Bài Tập Chương 2-TT Chia Để Tr
1. Xây dựng thuật toán cơ bản (tìm kiếm tuần tự) để giải bài toán trên và đánh
giá độ phức tạp.
2. Áp dụng thuật toán chia để trị cho bài toán trên và đánh giá độ phức tạp.
3. Xây dựng thuật toán cơ bản (tìm kiếm tuần tự) để giải bài toán trên và đánh
giá độ phức tạp.
4. Áp dụng thuật toán chia để trị cho bài toán trên và đánh giá độ phức tạp.
1. Xây dựng thuật toán cơ bản để giải bài toán trên và đánh giá độ phức tạp.
2. Áp dụng thuật toán chia để trị cho bài toán trên và đánh giá độ phức tạp.
∑
cij = aik bkj
k=1
1. Xây dựng thuật toán cơ bản để giải bài toán trên và đánh giá độ phức tạp.
2. Áp dụng thuật toán chia để trị cho bài toán trên và đánh giá độ phức tạp.
1. Xây dựng thuật toán cơ bản để giải bài toán trên và đánh giá độ phức tạp.
2. Áp dụng thuật toán chia để trị cho bài toán trên và đánh giá độ phức tạp.
Bài tập 6
Cho mảng A = [a0, a1, …, an−1] là một dãy các số tự nhiên đôi một khác nhau được
sắp xếp theo thứ tự tăng dần. Hãy thiết kế thuật toán tìm số tự nhiên nhỏ nhất còn thiếu
trong mảng A và tính độ phức tạp của nó.
- Ví dụ 1:
- Ví dụ 2 :
- Ví dụ 3:
Input: A =[0, 1, 2, 3, 4, 5, 6]
Gợi ý: Số tự nhiên nhỏ nhất bị thiếu trong A là số i nhỏ nhất với A[i] > i, với i = 0, 1, …,
n-1. Nếu A[i] = i, với mọi i = 0, 1, …, n-1 thì ouput là n.
Cách 2: Tìm kiếm nhị phân (phương pháp chia để trị): so sánh giá trị ở giữa A[mid] với mid
(trong đó mid là vị trí ở giữa).
Bài tập 7:
Cho mảng A = [a0, a1, …, an−1] là một dãy các số nguyên. Hãy áp dụng phương
pháp chia để trị để thiết kế thuật toán tìm tổng lớn nhất của dãy con ap, ap+1, …, aq trong số
Output: tổng lớn nhất của dãy con là 11 (tương ứng với dãy con 1, 9, -6, 7)
Gợi ý: Ý tưởng của phương pháp chia để trị để giải bài toán như sau
- Tính toán đệ quy tìm tổng dãy con lớn nhất cho nửa mảng trái.
- Tính toán đệ quy tìm tổng dãy con lớn nhất cho nửa mảng phải.
- Tìm tổng dãy con lớn nhất trong các dãy con chứa phần tử ở giữa (bằng tổng lớn nhất của
dãy con ở bên trái chứa phần tử ở giữa cộng với tổng lớn nhất của dãy con ở bên phải
không chứa phần tử ở giữa).
- Kết quả bài toán là lấy max của tổng 3 dãy con ở trên.