Câu hỏi:

12/07/2024 971 Lưu

Mô tả các bước thực hiện thuật toán tìm kiếm nhị phân khi left = right

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

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.

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

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)

Lời giải

Em sẽ thực hiện các bước sau:

1. Nhập dãy số đơn điệu tăng từ bàn phím, các số cách nhau bởi dấu cách.

2. Nhập số K cần tìm kiếm từ bàn phím.

3. Thiết lập biến low là 0 và biến high là độ dài của dãy trừ 1.

4. Trong khi low <= high, thực hiện các bước sau:

- Thiết lập biến mid là phần tử ở giữa của dãy từ low đến high.

- Nếu arr[mid] == k, trả về mid.

- Nếu arr[mid] > k, thực hiện tìm kiếm trên nửa đầu của dãy bằng cách đặt high bằng mid-- Nếu arr[mid] < k, thực hiện tìm kiếm trên nửa sau của dãy bằng cách đặt low bằng mid+1.

5. Nếu không tìm thấy k trong dãy, trả về -1.

Viết chương trình hoàn chỉnh nhập một dãy số đơn điệu tăng từ bàn phím, các số cách nhau (ảnh 1)

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để 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