Toptailieu.vn biên soạn và giới thiệu lời giải Chuyên đề Tin học 11 (Cánh diều) Bài 2: Kĩ thuật đệ quy trong chia để trị hay, chi tiết sẽ giúp học sinh dễ dàng trả lời câu hỏi từ đó học tốt môn Chuyên đề Tin học 11.
Chuyên đề Tin học 11 (Cánh diều) Bài 2: Kĩ thuật đệ quy trong chia để trị
Lời giải:
Bước 1. So sánh x với phần tử năm ở vị trí giữa dãy số. gọi là phân tử giữa.
Bước 2. Nếu x bằng với giá trị phân tử giữa. đưa ra vị trí phần tử tìm được.
Bước 3. Nếu x lớn hơn giá trị phân tử giữa. giá trị x chỉ có thể nằm ở nửa bên phải phân tử giữa của dãy số (nửa có giá trị lớn hơn). Quay lại Bước 1, tiếp tục áp dụng thuật toán đối với nửa dãy số bên phải này.
Bước 4. Nếu x nhỏ hơn giá trị phân từ giữa, giá trị x chỉ có thể năm ở nửa bên trái phân tử giữa của dãy số (nứa có giá trị nhỏ hơn). Quay lại Bước 1 tiếp tục áp dụng thuật toán đối với nửa dãy số bên trái này.
Lời giải:
Chức năng hoạt động của Bước 3 và Bước 4 trong thuật toán tìm kiếm nhị phân hoàn toàn giống nhau chỉ khác là thực hiện ở phạm vi nào trong dãy số. Đồng thời chức năng hoạt động của hai bước này cũng hoàn toàn giống với chức năng hoạt động của thuật toán trên toàn dãy số. Lưu ý trong trường hợp phạm vi tìm kiếm là rỗng (nghĩa là t > p trong chương trình ở hình 7). Chương trình cần thông báo không tồn tại phần tử cần tìm.
Lời giải:
Có 2 trường hợp:
1) an = an2 X an2, nếu n chẵn
2) an = a X an−1, nếu n lẻ và n > 1
=> Lưu lại kết quả bài toán con trong mỗi lần gọi đệ quy để tránh gọi quy lặp lại cho các bài toán con đã tính
Lời giải:
include
using namespace std;
int tim(int *a,int left,int right,int x)
{
int m;
if(left>right) return 0;
m=(left+right)/2;
if(a[m]==x) return m;
if(x<a[m]) return tim(a,left,m-1,x);
return tim(a,m+1,right,x);
}
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int x;
cout<<"tim so: ";cin>>x;
if(int z=tim(a,0,9,x)) cout<<"tim thay tai vi tri: "<<z<<"\n";
else cout<<"khong tim thay\n";
}
1) Xét trường hợp n chẵn và n lẻ riêng.
2) n chẵn hay n lẻ đều giải quyết như nhau.
Lời giải:
Xét trường hợp n chẵn và n lẻ riêng.
A.4 B.5
C.6 D.7
Lời giải:
Em hãy cho biết nếu sử dụng phương pháp chia để trị để tính 412 thì cần ít nhật 6 phép tính nhân.
Xem thêm các bài giải Chuyên đề Tin học 11 Cánh diều hay, chi tiết khác:
Chuyên đề Tin học 11 (Cánh diều) Bài 4: Thực hành tổng hợp thiết kế thuật toán đệ quy
Chuyên đề Tin học 11 (Cánh diều) Bài 1: Ý tưởng chia để trị
Chuyên đề Tin học 11 (Cánh diều) Bài 3: Thực hành ứng dụng thuật toán tìm kiếm nhị phân bằng đệ quy
Chuyên đề Tin học 11 (Cánh diều) Bài 4: Kĩ thuật chia để trị trong thuật toán sắp xếp trộn
Chuyên đề Tin học 11 (Cánh diều) Bài 5: Thực hành tổng hợp ứng dụng chia để trị
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
- Người đại diện: Nguyễn Thanh Tuyền
- Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2021 © All Rights Reserved.