2048.vn

Chuyên đề Tin Học 11 KNTT Bài 8. Thực hành thiết thuật toán tìm kiếm theo kĩ thuật chia để trị có đáp án
Đề thi

Chuyên đề Tin Học 11 KNTT Bài 8. Thực hành thiết thuật toán tìm kiếm theo kĩ thuật chia để trị có đáp án

A
Admin
Tin họcLớp 114 lượt thi
5 câu hỏi
1. Tự luận
1 điểm

Cho một dãy số A bất kì. Để xác định một số C cho trước xuất hiện trong dãy A bao nhiều lần thì làm thế nào?

Cho một dãy số A bất kì. Để xác định một số C cho trước xuất hiện trong dãy A bao nhiều lần thì làm thế nào? (ảnh 1)

Xem đáp án
2. Tự luận
1 điểm

Chỉnh sửa nâng cấp chương trình của nhiệm vụ thực hành để đưa ra kết quả là vùng các phần tử có giá trị bằng C của dãy gốc, tức là yêu cầu đưa ra chỉ số đầu, chỉ số cuối và số lượng phần tử của vùng có giá trị bằng C.

Ví dụ nếu A = [0, 1, 2, 2, 2, 2, 4, 5, 5, 6], C = 2, thì kết quả trả lại là 2, 5, 4.

Xem đáp án
3. Tự luận
1 điểm

Cho một dãy số bất kì (chưa được sắp xếp) và một số K, hãy tìm số lần xuất hiện của K trong dãy số trên. Yêu cầu sử dụng phương pháp chia để trị.

Xem đáp án
4. Tự luận
1 điểm

Cho một dãy số nguyên được sắp xếp theo thứ tự tăng dần, hãy tìm một vị trí thứ i trong dãy sao cho phần tử thứ i có giá trị bằng i.

Xem đáp án
5. Tự luận
1 điểm

Cho trước dãy số A đã sắp xếp theo thứ tự tăng dần, cho trước hằng số C. Cần thiết lập hai hàm sau bằng kĩ thuật chia để trị:

– Hàm firstInd(A, left, right, C) sẽ tìm chỉ số của phần tử đầu tiên của dãy A có giá

trị bằng C. Nếu không sẽ trả về -1.

– Hàm lastInd(A, left, right, C) sẽ tìm chỉ số của phần tử cuối cùng của dãy A có giá trị bằng C. Nếu không thấy sẽ trả về – 1.

Từ hai hàm đã thiết kế trên, đưa ra một cách giải khác cho bài toán trong nhiệm vụ 1. Lời giải này có độ phức tạp O(logn).

Xem đáp án

Ngân hàng đề thi

© All rights reservedVietJack