K
Khách

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.

17 giờ trước (21:09)

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ử

17 giờ trước (21:11)

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.

16 giờ trước (22:07)

là một thuật toán đơn giản, so sánh từng cặp phần tử liền kề và hoán đổi chúng nếu chúng sai thứ tự, cho đến khi toàn bộ dãy được sắp xếp.

5 giờ trước (9:11)

Thuật toán tìm kiếm nhị phân được thực hiện trên một danh sách đã được (1) sắp xếp. Bắt đầu từ vị trí ở (2) giữa của danh sách. Tại mỗi bước, ta so sánh giá trị cần tìm với giá trị ở vị trí đó. Nếu giá trị cần tìm lớn hơn, ta tìm ở (3) nửa phải của danh sách. Nếu nhỏ hơn, ta tìm ở (4) nửa trái của danh sách.

1 tháng 1 2024

Chọn \(A\).

13 tháng 12 2023

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll a[]={10,2,5,12,20,6,8,15,18}; //mảng đã cho
    ll n=sizeof(a)/sizeof(a[0]); //độ dài mảng
    sort(a,a+n); //sắp xếp mảng
    //Thuật toán tìm kiếm nhị phân
    ll l=0, r=n-1;
    while(l<=r) {
        ll mid=(l+r)/2; //Tìm phần tử giữa left và right
        if(a[mid]<15) l=mid+1; //Vì từ đoạn [0,mid] thì phần tử nhỏ hơn 15 nên ta duyệt từ khoảng (mid,r]
        else r=mid-1; //vì thấy nên rút r để thu hẹp phạm vi
    }
    cout << l+1; //in ra kq (vì bắt đầu từ 0 đến n-1 nên phải tăng thêm để ra vị trí đúng)
}

(Bạn có thể dựa vào code mình để rút ra các bước)

Chúc bạn học tốt!