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
Giải Chuyên đề Tin 11 Bài 8: Thực hành thiết thuật toán tìm kiếm theo kĩ thuật chia để trị - Kết nối tri thức
Vận dụng 3 trang 39 Chuyên đề Tin học 11: 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).
Lời giải:
Để thiết lập hai hàm firstInd và lastInd bằng kĩ thuật chia để trị, ta có thể áp dụng phương pháp tương tự như khi tìm kiếm số lần xuất hiện của một phần tử trong dãy số bằng kĩ thuật chia để trị. Cụ thể, ta sẽ chia dãy số thành hai nửa và tìm kiếm đệ quy trên từng nửa đó.
Ví dụ:
Kết quả trả về:
- Ta có thể sử dụng hàm firstInd và lastInd đã thiết kế để giải quyết bài toán tìm số lần xuất hiện của một số trong một dãy số.
Giả sử ta cần tìm số lần xuất hiện của số C trong dãy A đã sắp xếp tăng dần. Đầu tiên, ta sử dụng hàm firstInd để tìm chỉ số của phần tử đầu tiên có giá trị bằng C, sau đó sử dụng hàm lastInd để tìm chỉ số của phần tử cuối cùng có giá trị bằng C. Nếu cả hai hàm đều trả về giá trị khác -1, số lần xuất hiện của C trong dãy A sẽ là hiệu của chỉ số của phần tử cuối cùng và phần tử đầu tiên cộng thêm 1.
Vì mỗi lần gọi hàm firstInd và lastInd đều có độ phức tạp O(logn), nên độ phức tạp của giải pháp này sẽ là O(logn).
Lời giải bài tập Chuyên đề Tin 11 Bài 8: Thực hành thiết thuật toán tìm kiếm theo kĩ thuật chia để trị hay, chi tiết khác:
Khởi động trang 37 Chuyên đề Tin học 11: Cho một dãy số A bất kì. Để xác định một số C ....
Vận dụng 1 trang 39 Chuyên đề Tin học 11: Cho một dãy số bất kì (chưa được sắp xếp) và một số K ....
Xem thêm lời giải bài tập Chuyên đề học tập Tin học 11 Kết nối tri thức hay, chi tiết khác:
Chuyên đề Tin học 11 Bài 10: Thực hành giải toán bằng kĩ thuật chia để trị
Chuyên đề Tin học 11 Bài 11: Bài toán tìm kiếm theo kĩ thuật duyệt
Chuyên đề Tin học 11 Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Xem thêm các tài liệu học tốt lớp 11 hay khác:
- Giải Chuyên đề Tin học 11 Kết nối tri thức
- Giải Chuyên đề Tin học 11 Chân trời sáng tạo
- Giải Chuyên đề Tin học 11 Cánh diều
- Giải lớp 11 Kết nối tri thức (các môn học)
- Giải lớp 11 Chân trời sáng tạo (các môn học)
- Giải lớp 11 Cánh diều (các môn học)
Săn SALE shopee Tết:
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Giải Tiếng Anh 11 Global Success
- Giải sgk Tiếng Anh 11 Smart World
- Giải sgk Tiếng Anh 11 Friends Global
- Lớp 11 - Kết nối tri thức
- Soạn văn 11 (hay nhất) - KNTT
- Soạn văn 11 (ngắn nhất) - KNTT
- Giải sgk Toán 11 - KNTT
- Giải sgk Vật Lí 11 - KNTT
- Giải sgk Hóa học 11 - KNTT
- Giải sgk Sinh học 11 - KNTT
- Giải sgk Lịch Sử 11 - KNTT
- Giải sgk Địa Lí 11 - KNTT
- Giải sgk Giáo dục KTPL 11 - KNTT
- Giải sgk Tin học 11 - KNTT
- Giải sgk Công nghệ 11 - KNTT
- Giải sgk Hoạt động trải nghiệm 11 - KNTT
- Giải sgk Giáo dục quốc phòng 11 - KNTT
- Giải sgk Âm nhạc 11 - KNTT
- Lớp 11 - Chân trời sáng tạo
- Soạn văn 11 (hay nhất) - CTST
- Soạn văn 11 (ngắn nhất) - CTST
- Giải sgk Toán 11 - CTST
- Giải sgk Vật Lí 11 - CTST
- Giải sgk Hóa học 11 - CTST
- Giải sgk Sinh học 11 - CTST
- Giải sgk Lịch Sử 11 - CTST
- Giải sgk Địa Lí 11 - CTST
- Giải sgk Giáo dục KTPL 11 - CTST
- Giải sgk Hoạt động trải nghiệm 11 - CTST
- Giải sgk Âm nhạc 11 - CTST
- Lớp 11 - Cánh diều
- Soạn văn 11 Cánh diều (hay nhất)
- Soạn văn 11 Cánh diều (ngắn nhất)
- Giải sgk Toán 11 - Cánh diều
- Giải sgk Vật Lí 11 - Cánh diều
- Giải sgk Hóa học 11 - Cánh diều
- Giải sgk Sinh học 11 - Cánh diều
- Giải sgk Lịch Sử 11 - Cánh diều
- Giải sgk Địa Lí 11 - Cánh diều
- Giải sgk Giáo dục KTPL 11 - Cánh diều
- Giải sgk Tin học 11 - Cánh diều
- Giải sgk Công nghệ 11 - Cánh diều
- Giải sgk Hoạt động trải nghiệm 11 - Cánh diều
- Giải sgk Giáo dục quốc phòng 11 - Cánh diều
- Giải sgk Âm nhạc 11 - Cánh diều