Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Vì tìm kiếm nhị phân cần danh sách đã sắp xếp để biết chắc phần tử cần tìm nằm ở bên trái hay bên phải. Nếu không sắp xếp, ta không thể loại bỏ nửa danh sách một cách chính xác
Sự khác biệt cơ bản nhất là thuật toán tìm kiếm nhị phân yêu cầu dữ liệu phải được sắp xếp, trong khi thuật toán tìm kiếm tuần tự không có yêu cầu này. Ngoài ra, cách thức tìm kiếm của thuật toán nhị phân là chia để trị, còn thuật toán tuần tự là duyệt lần lượt từng phần tử
Tìm kiếm tuần tự duyệt từng phần tử một, không cần sắp xếp. Tìm kiếm nhị phân chia đôi danh sách mỗi bước, cần sắp xếp trước.
cần 6 bước để tìm thấy số 10 trong danh sách vừa sắp sếp
ok
Bước 1: Chọn phần tử giữa danh sách là Hà. Bước 2: So sánh “An” với “Hà”, vì An đứng trước Hà nên tìm ở nửa đầu danh sách. Bước 3: Phần giữa nửa đầu là Đạt. Vì An đứng trước Đạt nên tìm tiếp nửa đầu. Bước 4: Phần giữa còn lại là Bắc. Vì An đứng trước Bắc nên tìm tiếp. Bước 5: Còn lại An → đã tìm thấy tên bạn An.
E lm ra giấy ạ
1. Chuẩn bị danh sách đã cho đã được sắp xếp theo thứ tự bảng chữ cái:
1 An
2Bắc
3Đạt
4Cường
5Dũng
6Hà
7Lan
8Nga
9Mai
10Thắng
11Yến
2. Các bước thực hiện
Bước 1: Tìm vị trí giữaPhạm vi tìm kiếm ban đầu: từ 1 đến 11.Vị trí giữa là: \((1 + 11) / 2 = 6\).Tên tại vị trí thứ 6 là "Hà".So sánh: Vì "An" đứng trước "Hà" trong bảng chữ cái, ta thu hẹp phạm vi tìm kiếm sang nửa bên trái (từ vị trí 1 đến 5).
Bước 2: Tiếp tục chia đôi phạm vi mớiPhạm vi hiện tại: 1 đến 5.Vị trí giữa là: \((1 + 5) / 2 = 3\).Tên tại vị trí thứ 3 là "Đạt".So sánh: Vì "An" đứng trước "Đạt", ta tiếp tục thu hẹp phạm vi sang bên trái (từ vị trí 1 đến 2).
Bước 3: Tiếp tục chia đôiPhạm vi hiện tại: 1 đến 2.Vị trí giữa là: \((1 + 2) / 2 = 1.5\) (lấy phần nguyên là 1).Tên tại vị trí thứ 1 là "An".Kết quả: Đã tìm thấy tên "An" tại vị trí số 1.
Sau 3 bước so sánh thuật toán tìm thấy An ở ngay vị trí đầu tiên của danh sách