Câu hỏi:
11/05/2023 309Xây dựng thuật toán cho bài toán sau: Cho trước dãy các số đã được sắp xếp tăng dần. Với giá trị K cho trước cần tìm phần tử của dãy gốc có giá trị gần với K nhất.
Quảng cáo
Trả lời:
- Để tìm ra các phần tử của dãy gần K nhất chúng ta cần thêm các tính toán phụ tại dòng 10
- Chương trình trên hoàn toàn tương tự thuật toán tìm kiếm tuần tự, chỉ có một vòng lặp tại dòng 9, do đó có thời gian chạy O(n).
- Chúng ta thiết kế thuật toán thứ hai dựa trên tìm kiếm nhị phân. Hàm đệ quy chính sẽ được thiết kế theo dạng valueClosest(A, left, right, K) sẽ tìm phần tử gần K nhất trong khoảng chỉ số từ left đến right. Trước tiên có một số nhận xét cho các trường hợp đặc biệt.
+ Nếu n = 1, dãy A chỉ có một phần tử, khi đó hàm sẽ trả lại phần tử duy nhất của A.
+ Nếu n = 2, dãy A có hai phần tử thì cần so sánh phần tử nào gần K hơn chính
là phần tử cần tìm.
Chương trình cuối cùng có dạng như sau
Hot: 500+ Đề thi thử tốt nghiệp THPT các môn, ĐGNL các trường ĐH... file word có đáp án (2025). Tải ngay
Đã bán 244
Đã bán 211
Đã bán 1k
Đã bán 218
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 2:
Mô tả các bước tính bằng tay phép tính luỹ thừa theo hai chương trình trên. Cách nào nhanh hơn?
Câu 3:
Tìm cách thiết lập thuật toán tính theo phương pháp chia để trị nhưng không sử dụng đệ quy.
Câu 4:
Viết chương trình đo thời gian thực chạy để so sánh hai phương án của bài toán.
Câu 5:
Hãy thiết lập thuật toán và chương trình tính luỹ thừa với a là số bất kì khác 0, n là số nguyên không âm.
Câu 6:
Viết chương trình không đệ quy cho bài toán tìm kiếm nhị phần mở rộng trên.
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 26 có đáp án
Bộ 4 đề thi giữa học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 25 có đáp án
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 2)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 28 có đáp án
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 3)
Hãy Đăng nhập hoặc Tạo tài khoản để gửi bình luận