

Cho Dãy số: 1,4,3,5,2,9,12
Em hãy mô tả các bước tìm kiếm số 2 trong dãy số sau bằng thuật toán tìm kiếm tuần tự và tìm kiếm nhị phân. So sánh số bước thực hiện của 2 thuât toán.
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
`***` thuật toán tìm kiếm tuần tự
b1 lật thẻ đầu tiên và so sánh
thẻ có số 1,1<2
b2 tiếp tục
thẻ có số 4,4>2
b3 thẻ có số 3,3>2
b4 thẻ có số 5,5>2
b5 thẻ có số 2,2=2
thông báo: số 2 tìm được ở thẻ số 5
`***` thuật toán tìm kiếm nhị phân
sắp xếp: 1 2 3 4 5 9 12
b1 lật thẻ giữa thẻ có số 4,4>2 bỏ dãy sau
b2 thẻ có số 2,2=2
thông báo: số 2 tìm được ở thẻ số 2
`color{olive}{loc}`
Hãy giúp mọi người biết câu trả lời này thế nào?
`**` Tìm kiếm tuần tự (Linear Search)
`-` Ý tưởng: Duyệt từng phần tử từ đầu đến cuối dãy, so sánh từng phần tử với giá trị cần tìm (2).
`-` Các bước:
`+` Bước `1:` So sánh `1` với `2` `->` không bằng
`+` Bước `2:` So sánh `4` với `2` `->` không bằng
`+` Bước `3:` So sánh `3` với `2` `->` không bằng
`+` Bước `4:` So sánh `5` với `2` `->` không bằng
`+` Bước `5:` So sánh `2` với `2` `->` bằng `->` dừng lại
`=>` Tổng số bước so sánh: `5` bước
`**` Tìm kiếm nhị phân (Binary Search)
`-` Sắp xếp: `[1, 4, 3, 5, 2, 9, 12]->` `[1, 2, 3, 4, 5, 9, 12]`
`-` Các bước tìm kiếm nhị phân tìm số `2: `
`+` Bước `1:` Xét phần tử giữa: vị trí `3` (0-based), giá trị là `4 `
`+` So sánh `4` với `2 -> 2 < 4 ->` tìm bên trái mảng
`+` Bước 2: Xét phần tử giữa nửa trái (chỉ còn `[1, 2, 3]`), vị trí `1,` giá trị là `2.` So sánh `2` với `2 ->` bằng `->` dừng lại
`=>` Tổng số bước so sánh: `2` bước
`**` So sánh:
| Thuật toán | Số bước tìm kiếm (so sánh) | Yêu cầu dữ liệu | Ưu điểm |
| -------------| -------------------------- ---| ----------------- | --------------------------------- |
| Tìm kiếm tuần tự | 5 | Không cần dãy sắp xếp | Đơn giản, dùng được mọi lúc |
| Tìm kiếm nhị phân | 2 | Cần dãy phải sắp xếp trước | Nhanh hơn nhiều với dãy lớn |
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin