Câu hỏi:
13/07/2024 862Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần, trong đó một số phần tử có thể xuất hiện nhiều lần như sau:
A= [1, 1, 3, 3, 3, 10, 10, 12, 14, 14, 14, 15, 16].
Hãy chỉnh sửa thuật toán tìm kiếm nhị phân để tìm kiếm một số và đưa ra vị trí mà số đó xuất hiện lần đầu tiên.
Ví dụ: Nếu số cần tìm là số 3 thì kết luận số 3 có trong dãy, vị trí xuất hiện lần đầu tiên có chỉ số là 2 (phần tử đầu tiên trong dãy có chỉ số là 0). Nếu số cần tìm là số 5 thì kết luận không tồn tại số 5 trong dãy.
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
Để giải bài toán này, trước hết chúng ta sử dụng thuật toán tìm kiếm nhị phân để tìm ra vị trí mà phần tử cần tìm xuất hiện trong dãy (vị trí này có thể là vị trí đầu tiên, thứ hai hoặc vị trí cuối cùng mà phần tử cần tìm xuất hiện). Sau đó, chúng ta so sánh phần tử vừa tìm được với các phần tử ngay trước nó để tìm ra vị trí đầu tiên phần tử cần tìm xuất hiện.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Giả sử cần sử dụng thuật toán tìm kiếm nhị phân để tìm ra số “10” trong dãy số sau:
A= [1, 3, 10, 12, 14, 15, 16].
Hỏi có bao nhiêu phép so sánh cần được thực hiện?
A. 2.
B. 3.
C. 4.
D. Thuật toán không tìm thấy số cần tìm.
Câu 2:
Trong các đặc điểm sau đây, đâu là ưu điểm của thuật toán tìm kiếm tuần tự?
A. Không cần sắp xếp trước dữ liệu đầu vào.
B. Có thể hoạt động hiệu quả trên mảng dữ liệu đã sắp xếp có kích thước lớn.
C. Chỉ có thể hoạt động tốt trên mảng dữ liệu đã sắp xếp.
D. Tốc độ tìm kiếm chậm trên mảng dữ liệu có kích thước lớn.
Câu 3:
Viết chương trình tìm số lớn nhất trong dãy số sau:
A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Câu 4:
Giả sử cần sử dụng thuật toán tìm kiếm tuần tự để tìm ra số "10" trong dãy số sau:
A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Hỏi có bao nhiêu phép so sánh cần được thực hiện?
A. 4.
B. 5.
C. 6.
D. 7.
Câu 5:
Các dữ liệu trong tệp sẽ bị ghi đè trong trường hợp nào sau đây?
A. Tệp được mở với tham số “w”.
B. Tệp được mở với tham số “a”.
C. Kết thúc chương trình mà không có lệnh đóng tệp.
D. Cứ có lệnh mở tệp là các dữ liệu trong tệp có thể bị ghi đè.
Câu 6:
Kiểu dữ liệu nào sau đây có thể áp dụng thuật toán tìm kiếm nhị phân?
A. Dữ liệu đã được sắp xếp.
B. Dữ liệu chưa được sắp xếp.
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 11: Cơ sở dữ liệu có đáp án
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 10: Lưu trữ dữ liệu và khai thác thông tin phục vụ quản lí có đáp án
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 12: Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu có đáp án
Đề thi cuối học kì 1 Tin học 11 Kết nối trí thức có đáp án (Đề 3)
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 13: Cơ sở dữ liệu quan hệ có đáp án
Đề thi cuối học kì 1 Tin học 11 Kết nối trí thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 14: SQL – Ngôn ngữ truy vấn có cấu trúc có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Tin học ứng dụng Bài 1: Bài toán quản lý và cơ sở dữ liệu có đáp án
về câu hỏi!