JavaScript is required
Danh sách đề

220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án - Đề 4

50 câu hỏi 60 phút

Thẻ ghi nhớ
Luyện tập
Thi thử
Nhấn để lật thẻ
1 / 50

Mối quan hệ giữa cấu trúc dữ liệu và giải thuật có thể minh họa bằng đẳng thức:

A.

Cấu trúc dữ liệu + Giải thuật = Chương trình

B.

Cấu trúc dữ liệu + Chương trình = Giải thuật

C.

Chương trình + Giải thuật = Cấu trúc dữ liệu

D.

Cấu trúc dữ liệu = Chương trình

Đáp án
Đáp án đúng: A

Trong lập trình, chương trình thường được xây dựng dựa trên sự kết hợp giữa cấu trúc dữ liệu (cách tổ chức và lưu trữ dữ liệu) và giải thuật (các bước để giải quyết một vấn đề). Đẳng thức đúng thể hiện mối quan hệ này là: Cấu trúc dữ liệu + Giải thuật = Chương trình.

Danh sách câu hỏi:

Câu 1:

Mối quan hệ giữa cấu trúc dữ liệu và giải thuật có thể minh họa bằng đẳng thức:

Lời giải:
Đáp án đúng: A

Trong lập trình, chương trình thường được xây dựng dựa trên sự kết hợp giữa cấu trúc dữ liệu (cách tổ chức và lưu trữ dữ liệu) và giải thuật (các bước để giải quyết một vấn đề). Đẳng thức đúng thể hiện mối quan hệ này là: Cấu trúc dữ liệu + Giải thuật = Chương trình.

Câu 2:

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: 

Lời giả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 `while` 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âu 3:

Xét thủ tục sau:

int TimKiemNP (int M[], int First, int Last, int X)

{

if (First > Last)

return (-1);

int Mid = (First + Last)/2;

if (X == M[Mid])

return (Mid);

if (X < M[Mid])

return(TimKiemNP (M, First, Mid – 1, X));

else

return(TimKiemNP (M, Mid + 1, Last, X));

}

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

Lời giải:
Đáp án đúng: B
Đề bài cung cấp một đoạn mã C++ thực hiện thuật toán tìm kiếm nhị phân (binary search) một cách đệ quy. Ta cần xác định mô tả chính xác nhất về chức năng của đoạn mã này.

* Phân tích mã:
* Hàm `TimKiemNP` nhận vào một mảng `M`, chỉ số đầu `First`, chỉ số cuối `Last`, và giá trị cần tìm `X`.
* Nếu `First > Last`, hàm trả về -1, nghĩa là không tìm thấy `X` trong mảng.
* Tính chỉ số giữa `Mid = (First + Last) / 2`.
* Nếu `X == M[Mid]`, hàm trả về `Mid` (vị trí tìm thấy).
* Nếu `X < M[Mid]`, hàm gọi đệ quy `TimKiemNP` với nửa đầu của mảng (`First` đến `Mid - 1`).
* Ngược lại (`X > M[Mid]`), hàm gọi đệ quy `TimKiemNP` với nửa sau của mảng (`Mid + 1` đến `Last`).

* Xét các phương án:
* Phương án 1: "Thủ tục hỗ trợ tìm kiếm phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ First đến chỉ số Last". Đúng một phần, nhưng chưa đủ chính xác vì không đề cập đến tính đệ quy.
* Phương án 2: "Thủ tục hỗ trợ tìm kiếm đệ quy phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ First đến chỉ số Last". Đây là mô tả chính xác nhất. Nó chỉ rõ thuật toán tìm kiếm và phương pháp đệ quy được sử dụng, đồng thời xác định rõ phạm vi tìm kiếm (từ `First` đến `Last`).
* Phương án 3: "Thủ tục hỗ trợ tìm kiếm đệ quy phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ Last đến chỉ số First". Sai, vì thứ tự chỉ số tìm kiếm là từ `First` đến `Last`, không phải ngược lại. Thuật toán tìm kiếm nhị phân yêu cầu mảng được sắp xếp và tìm kiếm theo thứ tự tăng dần của chỉ số.
* Phương án 4: "Thủ tục hỗ trợ tìm kiếm không đệ quy phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ Last đến chỉ số First". Sai, vì thuật toán sử dụng đệ quy và thứ tự chỉ số tìm kiếm cũng sai.

Vậy phương án 2 là đáp án chính xác nhất.

Câu 4:

Cấu trúc dữ liệu mảng có các ưu điểm nào?

Lời giải:
Đáp án đúng: D

Câu hỏi này kiểm tra kiến thức về ưu điểm của cấu trúc dữ liệu mảng. Chúng ta cùng phân tích từng đáp án:

  • Đáp án 1: Đúng. Mảng có nhược điểm là việc chèn hoặc xóa phần tử ở giữa mảng đòi hỏi phải dịch chuyển các phần tử khác, gây tốn thời gian.
  • Đáp án 2: Đúng. Ưu điểm lớn nhất của mảng là khả năng truy xuất ngẫu nhiên (random access) thông qua chỉ số, giúp việc tìm kiếm và truy cập phần tử nhanh chóng.
  • Đáp án 3: Sai. Mảng có thể lãng phí bộ nhớ nếu kích thước mảng được khai báo lớn hơn số lượng phần tử thực tế được sử dụng.
  • Đáp án 4: Sai. Vì đáp án c sai.

Vậy, đáp án đúng nhất là đáp án b.

Câu 5:

Định nghĩa cấu trúc dữ liệu của danh sách liên kết đơn được mô tả như sau:

typedef struct Node

{ int Key;

Node * NextNode;

} OneNode;

Trong đó, khai báo Node * NextNode; dùng để mô tả:

Lời giải:
Đáp án đúng: B
Trong cấu trúc danh sách liên kết đơn, mỗi node (phần tử) chứa hai thành phần chính: dữ liệu (Key) và một con trỏ (NextNode). Con trỏ NextNode này có chức năng lưu trữ địa chỉ của node kế tiếp trong danh sách. Nhờ đó, các node được liên kết với nhau một cách tuần tự. Vì vậy, khai báo `Node * NextNode;` dùng để mô tả vùng liên kết quản lý địa chỉ phần tử kế tiếp.

Câu 6:

Với cấu trúc dữ liệu của danh sách liên kết đơn lưu trữ thông tin về phòng máy:

typedef struct PM

{

int maPM; int tongsoMay;

} PHONGMAY;

typedef struct Node { PHONGMAY Data; Node * NextNode;

} OneNode;

typedef OneNode * SLLPointer;

Để quản lý danh sách liên kết đơn bằng phần tử đầu và phần tử cuối, cần định nghĩa kiểu dữ liệu:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 7:

Cho thuật toán sắp xếp Bubble Sort như sau:

void BubbleSort(int M[], int N)

{

for (int I = 0; I < N-1; I++)

for (int J = N-1; J > I; J--)

if (M[J] < M[J-1])

Swap(M[J], M[J-1]);

return;

Chọn câu đúng nhất cho hàm Swap

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 8:

Cho thuật toán sau:

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

{ int k = 0;

while (M[k] != X k < N )

k++;

if (k < N )

return (k);

return (-1);

}

Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 9:

Cấu trúc dữ liệu cho kiểu dữ liệu sinh viên như sau:

typedef struct tagSV{

char MSSV[8];

char Ten[30];

char NgaySinh[11];

float DTB;

}SV;

Khai báo

SV sv1, *sv2;

Lựa chọn các câu đúng nhất để gán giá trị cho mã sinh viên của sv1 và sv2:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 10:

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<a[m]) 

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

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 11:

Chọn định nghĩa đúng nhất về hàng đợi (Queue):

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 12:

Chọn định nghĩa đúng nhất về cây cân bằng tương đối:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 17:

 Thao tác nào dưới đây thực hiện trên ngăn xếp (stack):

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 19:

Trong các mệnh đề sau đây, mệnh đề nào sai:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 21:

Đánh giá độ phức tạp của giải thuật là việc xác định … và … mà giải thuật cần để thực hiện giải một bài toán:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 22:

Kiểu dữ liệu trừu tượng là …

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 26:

Yếu tố nào sau đây để xây dựng nên một chương trình hoàn chỉnh?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 28:

Hãy chọn Câu trả lời đúng nhất về giải thuật?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 29:

Dựa vào yếu tố nào sau đây để đánh giá thời gian thực hiện của giải thuật?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 30:

Hãy cho biết phương án đúng của để sắp xếp theo thứ tự tăng dần của cấp thời gian thực hiện chương trình?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 31:

Hãy cho biết Câu trả lời đúng nhất về đặc điểm của giải thuật đệ quy?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 32:

Hãy cho biết ý tưởng nào sau đây nói về phương pháp sắp xếp nhanh (Quick sort)?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 33:

Phương pháp nào sau đây chính là phương pháp sắp xếp nhanh (Quick sort)?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 35:

Đặc điểm của giải thuật đệ quy:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 36:

Danh sách tuyến tính là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 40:

Tính chất nào sau đây là tính chất của cây nhị phân tìm kiếm:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 41:

Đối với biến con trỏ hàm Add (x): Pointer có chức năng gì?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 42:

Bước tổng quát của Phương pháp sắp xếp kiểu nổi bọt (bubble sort)?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 45:

Thời gian chạy của một chuỗi tuần tự áp dụng quy tắc:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 49:

Tư tưởng của giải thuật tìm kiếm nhị phân:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 50:

Tư tưởng của giải thuật tìm kiếm tuần tự

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP