

Mô phỏng thuật toán tìm kiếm nhị phân để tìm số 9 trong danh sách [ 3,5,6,7,8,9,11,12,15 ] ?
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
- Bước 1: Xác định vị trí chính giữa trong danh sách (8), chia danh sách ra làm 2 nửa, nửa trước (3,5,6,7) và nửa sau (9,11,12,15)
- Bước 2: Xét vị trí chính giữa của danh sách, 8 < 9
→ Giá trị cần tìm lớn hơn giá trị chính giữa danh
→ Chỉ còn nửa sau của danh sách (9,11,12,15)
- Bước 3: Xác định vị trí chính giữa trong nửa sau danh sách, chia danh sách ra làm 2 vị trí, vị trí trước (9,11) và vị trí sau (12,15) (ở đây 11 và 12 đều có thể coi là giá trị ở vị trí chính giữa hoặc vị trước/sau)
- Bước 4: Xét vị trí chính giữa của danh sách, 11 > 9, 12> 9
→ Giá trị cần tìm đều nhỏ hơn giá trị chính giữa trong nửa sau danh sách
→ Chỉ còn vị trí trước của nửa sau danh sách
- Bước 5: Xét vị trí trước của nửa sau danh sách, 9 = 9
→ Giá trị cần tìm bằng giá trị của vị trí trước cửa nửa sau danh sách
→ Đã tìm thấy giá trị cần tìm
Thuật toán kết thúc
Hãy giúp mọi người biết câu trả lời này thế nào?
\begin{array}{|c|c|c|c|c|}\hline
\textbf{Bước} & \textbf{Đầu} & \textbf{Cuối} & \textbf{Giữa} & \textbf{Nhận xét} \\\hline
1 & 0 & 8 & 4 & \text{a[4] = 8 < 9 → tìm bên phải} \\\hline
2 & 5 & 8 & 6 & \text{a[6] = 11 > 9 → tìm bên trái} \\\hline
3 & 5 & 5 & 5 & \text{a[5] = 9 → tìm thấy} \\\hline
\end{array}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin