khoahoc.vietjack.com
Xin chào! Vào học

Câu hỏi:

13/07/2024 1,822 Lưu

Cho 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.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Để 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.

Cho 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ố  (ảnh 1)

Đang tải chế độ Học...

Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay

ĐẶC QUYỀN VIP

Đăng ký VIP để học và luyện thi không giới hạn

Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.

  • Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
  • Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem hàng ngàn bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
  • Đăng ký ngay

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

Đáp án đúng là: A. Thuật toán tìm kiếm tuần tự không cần sắp xếp trước dữ liệu đầu vào. Tuy nhiên, nhược điểm của thuật toán tìm kiếm tuần tự là tốc độ tìm kiếm chậm trên tập dữ liệu có kích thước lớn. Với tập dữ liệu có kích thước lớn đã được sắp xếp, thuật toán tìm kiếm nhị phân sẽ có tốc độ tìm kiếm nhanh hơn.

Lời giải

Đáp án đúng là: B. Thuật toán tìm kiếm nhị phân được thực hiện như sau:

Bước 1: Kiểm tra số chính giữa là số “12”, lớn hơn 10 nên số cần tìm nằm ở nửa trái của dãy. Dãy cần tìm kiếm tiếp là [1, 3, 10].

Bước 2: Kiểm tra số chính giữa của dãy thu gọn là số “3”, nhỏ hơn 10 nên số cần tìm nằm ở nửa phải của dãy. Dãy cần tìm kiếm tiếp là [10].

Bước 3: Kiểm tra số chính giữa của dãy thu gọn là số “10”, bằng 10. Kết luận tìm ra số cần tìm và kết thúc chương trình.

Như vậy, có 3 phép so sánh cần thực hiện.

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP