

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Nhận xét: Mảng A đã được sắp xếp không giảm
Tìm kiếm giá trị 8 trong dãy A = [1, 8, 10, 15, 26, 37, 43, 51, 79]
Bước 1: Xác định phạm vi tìm kiếm ban đầu
- Left (L) = 0 (phần tử đầu tiên)
- Right (R) = 8 (phần tử cuối cùng)
- Mid = (L + R) // 2 = (0 + 8) // 2 = 4
- A[4] = 26
So sánh 8 với 26:
- 8 < 26 → cần tìm trong nửa đầu (từ L đến Mid - 1)
Bước 2: Cập nhật phạm vi
- L = 0 (giữ nguyên)
- R = Mid - 1 = 3
- Mid = (0 + 3) // 2 = 1
- A[1] = 8
So sánh 8 với 8:
- 8 == 8 → Tìm thấy giá trị 8 tại vị trí 1.
Kết quả: Giá trị 8 được tìm thấy sau 2 bước tại vị trí index 1.
---
Tìm kiếm giá trị 79 trong dãy A = [1, 8, 10, 15, 26, 37, 43, 51, 79]
Bước 1: Xác định phạm vi tìm kiếm ban đầu
- Left (L) = 0
- Right (R) = 8
- Mid = (0 + 8) // 2 = 4
- A[4] = 26
So sánh 79 với 26:
- 79 > 26 → cần tìm trong nửa sau (từ Mid + 1 đến R)
Bước 2: Cập nhật phạm vi
- L = Mid + 1 = 5
- R = 8 (giữ nguyên)
- Mid = (5 + 8) // 2 = 6
- A[6] = 43
So sánh 79 với 43:
- 79 > 43 → tiếp tục tìm trong nửa sau
Bước 3: Cập nhật phạm vi
- L = Mid + 1 = 7
- R = 8 (giữ nguyên)
- Mid = (7 + 8) // 2 = 7
- A[7] = 51
So sánh 79 với 51:
- 79 > 51 → tiếp tục tìm trong nửa sau
Bước 4: Cập nhật phạm vi
- L = Mid + 1 = 8
- R = 8 (giữ nguyên)
- Mid = (8 + 8) // 2 = 8
- A[8] = 79
So sánh 79 với 79:
- 79 == 79 → Tìm thấy giá trị 79 tại vị trí 8.
Kết quả: Giá trị 79 được tìm thấy sau 4 bước tại vị trí index 8.
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin