JavaScript is required
Loading [MathJax]/jax/output/CommonHTML/jax.js

Cho hàm tìm kiếm tuyến tính như sau:

int TimKiem (int M[], int N, int X)

{ int k = 0;

M[N] = X;

while (M[k] != X)

k++;

if (k < N)

return (k);

return (-1);

}

Chọn câu đúng nhất: 

A.

Hàm sẽ trả về 0 nếu không tìm thấy phần tử có giá trị là X

B.

Hàm sẽ trả về 1 nếu tìm thấy phần tử có giá trị là X

C.

Hàm sẽ trả về -1 nếu không tìm thấy phần tử có giá trị là X

D.

Hàm sẽ trả về 1 nếu không tìm thấy phần tử có giá trị là X

Hãy suy nghĩ và trả lời câu hỏi trước khi xem đáp án

Trả lời:

Đáp án đúng: C


Đoạn code cung cấp một hàm tìm kiếm tuyến tính TimKiem trong một mảng M có kích thước N để tìm giá trị X. Hàm này hoạt động bằng cách gán X vào vị trí M[N] (vượt quá kích thước mảng ban đầu) để đảm bảo vòng lặp whi luôn kết thúc. Sau đó, nó duyệt qua mảng từ đầu đến khi tìm thấy X. Nếu X được tìm thấy trước vị trí N, hàm trả về chỉ số k của vị trí đó. Nếu không (tức là X chỉ được tìm thấy tại vị trí M[N] mà ta đã gán), hàm trả về -1. Vậy, nếu không tìm thấy X trong N phần tử đầu tiên của mảng, hàm sẽ trả về -1. Do đó, phương án đúng là "Hàm sẽ trả về -1 nếu không tìm thấy phần tử có giá trị là X".

Đề 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