Câu hỏi:

12/07/2024 641

Trong thuật toán tìm kiếm nhị phân trên, phần cơ sở là các lệnh nào?

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Phần cơ sở là việc kiểm tra điều kiện kết thúc đệ quy, nếu left > right thì trả về giá trị -1. Nếu không, tiếp tục tìm kiếm bằng cách tính giá trị mid ở giữa low và high, kiểm tra nó có bằng x hay không, nếu có thì trả về mid, nếu không thì tiếp tục tìm kiếm trong phần bên trái nếu x nhỏ hơn giá trị ở vị trí mid, hoặc phía bên phải nếu x lớn hơn giá trị ở vị trí mid. Quá trình đệ quy này sẽ tiếp tục cho đến khi tìm thấy giá trị x hoặc không tìm thấy và trả về -1.

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

Lời giải

Khi left = right, nghĩa là chỉ còn một phần tử để xét. Ta so sánh giá trị của phần tử đó với giá trị cần tìm x.

Nếu phần tử đó bằng x thì ta trả về vị trí của phần tử đó (left hoặc right).

Nếu phần tử đó khác x thì ta trả về giá trị -1 để thể hiện không tìm thấy phần tử x trong dãy.

Lời giải

Thuật toán tìm số nguyên lớn nhất không vượt quá căn bậc hai của n có thể được thiết kế bằng kĩ thuật chia để trị theo các bước sau:

1. Nếu n bằng 0 hoặc 1, trả về n.

2. Đặt a bằng căn bậc hai của n.

3. Nếu a bằng n, trả về a.

4. Ngược lại, tìm số nguyên lớn nhất không vượt quá căn bậc hai của n/2 và số nguyên lớn nhất không vượt quá căn bậc hai của n - 1. So sánh hai số này và trả về số lớn hơn.

Để tính giá trị (số nguyên) gần đúng căn bậc hai của số tự nhiên n cho trước, người (ảnh 2)