Giải chuyên đề Tin học định hướng khoa học máy tính 11 KNTT bài 8 Thực hành thiết kế thuật toán theo kỹ thuật chia để trị

Hướng dẫn giải chuyên đề bài 8 Thực hành thiết kế thuật toán theo kỹ thuật chia để trị trang 37, chuyên đề học tập Tin học định hướng khoa học máy tính 11 sách KNTT. Bộ sách được biên soạn theo định hướng đổi mới giáo dục phổ thông nhằm phát triển toàn diện phẩm chất, năng lực của học sinh. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết dưới đây các em sẽ nắm bài học tốt hơn.

B. Bài tập và hướng dẫn giải

Khởi động

Câu hỏi. 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?

Luyện tập 

Câu hỏi. 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.

Vận dụng

Câu hỏi 1. 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ị.

Câu hỏi 2. 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.

Câu hỏi 3. 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).

Thêm kiến thức môn học

Từ khóa tìm kiếm: Giải chuyên đề tin học 11 KNTT bài 8 Thực hành thiết kế thuật toán theo kỹ thuật chia để trịị, Giải chuyên đề tin học 11 kết nối tri thức bài 8 Thực hành thiết kế thuật toán theo kỹ thuật chia để trị, Giải chuyên đề tin học KNTT bài 8 Thực hành thiết kế thuật toán theo kỹ thuật chia để trị

Bình luận

Giải bài tập những môn khác