

Thuật toán tìm kiếm nhị phân cần bao nhiêu bước để tìm thấy Mai" trong danh sách ["Hoa, Lan, "Ly, Mai, Phong, Vi]? Ghi rõ các bước nhé
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đáp án: 3
Vì danh sách đã được sắp xếp theo thứ tư tăng dần nên chỉ cần so sánh các phần tử trong danh sách.
$\\$
Thuật toán:
$\\$
Bước 1: Xét vị trí ở giữa của danh sách, là vị trí số 3, so sánh "Ly" và "Mai".Vì ''L'' đứng trước ''M'' trong bảng chữ cái nên ta bỏ đi nửa đầu danh sách.
$\\$
Bước 2: Xét vị trí ở giữa của nửa sau danh sách, là vị trí số 5, so sánh "Phong" và "Mai". Vì "P" đứng sau ''M'' trong bảng chữ cái nên ta bỏ đi nửa sau danh sách.
$\\$
Bước 3: Xét vị trí còn lại của danh sách, so sánh "Mai" và "Mai". Vì "Mai" = "Mai".
$\\$
Vậy đã tìm thấy "Mai" ở vị trí thứ 3 của danh sách. Kết thúc thuật toán.
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
\text{Bước} & \text{giữa} & \text{Giá trị ở giữa} & \text{So sánh } & \text{thứ đầu và cuối mới} \\
\hline
1 & 2 & \text{Ly} & \text{"Mai" > "Ly" → loại bỏ nửa trái} & đầu=3, cuối=5 \\
\hline
2 & 4 & \text{Phong} & \text{"Mai" < "Phong" → loại bỏ nửa phải} & đầu=3, cuối=3 \\
\hline
3 & 3 & \text{Mai} & \text{"Mai" = "Mai" → tìm thấy} & đầu=3, cuối=3 \\
\hline
\end{array}
\]
$\text{Số bước để tìm thấy "Mai": 3 bước}$
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin