

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đây là câu trả lời đã được xác thực
Câu trả lời được xác thực chứa thông tin chính xác và đáng tin cậy, được xác nhận hoặc trả lời bởi các chuyên gia, giáo viên hàng đầu của chúng tôi.
Thuật toán tìm kiếm tuần tự và thuật toán tìm kiếm nhị phân là hai thuật toán tìm kiếm rất phổ biến. Dưới đây là cách phân biệt hai thuật toán này:
1. Thuật toán tìm kiếm tuần tự (Sequential Search):
- Được sử dụng để tìm kiếm một phần tử trong một mảng theo thứ tự từ đầu đến cuối.
- Thực hiện bằng cách so sánh giá trị cần tìm với từng phần tử trong mảng đến khi tìm thấy giá trị hoặc hết mảng.
- Độ phức tạp thời gian là O(N) với N là số lượng phần tử trong mảng.
2. Thuật toán tìm kiếm nhị phân (Binary Search):
- Được sử dụng để tìm kiếm một phần tử trong một mảng dãy đã được sắp xếp.
- Thực hiện bằng cách lấy phần tử ở giữa mảng làm điểm so sánh, nếu giá trị cần tìm nhỏ hơn giá trị điểm giữa thì tìm kiếm đệ quy trong nửa đầu tiên của dãy, ngược lại tìm kiếm đệ quy trong nửa sau của dãy.
- Độ phức tạp thời gian là O(logN) với N là số lượng phần tử trong mảng.
=> Tóm lại, hai thuật toán này có điểm khác biệt về cách thực hiện và thời gian tìm kiếm, thuật toán tìm kiếm tuần tự thích hợp cho các mảng không được sắp xếp và số lượng phần tử nhỏ, trong khi đó thuật toán tìm kiếm nhị phân thích hợp cho các mảng đã được sắp xếp và số lượng phần tử lớn.
$\textit{#pthao}$
Hãy giúp mọi người biết câu trả lời này thế nào?

VD cho mảng 7 phần tử = 3,5,7,9,2,1,4
Muốn tìm giá trị 2
Tìm kiếm tuần tự
- Duyệt từ vị trí a[0] (đầu mảng) cho đến khi tìm được giá trị số 2 thì dừng lại
- Tức là duyệt từ số 3 cho đến số 2 thì dừng
Tìm kiếm nhị phân
- Chỉ sử dụng được trên mảng đã sắp xếp. Do đó xếp lại mảng trên thành: 1,2,3,4,5,7,9
- So sánh giá trị cần tìm với giá trị nằm giữa mảng. Nếu giá trị cần tìm lớn hơn giá trị giữa, thuật toán sẽ tìm các phần tử bên phải mảng, ngược lại thì tìm bên trái
- VD: 2 nhỏ hơn 4 nên thuật toán sẽ tìm kiếm phần bên trái mảng (gồm các số 1,2,3), khi đó số 2 sẽ nằm trong khoảng này nên ta dễ dàng tìm được
Thông tin thêm:
- Đối với một mảng lớn (chứa rất nhiều phần tử) thì tìm kiếm nhị phân sẽ tối ưu hơn. Còn với một mảng nhỏ thì dùng cả 2 cái đều ổn thỏa.
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin