JavaScript is required

Với thủ tục như sau:

void operation()

{

 int x,a[10],n; 

int x,m,l,h,flag=0;

cout<<"Enter the element to be searched:";

cin>>x;

l=0; h=n-1;

 while(l<=h)

 {

m=(l+h)/2;

 if(x==a[m]) {

lag=1; break;

}

else if(x>a[m])

l=m+1;

else if(x

h=m-1;

}

 if(flag==0)

cout<<"ABSENT";

else

cout<<"PRESENT";

}

Lựa chọn câu đúng nhất để mô tả thủ tục trên

A.

Thủ tục tìm nhị phân phần tử được nhập từ bàn phím, nếu tìm thấy sẽ thông báo ABSENT

B.

Thủ tục tìm nhị phân phần tử được nhập từ bàn phím, nếu không tìm thấy sẽ thông báo ABSENT

C.

Thủ tục tìm tuyến tính phần tử được nhập từ bàn phím, nếu tìm thấy sẽ thông báo ABSENT

D.

Thủ tục tìm tuyến tính phần tử được nhập từ bàn phím, nếu không tìm thấy sẽ thông báo ABSENT

Trả lời:

Đáp án đúng: B


Thủ tục được đưa ra là thuật toán tìm kiếm nhị phân (binary search). Thuật toán này hoạt động bằng cách liên tục chia đôi khoảng tìm kiếm. Nếu phần tử cần tìm (x) được tìm thấy trong mảng (a), thủ tục sẽ thông báo "PRESENT". Nếu sau khi xét hết mảng mà không tìm thấy x, thủ tục sẽ thông báo "ABSENT". Do đó, phương án đúng là "Thủ tục tìm nhị phân phần tử được nhập từ bàn phím, nếu không tìm thấy sẽ thông báo ABSENT".

Đề cương ôn thi với 220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án được chọn lọc và chia sẻ dưới đây, nhằm giúp bạn sinh viên hệ thống kiến thức chuẩn bị cho kì thi sắp diễn ra.


50 câu hỏi 60 phút

Câu hỏi liên quan